| Index: chrome/renderer/content_settings_observer.cc
|
| diff --git a/chrome/renderer/content_settings_observer.cc b/chrome/renderer/content_settings_observer.cc
|
| index 1fcdc201e7ea583f66406b65566d2ae43dcc41f2..18934baa1ddd05ac7c89fb7aa96c805d92d54c80 100644
|
| --- a/chrome/renderer/content_settings_observer.cc
|
| +++ b/chrome/renderer/content_settings_observer.cc
|
| @@ -94,7 +94,8 @@ ContentSettingsObserver::ContentSettingsObserver(
|
| : content::RenderViewObserver(render_view),
|
| content::RenderViewObserverTracker<ContentSettingsObserver>(render_view),
|
| content_setting_rules_(NULL),
|
| - plugins_temporarily_allowed_(false) {
|
| + plugins_temporarily_allowed_(false),
|
| + is_interstitial_page_(false) {
|
| ClearBlockedContentSettings();
|
| }
|
|
|
| @@ -188,6 +189,8 @@ bool ContentSettingsObserver::AllowFileSystem(WebFrame* frame) {
|
| bool ContentSettingsObserver::AllowImage(WebFrame* frame,
|
| bool enabled_per_settings,
|
| const WebURL& image_url) {
|
| + if (is_interstitial_page_)
|
| + return true;
|
| if (IsWhitelistedForContentSettings(frame))
|
| return true;
|
|
|
| @@ -226,6 +229,8 @@ bool ContentSettingsObserver::AllowPlugins(WebFrame* frame,
|
|
|
| bool ContentSettingsObserver::AllowScript(WebFrame* frame,
|
| bool enabled_per_settings) {
|
| + if (is_interstitial_page_)
|
| + return true;
|
| if (!enabled_per_settings)
|
| return false;
|
|
|
| @@ -255,6 +260,8 @@ bool ContentSettingsObserver::AllowScriptFromSource(
|
| WebFrame* frame,
|
| bool enabled_per_settings,
|
| const WebKit::WebURL& script_url) {
|
| + if (is_interstitial_page_)
|
| + return true;
|
| if (!enabled_per_settings)
|
| return false;
|
|
|
| @@ -298,6 +305,10 @@ void ContentSettingsObserver::DidNotAllowScript(WebFrame* frame) {
|
| DidBlockContentType(CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string());
|
| }
|
|
|
| +void ContentSettingsObserver::SetAsInterstitialPage() {
|
| + is_interstitial_page_ = true;
|
| +}
|
| +
|
| void ContentSettingsObserver::OnLoadBlockedPlugins() {
|
| plugins_temporarily_allowed_ = true;
|
| }
|
|
|