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

Unified Diff: chrome/renderer/content_settings_observer.cc

Issue 797993002: Remove kInstantProcess from renderer ContentSettingsObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/content_settings_observer.cc
diff --git a/chrome/renderer/content_settings_observer.cc b/chrome/renderer/content_settings_observer.cc
index 1d63a8a00458630a2661ff876322ecc1710298d2..a9385f1e393e1b8b04618ccb7e58901f3911089e 100644
--- a/chrome/renderer/content_settings_observer.cc
+++ b/chrome/renderer/content_settings_observer.cc
@@ -6,7 +6,6 @@
#include "base/command_line.h"
#include "base/metrics/histogram.h"
-#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
#include "content/public/renderer/document_state.h"
@@ -150,7 +149,8 @@ ContentSetting GetContentSettingFromRules(
ContentSettingsObserver::ContentSettingsObserver(
content::RenderFrame* render_frame,
- extensions::Dispatcher* extension_dispatcher)
+ extensions::Dispatcher* extension_dispatcher,
+ bool should_whitelist)
: content::RenderFrameObserver(render_frame),
content::RenderFrameObserverTracker<ContentSettingsObserver>(
render_frame),
@@ -162,7 +162,8 @@ ContentSettingsObserver::ContentSettingsObserver(
content_setting_rules_(NULL),
is_interstitial_page_(false),
npapi_plugins_blocked_(false),
- current_request_id_(0) {
+ current_request_id_(0),
+ should_whitelist_(should_whitelist) {
ClearBlockedContentSettings();
render_frame->GetWebFrame()->setPermissionClient(this);
@@ -312,7 +313,7 @@ bool ContentSettingsObserver::allowImage(bool enabled_per_settings,
if (is_interstitial_page_)
return true;
- if (IsWhitelistedForContentSettings(render_frame()))
+ if (IsWhitelistedForContentSettings())
return true;
if (content_setting_rules_) {
@@ -370,7 +371,7 @@ bool ContentSettingsObserver::allowScript(bool enabled_per_settings) {
GURL(frame->document().securityOrigin().toString()));
allow = setting != CONTENT_SETTING_BLOCK;
}
- allow = allow || IsWhitelistedForContentSettings(render_frame());
+ allow = allow || IsWhitelistedForContentSettings();
cached_script_permissions_[frame] = allow;
return allow;
@@ -392,7 +393,7 @@ bool ContentSettingsObserver::allowScriptFromSource(
GURL(script_url));
allow = setting != CONTENT_SETTING_BLOCK;
}
- return allow || IsWhitelistedForContentSettings(render_frame());
+ return allow || IsWhitelistedForContentSettings();
}
bool ContentSettingsObserver::allowStorage(bool local) {
@@ -674,18 +675,16 @@ const extensions::Extension* ContentSettingsObserver::GetExtension(
}
#endif
-bool ContentSettingsObserver::IsWhitelistedForContentSettings(
- content::RenderFrame* frame) {
- // Whitelist Instant processes.
- if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kInstantProcess))
+bool ContentSettingsObserver::IsWhitelistedForContentSettings() const {
+ if (should_whitelist_)
return true;
// Whitelist ftp directory listings, as they require JavaScript to function
// properly.
- if (frame->IsFTPDirectoryListing())
+ if (render_frame()->IsFTPDirectoryListing())
return true;
- WebFrame* web_frame = frame->GetWebFrame();
+ WebFrame* web_frame = render_frame()->GetWebFrame();
return IsWhitelistedForContentSettings(web_frame->document().securityOrigin(),
web_frame->document().url());
}

Powered by Google App Engine
This is Rietveld 408576698