summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authormarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-20 11:18:59 +0000
committermarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-20 11:18:59 +0000
commit22b8120eca5a05e687d088688081dc2e4b36a5ad (patch)
tree192570b27efb339a10792fb54ff11c0883fc79c9 /chrome/renderer
parent5c5d72328f3e5ee3e7679e90f2de764aa16f904e (diff)
downloadchromium_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.cc43
-rw-r--r--chrome/renderer/content_settings_observer.h10
-rw-r--r--chrome/renderer/safe_browsing/render_view_fake_resources_test.cc6
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();