Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Side by Side Diff: chrome/browser/ui/webui/options2/content_settings_handler2.h

Issue 10536103: Revert 141482 - Pepper Flash settings integration - camera and microphone. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Deleted: svn:mergeinfo
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_
6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_ 6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include "chrome/browser/plugin_data_remover_helper.h"
10 #include <string>
11
12 #include "base/memory/scoped_ptr.h"
13 #include "chrome/browser/pepper_flash_settings_manager.h"
14 #include "chrome/browser/prefs/pref_change_registrar.h" 10 #include "chrome/browser/prefs/pref_change_registrar.h"
15 #include "chrome/browser/ui/webui/options2/options_ui2.h" 11 #include "chrome/browser/ui/webui/options2/options_ui2.h"
16 #include "chrome/common/content_settings_types.h" 12 #include "chrome/common/content_settings_types.h"
17 #include "chrome/common/content_settings.h" 13 #include "chrome/common/content_settings.h"
18 #include "content/public/browser/notification_observer.h" 14 #include "content/public/browser/notification_observer.h"
19 #include "content/public/browser/notification_registrar.h" 15 #include "content/public/browser/notification_registrar.h"
20 16
21 class HostContentSettingsMap; 17 class HostContentSettingsMap;
22 class ProtocolHandlerRegistry; 18 class ProtocolHandlerRegistry;
23 19
24 namespace options2 { 20 namespace options2 {
25 21
26 class ContentSettingsHandler : public OptionsPageUIHandler, 22 class ContentSettingsHandler : public OptionsPageUIHandler {
27 public PepperFlashSettingsManager::Client {
28 public: 23 public:
29 ContentSettingsHandler(); 24 ContentSettingsHandler();
30 virtual ~ContentSettingsHandler(); 25 virtual ~ContentSettingsHandler();
31 26
32 // OptionsPageUIHandler implementation. 27 // OptionsPageUIHandler implementation.
33 virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE; 28 virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE;
34 virtual void InitializeHandler() OVERRIDE; 29 virtual void InitializeHandler() OVERRIDE;
35 virtual void InitializePage() OVERRIDE; 30 virtual void InitializePage() OVERRIDE;
36 virtual void RegisterMessages() OVERRIDE; 31 virtual void RegisterMessages() OVERRIDE;
37 32
38 // content::NotificationObserver implementation. 33 // content::NotificationObserver implementation.
39 virtual void Observe(int type, 34 virtual void Observe(int type,
40 const content::NotificationSource& source, 35 const content::NotificationSource& source,
41 const content::NotificationDetails& details) OVERRIDE; 36 const content::NotificationDetails& details) OVERRIDE;
42 37
43 // PepperFlashSettingsManager::Client implementation.
44 virtual void OnGetPermissionSettingsCompleted(
45 uint32 request_id,
46 bool success,
47 PP_Flash_BrowserOperations_Permission default_permission,
48 const ppapi::FlashSiteSettings& sites) OVERRIDE;
49
50 // Gets a string identifier for the group name, for use in HTML. 38 // Gets a string identifier for the group name, for use in HTML.
51 static std::string ContentSettingsTypeToGroupName(ContentSettingsType type); 39 static std::string ContentSettingsTypeToGroupName(ContentSettingsType type);
52 40
53 private: 41 private:
54 // Extends ContentSettingsType with some other types that will be also
55 // displayed in the content settings UI.
56 class ExContentSettingsType;
57 struct ExContentSettingsTypeNameEntry;
58
59 struct CachedPepperFlashSettings {
60 CachedPepperFlashSettings();
61 ~CachedPepperFlashSettings();
62
63 PP_Flash_BrowserOperations_Permission default_permission;
64
65 typedef std::map<std::string, PP_Flash_BrowserOperations_Permission>
66 SiteMap;
67 SiteMap sites;
68
69 bool initialized;
70 };
71
72 // Functions that call into the page ----------------------------------------- 42 // Functions that call into the page -----------------------------------------
73 43
74 // Updates the page with the default settings (allow, ask, block, etc.) 44 // Updates the page with the default settings (allow, ask, block, etc.)
75 void UpdateSettingDefaultFromModel(const ExContentSettingsType& type); 45 void UpdateSettingDefaultFromModel(ContentSettingsType type);
76 46
77 // Clobbers and rebuilds the specific content setting type exceptions table. 47 // Clobbers and rebuilds the specific content setting type exceptions table.
78 void UpdateExceptionsViewFromModel(const ExContentSettingsType& type); 48 void UpdateExceptionsViewFromModel(ContentSettingsType type);
79 // Clobbers and rebuilds the specific content setting type exceptions 49 // Clobbers and rebuilds the specific content setting type exceptions
80 // OTR table. 50 // OTR table.
81 void UpdateOTRExceptionsViewFromModel( 51 void UpdateOTRExceptionsViewFromModel(ContentSettingsType type);
82 const ExContentSettingsType& type);
83 // Clobbers and rebuilds all the exceptions tables in the page (both normal 52 // Clobbers and rebuilds all the exceptions tables in the page (both normal
84 // and OTR tables). 53 // and OTR tables).
85 void UpdateAllExceptionsViewsFromModel(); 54 void UpdateAllExceptionsViewsFromModel();
86 // As above, but only OTR tables. 55 // As above, but only OTR tables.
87 void UpdateAllOTRExceptionsViewsFromModel(); 56 void UpdateAllOTRExceptionsViewsFromModel();
88 // Clobbers and rebuilds just the geolocation exception table. 57 // Clobbers and rebuilds just the geolocation exception table.
89 void UpdateGeolocationExceptionsView(); 58 void UpdateGeolocationExceptionsView();
90 // Clobbers and rebuilds just the desktop notification exception table. 59 // Clobbers and rebuilds just the desktop notification exception table.
91 void UpdateNotificationExceptionsView(); 60 void UpdateNotificationExceptionsView();
92 // Clobbers and rebuilds just the Pepper Flash camera and microphone exception
93 // table.
94 void UpdateFlashCameraMicExceptionsView();
95 // Clobbers and rebuilds an exception table that's managed by the host content 61 // Clobbers and rebuilds an exception table that's managed by the host content
96 // settings map. 62 // settings map.
97 void UpdateExceptionsViewFromHostContentSettingsMap(ContentSettingsType type); 63 void UpdateExceptionsViewFromHostContentSettingsMap(ContentSettingsType type);
98 // As above, but acts on the OTR table for the content setting type. 64 // As above, but acts on the OTR table for the content setting type.
99 void UpdateExceptionsViewFromOTRHostContentSettingsMap( 65 void UpdateExceptionsViewFromOTRHostContentSettingsMap(
100 ContentSettingsType type); 66 ContentSettingsType type);
101 // Updates the radio buttons for enabling / disabling handlers. 67 // Updates the radio buttons for enabling / disabling handlers.
102 void UpdateHandlersEnabledRadios(); 68 void UpdateHandlersEnabledRadios();
103 69
104 // Callbacks used by the page ------------------------------------------------ 70 // Callbacks used by the page ------------------------------------------------
(...skipping 24 matching lines...) Expand all
129 95
130 // Gets the HostContentSettingsMap for the normal profile. 96 // Gets the HostContentSettingsMap for the normal profile.
131 HostContentSettingsMap* GetContentSettingsMap(); 97 HostContentSettingsMap* GetContentSettingsMap();
132 98
133 // Gets the HostContentSettingsMap for the incognito profile, or NULL if there 99 // Gets the HostContentSettingsMap for the incognito profile, or NULL if there
134 // is no active incognito session. 100 // is no active incognito session.
135 HostContentSettingsMap* GetOTRContentSettingsMap(); 101 HostContentSettingsMap* GetOTRContentSettingsMap();
136 102
137 // Gets the default setting in string form. If |provider_id| is not NULL, the 103 // Gets the default setting in string form. If |provider_id| is not NULL, the
138 // id of the provider which provided the default setting is assigned to it. 104 // id of the provider which provided the default setting is assigned to it.
139 std::string GetSettingDefaultFromModel(const ExContentSettingsType& type, 105 std::string GetSettingDefaultFromModel(ContentSettingsType type,
140 std::string* provider_id); 106 std::string* provider_id);
141 107
142 // Gets the ProtocolHandlerRegistry for the normal profile. 108 // Gets the ProtocolHandlerRegistry for the normal profile.
143 ProtocolHandlerRegistry* GetProtocolHandlerRegistry(); 109 ProtocolHandlerRegistry* GetProtocolHandlerRegistry();
144 110
145 static ExContentSettingsType ExContentSettingsTypeFromGroupName(
146 const std::string& name);
147 static std::string ExContentSettingsTypeToGroupName(
148 const ExContentSettingsType& type);
149
150 // Member variables --------------------------------------------------------- 111 // Member variables ---------------------------------------------------------
151 112
152 content::NotificationRegistrar notification_registrar_; 113 content::NotificationRegistrar notification_registrar_;
153 PrefChangeRegistrar pref_change_registrar_; 114 PrefChangeRegistrar pref_change_registrar_;
154 scoped_ptr<PepperFlashSettingsManager> flash_settings_manager_;
155 CachedPepperFlashSettings flash_cameramic_settings_;
156
157 static const ExContentSettingsTypeNameEntry
158 kExContentSettingsTypeGroupNames[];
159 115
160 DISALLOW_COPY_AND_ASSIGN(ContentSettingsHandler); 116 DISALLOW_COPY_AND_ASSIGN(ContentSettingsHandler);
161 }; 117 };
162 118
163 } // namespace options2 119 } // namespace options2
164 120
165 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_ 121 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_CONTENT_SETTINGS_HANDLER2_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698