Index: chrome/renderer/content_settings_observer.cc |
=================================================================== |
--- chrome/renderer/content_settings_observer.cc (revision 113593) |
+++ chrome/renderer/content_settings_observer.cc (working copy) |
@@ -68,7 +68,8 @@ |
: 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(); |
} |
@@ -162,6 +163,8 @@ |
bool ContentSettingsObserver::AllowImage(WebFrame* frame, |
bool enabled_per_settings, |
const WebURL& image_url) { |
+ if (is_interstitial_page_) |
+ return true; |
if (IsWhitelistedForContentSettings(frame)) |
return true; |
@@ -200,6 +203,8 @@ |
bool ContentSettingsObserver::AllowScript(WebFrame* frame, |
bool enabled_per_settings) { |
+ if (is_interstitial_page_) |
+ return true; |
if (!enabled_per_settings) |
return false; |
@@ -229,6 +234,8 @@ |
WebFrame* frame, |
bool enabled_per_settings, |
const WebKit::WebURL& script_url) { |
+ if (is_interstitial_page_) |
+ return true; |
if (!enabled_per_settings) |
return false; |
@@ -272,6 +279,10 @@ |
DidBlockContentType(CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string()); |
} |
+void ContentSettingsObserver::SetAsInterstitial() { |
+ is_interstitial_page_ = true; |
+} |
+ |
void ContentSettingsObserver::OnLoadBlockedPlugins() { |
plugins_temporarily_allowed_ = true; |
} |