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

Side by Side Diff: chrome/browser/content_settings/content_settings_provider.h

Issue 7218073: Explicitly ShutdownOnUIThread the HostContentSettingsMap when destroying the Profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 9 years, 5 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Interface for objects providing content setting rules. 5 // Interface for objects providing content setting rules.
6 6
7 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_ 7 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_
8 #define CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_ 8 #define CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_
9 #pragma once 9 #pragma once
10 10
(...skipping 27 matching lines...) Expand all
38 virtual void UpdateDefaultSetting(ContentSettingsType content_type, 38 virtual void UpdateDefaultSetting(ContentSettingsType content_type,
39 ContentSetting setting) = 0; 39 ContentSetting setting) = 0;
40 40
41 // Resets the state of the provider to the default. 41 // Resets the state of the provider to the default.
42 virtual void ResetToDefaults() = 0; 42 virtual void ResetToDefaults() = 0;
43 43
44 // True if the default setting for the |content_type| is policy managed, i.e., 44 // True if the default setting for the |content_type| is policy managed, i.e.,
45 // there shouldn't be any UI shown to modify this setting. 45 // there shouldn't be any UI shown to modify this setting.
46 virtual bool DefaultSettingIsManaged( 46 virtual bool DefaultSettingIsManaged(
47 ContentSettingsType content_type) const = 0; 47 ContentSettingsType content_type) const = 0;
48
49 virtual void ShutdownOnUIThread() = 0;
48 }; 50 };
49 51
50 class ProviderInterface { 52 class ProviderInterface {
51 public: 53 public:
52 struct Rule { 54 struct Rule {
53 Rule(); 55 Rule();
54 Rule(const ContentSettingsPattern& primary_pattern, 56 Rule(const ContentSettingsPattern& primary_pattern,
55 const ContentSettingsPattern& secondary_pattern, 57 const ContentSettingsPattern& secondary_pattern,
56 ContentSetting setting); 58 ContentSetting setting);
57 59
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // must be non-empty. 101 // must be non-empty.
100 // 102 //
101 // This may be called on any thread. 103 // This may be called on any thread.
102 virtual void GetAllContentSettingsRules( 104 virtual void GetAllContentSettingsRules(
103 ContentSettingsType content_type, 105 ContentSettingsType content_type,
104 const ResourceIdentifier& resource_identifier, 106 const ResourceIdentifier& resource_identifier,
105 Rules* content_setting_rules) const = 0; 107 Rules* content_setting_rules) const = 0;
106 108
107 // Resets all content settings for the given |content_type| to 109 // Resets all content settings for the given |content_type| to
108 // CONTENT_SETTING_DEFAULT. For content types that require a resource 110 // CONTENT_SETTING_DEFAULT. For content types that require a resource
109 // identifier all content settings for any resource identifieres of the given 111 // identifier all content settings for any resource identifiers of the given
110 // |content_type| will be reset to CONTENT_SETTING_DEFAULT. 112 // |content_type| will be reset to CONTENT_SETTING_DEFAULT.
111 // 113 //
112 // This should only be called on the UI thread, and not after 114 // This should only be called on the UI thread, and not after
113 // ShutdownOnUIThread has been called. 115 // ShutdownOnUIThread has been called.
114 virtual void ClearAllContentSettingsRules( 116 virtual void ClearAllContentSettingsRules(
115 ContentSettingsType content_type) = 0; 117 ContentSettingsType content_type) = 0;
116 118
117 // Resets all content settings to CONTENT_SETTINGS_DEFAULT. 119 // Resets all content settings to CONTENT_SETTINGS_DEFAULT.
118 // 120 //
119 // This should only be called on the UI thread, and not after 121 // This should only be called on the UI thread, and not after
120 // ShutdownOnUIThread has been called. 122 // ShutdownOnUIThread has been called.
121 virtual void ResetToDefaults() = 0; 123 virtual void ResetToDefaults() = 0;
122 124
123 // Detaches the Provider from all Profile-related objects like PrefService. 125 // Detaches the Provider from all Profile-related objects like PrefService.
124 // This methods needs to be called before destroying the Profile. 126 // This methods needs to be called before destroying the Profile.
125 // Afterwards, none of the methods above that should only be called on the UI 127 // Afterwards, none of the methods above that should only be called on the UI
126 // thread should be called anymore. 128 // thread should be called anymore.
127 virtual void ShutdownOnUIThread() {} 129 virtual void ShutdownOnUIThread() = 0;
128 }; 130 };
129 131
130 } // namespace content_settings 132 } // namespace content_settings
131 133
132 #endif // CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_ 134 #endif // CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698