blob: 8e79f6aa09b1c788aa8378d790b4e7aff39fdfe4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS2_MANAGE_PROFILE_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS2_MANAGE_PROFILE_HANDLER_H_
#pragma once
#include "chrome/browser/ui/webui/options2/options_ui2.h"
// Chrome personal stuff profiles manage overlay UI handler.
class ManageProfileHandler : public OptionsPage2UIHandler {
public:
ManageProfileHandler();
virtual ~ManageProfileHandler();
// OptionsPage2UIHandler:
virtual void GetLocalizedValues(
base::DictionaryValue* localized_strings) OVERRIDE;
virtual void Initialize() OVERRIDE;
// WebUIMessageHandler:
virtual void RegisterMessages() OVERRIDE;
// content::NotificationObserver:
virtual void Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
private:
// Callback for the "requestDefaultProfileIcons" message.
// Sends the array of default profile icon URLs to WebUI.
// |args| is of the form: [ {string} iconURL ]
void RequestDefaultProfileIcons(const base::ListValue* args);
// Sends an object to WebUI of the form:
// profileNames = {
// "Profile Name 1": true,
// "Profile Name 2": true,
// ...
// };
// This is used to detect duplicate profile names.
void SendProfileNames();
// Callback for the "setProfileNameAndIcon" message. Sets the name and icon
// of a given profile.
// |args| is of the form: [
// /*string*/ profileFilePath,
// /*string*/ newProfileName,
// /*string*/ newProfileIconURL
// ]
void SetProfileNameAndIcon(const base::ListValue* args);
// Callback for the "deleteProfile" message. Deletes the given profile.
// |args| is of the form: [ {string} profileFilePath ]
void DeleteProfile(const base::ListValue* args);
// Callback for the "requestProfileInfo" message.
// Given |args| of the form: [ {number} profileIndex ]
// Sends an object to WebUI of the form:
// profileInfo = {
// name: "Profile Name",
// iconURL: "chrome://path/to/icon/image",
// filePath: "/path/to/profile/data/on/disk"
// isCurrentProfile: false,
// };
void RequestProfileInfo(const base::ListValue* args);
// Callback for the 'profileIconSelectionChanged' message. Used to update the
// name in the manager profile dialog based on the selected icon.
void ProfileIconSelectionChanged(const base::ListValue* args);
// Send all profile icons to the overlay.
void SendProfileIcons();
// URL for the current profile's GAIA picture.
std::string gaia_picture_url_;
DISALLOW_COPY_AND_ASSIGN(ManageProfileHandler);
};
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_MANAGE_PROFILE_HANDLER_H_
|