| Index: chrome/renderer/content_settings_observer.h
|
| diff --git a/chrome/renderer/content_settings_observer.h b/chrome/renderer/content_settings_observer.h
|
| index acff53b001feaecb51afdc3ac6f3cdb2aa7b3f18..947333eff072653246d862650962a4f7013ed9fa 100644
|
| --- a/chrome/renderer/content_settings_observer.h
|
| +++ b/chrome/renderer/content_settings_observer.h
|
| @@ -15,6 +15,7 @@
|
| class GURL;
|
|
|
| namespace WebKit {
|
| +class WebFrame;
|
| class WebSecurityOrigin;
|
| class WebURL;
|
| }
|
| @@ -27,21 +28,11 @@ class ContentSettingsObserver
|
| explicit ContentSettingsObserver(content::RenderView* render_view);
|
| virtual ~ContentSettingsObserver();
|
|
|
| - // Sets the content settings that back allowScripts() and allowPlugins().
|
| - void SetContentSettings(const ContentSettings& settings);
|
| -
|
| - // Sets the default content settings that back allowScripts() and
|
| - // allowPlugins().
|
| - void SetDefaultContentSettings(const ContentSettings* settings);
|
| -
|
| - // Sets the image setting rules which back |allowImage()|. The
|
| - // |ContentSettingsForOneType| object must outlive this
|
| + // Sets the content setting rules which back |AllowImage()|, |AllowScript()|,
|
| + // and |AllowScriptFromSource()|. |content_setting_rules| must outlive this
|
| // |ContentSettingsObserver|.
|
| - void SetImageSettingRules(
|
| - const ContentSettingsForOneType* image_setting_rules);
|
| -
|
| - // Returns the setting for the given type.
|
| - ContentSetting GetContentSetting(ContentSettingsType type);
|
| + void SetContentSettingRules(
|
| + const RendererContentSettingRules* content_setting_rules);
|
|
|
| bool plugins_temporarily_allowed() {
|
| return plugins_temporarily_allowed_;
|
| @@ -68,6 +59,8 @@ class ContentSettingsObserver
|
| const WebKit::WebSecurityOrigin& origin);
|
| bool AllowPlugins(WebKit::WebFrame* frame, bool enabled_per_settings);
|
| bool AllowScript(WebKit::WebFrame* frame, bool enabled_per_settings);
|
| + bool AllowScriptFromSource(WebKit::WebFrame* frame, bool enabled_per_settings,
|
| + const WebKit::WebURL& script_url);
|
| bool AllowStorage(WebKit::WebFrame* frame, bool local);
|
| void DidNotAllowPlugins(WebKit::WebFrame* frame);
|
| void DidNotAllowScript(WebKit::WebFrame* frame);
|
| @@ -79,33 +72,16 @@ class ContentSettingsObserver
|
| bool is_new_navigation);
|
|
|
| // Message handlers.
|
| - void OnSetContentSettingsForLoadingURL(
|
| - const GURL& url,
|
| - const ContentSettings& content_settings);
|
| void OnLoadBlockedPlugins();
|
|
|
| - // Helper method that returns if the user wants to block content of type
|
| - // |content_type|.
|
| - bool AllowContentType(ContentSettingsType settings_type);
|
| -
|
| // Resets the |content_blocked_| array.
|
| void ClearBlockedContentSettings();
|
|
|
| - typedef std::map<GURL, ContentSettings> HostContentSettings;
|
| - HostContentSettings host_content_settings_;
|
| -
|
| - // A pointer to the most up-to-date view of the default content
|
| - // settings. Normally, they are owned by |ChromeRenderProcessObserver|. In the
|
| - // tests they are owned by the caller of |SetDefaultContentSettings|.
|
| - const ContentSettings* default_content_settings_;
|
| -
|
| - // Stores if loading of scripts and plugins is allowed.
|
| - ContentSettings current_content_settings_;
|
| -
|
| - // Stores the rules for image content settings. Normally, they are owned by
|
| - // |ChromeRenderProcessObserver|. In the tests they are owned by the caller of
|
| - // |SetImageSettingRules|.
|
| - const ContentSettingsForOneType* image_setting_rules_;
|
| + // A pointer to content setting rules stored by the renderer. Normally, the
|
| + // |RendererContentSettingRules| object is owned by
|
| + // |ChromeRenderProcessObserver|. In the tests it is owned by the caller of
|
| + // |SetContentSettingRules|.
|
| + const RendererContentSettingRules* content_setting_rules_;
|
|
|
| // Stores if images, scripts, and plugins have actually been blocked.
|
| bool content_blocked_[CONTENT_SETTINGS_NUM_TYPES];
|
| @@ -114,6 +90,9 @@ class ContentSettingsObserver
|
| typedef std::pair<GURL, bool> StoragePermissionsKey;
|
| std::map<StoragePermissionsKey, bool> cached_storage_permissions_;
|
|
|
| + // Caches the result of |AllowScript|.
|
| + std::map<WebKit::WebFrame*, bool> cached_script_permissions_;
|
| +
|
| bool plugins_temporarily_allowed_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ContentSettingsObserver);
|
|
|