summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profile.cc
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 12:41:28 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 12:41:28 +0000
commit6787d0c8ea33ceb8094db48d1b5bc24208bad433 (patch)
tree075db87129cb882dcb5117aaa7cb7684cd5882ef /chrome/browser/profile.cc
parent8b6c5a26007dae63d32e0fcaec9bd687a2e3e8b7 (diff)
downloadchromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.zip
chromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.tar.gz
chromium_src-6787d0c8ea33ceb8094db48d1b5bc24208bad433.tar.bz2
Implement HostContentSettingsMap
This map stores whether a given host may load images or use plugins and javascript. And makes this information available to the render view BUG=32782 TEST=none Review URL: http://codereview.chromium.org/551149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profile.cc')
-rw-r--r--chrome/browser/profile.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/chrome/browser/profile.cc b/chrome/browser/profile.cc
index a6861e9..c197a78 100644
--- a/chrome/browser/profile.cc
+++ b/chrome/browser/profile.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -29,6 +29,7 @@
#include "chrome/browser/spellcheck_host.h"
#include "chrome/browser/transport_security_persister.h"
#include "chrome/browser/history/history.h"
+#include "chrome/browser/host_content_settings_map.h"
#include "chrome/browser/host_zoom_map.h"
#include "chrome/browser/in_process_webkit/webkit_context.h"
#include "chrome/browser/net/chrome_url_request_context.h"
@@ -405,6 +406,14 @@ class OffTheRecordProfileImpl : public Profile,
return GetOriginalProfile()->GetSSLConfigService();
}
+ virtual HostContentSettingsMap* GetHostContentSettingsMap() {
+ // Need to use a separate map from the normal one to avoid persisting
+ // content setting changes in OTR mode.
+ if (!host_content_settings_map_.get())
+ host_content_settings_map_.reset(new HostContentSettingsMap(this));
+ return host_content_settings_map_.get();
+ }
+
virtual HostZoomMap* GetHostZoomMap() {
// Need to use a separate map from the normal one to avoid persisting zoom
// changes in OTR mode.
@@ -535,6 +544,8 @@ class OffTheRecordProfileImpl : public Profile,
scoped_refptr<ChromeURLRequestContextGetter> extensions_request_context_;
+ scoped_ptr<HostContentSettingsMap> host_content_settings_map_;
+
scoped_refptr<HostZoomMap> host_zoom_map_;
// The download manager that only stores downloaded items in memory.
@@ -572,6 +583,7 @@ ProfileImpl::ProfileImpl(const FilePath& path)
request_context_(NULL),
media_request_context_(NULL),
extensions_request_context_(NULL),
+ host_content_settings_map_(NULL),
host_zoom_map_(NULL),
history_service_created_(false),
favicon_service_created_(false),
@@ -961,6 +973,12 @@ net::SSLConfigService* ProfileImpl::GetSSLConfigService() {
return ssl_config_service_manager_->Get();
}
+HostContentSettingsMap* ProfileImpl::GetHostContentSettingsMap() {
+ if (!host_content_settings_map_.get())
+ host_content_settings_map_.reset(new HostContentSettingsMap(this));
+ return host_content_settings_map_.get();
+}
+
HostZoomMap* ProfileImpl::GetHostZoomMap() {
if (!host_zoom_map_)
host_zoom_map_ = new HostZoomMap(this);