blob: c3e535c464c6a523b94386ec277aa15bb67685ee (
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
|
// 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_OPTIONS_MANAGE_PROFILE_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_MANAGE_PROFILE_HANDLER_H_
#pragma once
#include "chrome/browser/ui/webui/options/options_ui.h"
// Chrome personal stuff profiles manage overlay UI handler.
class ManageProfileHandler : public OptionsPageUIHandler {
public:
ManageProfileHandler();
virtual ~ManageProfileHandler();
// OptionsPageUIHandler:
virtual void GetLocalizedValues(base::DictionaryValue* localized_strings);
virtual void Initialize();
// WebUIMessageHandler:
virtual void RegisterMessages();
// NotificationObserver:
virtual void Observe(int type,
const NotificationSource& source,
const NotificationDetails& details);
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);
DISALLOW_COPY_AND_ASSIGN(ManageProfileHandler);
};
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_MANAGE_PROFILE_HANDLER_H_
|