diff options
author | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-15 01:49:21 +0000 |
---|---|---|
committer | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-15 01:49:21 +0000 |
commit | 33d8bdda6040493a4d79594bd988b2c595209237 (patch) | |
tree | 39eb5bee9672b4e896d56cf5d12c1a2d7c197c5b /chrome/browser/content_settings/content_settings_platform_app_provider.h | |
parent | 8bd9357c66b6197b55b68c179bd480aa3472ea9f (diff) | |
download | chromium_src-33d8bdda6040493a4d79594bd988b2c595209237.zip chromium_src-33d8bdda6040493a4d79594bd988b2c595209237.tar.gz chromium_src-33d8bdda6040493a4d79594bd988b2c595209237.tar.bz2 |
Whitelist extensions with bundled plug-ins for plug-ins.
BUG=113494
TEST=chromoting works with click-to-play.
Review URL: http://codereview.chromium.org/9395006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122005 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/content_settings/content_settings_platform_app_provider.h')
-rw-r--r-- | chrome/browser/content_settings/content_settings_platform_app_provider.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/chrome/browser/content_settings/content_settings_platform_app_provider.h b/chrome/browser/content_settings/content_settings_platform_app_provider.h index 0f39898..2d93a9e 100644 --- a/chrome/browser/content_settings/content_settings_platform_app_provider.h +++ b/chrome/browser/content_settings/content_settings_platform_app_provider.h @@ -5,19 +5,24 @@ #ifndef CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PLATFORM_APP_PROVIDER_H_ #define CHROME_BROWSER_CONTENT_SETTINGS_CONTENT_SETTINGS_PLATFORM_APP_PROVIDER_H_ +#include "base/memory/scoped_ptr.h" #include "base/synchronization/lock.h" #include "chrome/browser/content_settings/content_settings_observable_provider.h" #include "chrome/browser/content_settings/content_settings_origin_identifier_value_map.h" +#include "chrome/common/content_settings.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" +class Extension; +class ExtensionService; + namespace content_settings { // A content settings provider which disables certain plugins for platform apps. class PlatformAppProvider : public ObservableProvider, public content::NotificationObserver { public: - PlatformAppProvider(); + explicit PlatformAppProvider(ExtensionService* extension_service); virtual ~PlatformAppProvider(); @@ -44,11 +49,14 @@ class PlatformAppProvider : public ObservableProvider, const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; private: + void SetContentSettingForExtension(const Extension* extension, + ContentSetting setting); + OriginIdentifierValueMap value_map_; // Used around accesses to the |value_map_| list to guarantee thread safety. mutable base::Lock lock_; - content::NotificationRegistrar* registrar_; + scoped_ptr<content::NotificationRegistrar> registrar_; DISALLOW_COPY_AND_ASSIGN(PlatformAppProvider); }; |