diff options
author | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-20 11:18:59 +0000 |
---|---|---|
committer | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-20 11:18:59 +0000 |
commit | 22b8120eca5a05e687d088688081dc2e4b36a5ad (patch) | |
tree | 192570b27efb339a10792fb54ff11c0883fc79c9 /chrome/renderer | |
parent | 5c5d72328f3e5ee3e7679e90f2de764aa16f904e (diff) | |
download | chromium_src-22b8120eca5a05e687d088688081dc2e4b36a5ad.zip chromium_src-22b8120eca5a05e687d088688081dc2e4b36a5ad.tar.gz chromium_src-22b8120eca5a05e687d088688081dc2e4b36a5ad.tar.bz2 |
Revert 101944 - Experiment: Add a sync IPC call for every image load.
This will be reverted as soon as the page cyclers have ran.
BUG=NONE
TEST=NONE
Review URL: http://codereview.chromium.org/7903003
TBR=marja@chromium.org
Review URL: http://codereview.chromium.org/7976002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/content_settings_observer.cc | 43 | ||||
-rw-r--r-- | chrome/renderer/content_settings_observer.h | 10 | ||||
-rw-r--r-- | chrome/renderer/safe_browsing/render_view_fake_resources_test.cc | 6 |
3 files changed, 6 insertions, 53 deletions
diff --git a/chrome/renderer/content_settings_observer.cc b/chrome/renderer/content_settings_observer.cc index 95eeb0b..8383fa4 100644 --- a/chrome/renderer/content_settings_observer.cc +++ b/chrome/renderer/content_settings_observer.cc @@ -54,7 +54,6 @@ static bool IsWhitelistedForContentSettings(WebFrame* frame) { } // namespace ContentSettings ContentSettingsObserver::default_settings_; -bool ContentSettingsObserver::allow_all_images_ = false; ContentSettingsObserver::ContentSettingsObserver(RenderView* render_view) : RenderViewObserver(render_view), @@ -121,7 +120,7 @@ void ContentSettingsObserver::DidCommitProvisionalLoad( NavigationState* state = NavigationState::FromDataSource(frame->dataSource()); if (!state->was_within_same_page()) { // Clear "block" flags for the new page. This needs to happen before any of - // allowScripts(), allowImage(), allowPlugins() is called for the new page + // allowScripts(), allowImages(), allowPlugins() is called for the new page // so that these functions can correctly detect that a piece of content // flipped from "not blocked" to "blocked". ClearBlockedContentSettings(); @@ -200,40 +199,16 @@ bool ContentSettingsObserver::AllowFileSystem(WebFrame* frame) { bool ContentSettingsObserver::AllowImage(WebFrame* frame, bool enabled_per_settings, const WebURL& image_url) { - // Shortcut for tests - if (allow_all_images_) + if (enabled_per_settings && + AllowContentType(CONTENT_SETTINGS_TYPE_IMAGES)) { return true; + } if (IsWhitelistedForContentSettings(frame)) return true; - if (frame->document().securityOrigin().isEmpty() || - frame->top()->document().securityOrigin().isEmpty()) { - DidBlockContentType(CONTENT_SETTINGS_TYPE_IMAGES, std::string()); - return false; // Uninitialized document. - } - - ImagePermissionsKey key( - GURL(image_url), - GURL(frame->top()->document().securityOrigin().toString())); - - bool result = false; - std::map<ImagePermissionsKey, bool>::const_iterator permissions = - cached_image_permissions_.find(key); - if (permissions != cached_image_permissions_.end()) { - result = permissions->second; - } else { - Send(new ChromeViewHostMsg_AllowImage( - GURL(frame->top()->document().securityOrigin().toString()), - GURL(image_url), - &result)); - cached_image_permissions_[key] = result; - } - - if (!result) - DidBlockContentType(CONTENT_SETTINGS_TYPE_IMAGES, std::string()); - - return result; + DidBlockContentType(CONTENT_SETTINGS_TYPE_IMAGES, std::string()); + return false; // Other protocols fall through here. } bool ContentSettingsObserver::AllowIndexedDB(WebFrame* frame, @@ -299,11 +274,6 @@ void ContentSettingsObserver::DidNotAllowScript(WebFrame* frame) { DidBlockContentType(CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string()); } -// static -void ContentSettingsObserver::SetAllowAllImages(bool allow) { - allow_all_images_ = allow; -} - void ContentSettingsObserver::OnSetContentSettingsForLoadingURL( const GURL& url, const ContentSettings& content_settings) { @@ -325,5 +295,4 @@ void ContentSettingsObserver::ClearBlockedContentSettings() { for (size_t i = 0; i < arraysize(content_blocked_); ++i) content_blocked_[i] = false; cached_storage_permissions_.clear(); - cached_image_permissions_.clear(); } diff --git a/chrome/renderer/content_settings_observer.h b/chrome/renderer/content_settings_observer.h index b275b28..c86e10d 100644 --- a/chrome/renderer/content_settings_observer.h +++ b/chrome/renderer/content_settings_observer.h @@ -63,9 +63,6 @@ class ContentSettingsObserver void DidNotAllowPlugins(WebKit::WebFrame* frame); void DidNotAllowScript(WebKit::WebFrame* frame); - // To be used in tests - static void SetAllowAllImages(bool allow); - private: // RenderViewObserver implementation. virtual bool OnMessageReceived(const IPC::Message& message); @@ -101,15 +98,8 @@ class ContentSettingsObserver typedef std::pair<GURL, bool> StoragePermissionsKey; std::map<StoragePermissionsKey, bool> cached_storage_permissions_; - // Caches the result of AllowImages. - typedef std::pair<GURL, GURL> ImagePermissionsKey; - std::map<ImagePermissionsKey, bool> cached_image_permissions_; - bool plugins_temporarily_allowed_; - // To be used in tests - static bool allow_all_images_; - DISALLOW_COPY_AND_ASSIGN(ContentSettingsObserver); }; diff --git a/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc b/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc index 43cb25e..77c254d 100644 --- a/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc +++ b/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc @@ -11,7 +11,6 @@ #include "base/shared_memory.h" #include "base/time.h" #include "chrome/common/render_messages.h" -#include "chrome/renderer/content_settings_observer.h" #include "chrome/renderer/mock_render_process.h" #include "content/common/dom_storage_common.h" #include "content/common/main_function_params.h" @@ -58,9 +57,6 @@ bool RenderViewFakeResourcesTest::Visit(RenderView* render_view) { } void RenderViewFakeResourcesTest::SetUp() { - // Make ContentSettingObserver bypass IPC. - ContentSettingsObserver::SetAllowAllImages(true); - // Set up the renderer. This code is largely adapted from // render_view_test.cc and renderer_main.cc. Note that we use a // MockRenderProcess (because we don't need to use IPC for painting), @@ -98,8 +94,6 @@ void RenderViewFakeResourcesTest::SetUp() { } void RenderViewFakeResourcesTest::TearDown() { - ContentSettingsObserver::SetAllowAllImages(false); - // Try very hard to collect garbage before shutting down. GetMainFrame()->collectGarbage(); GetMainFrame()->collectGarbage(); |