diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 12:41:28 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 12:41:28 +0000 |
commit | 6787d0c8ea33ceb8094db48d1b5bc24208bad433 (patch) | |
tree | 075db87129cb882dcb5117aaa7cb7684cd5882ef /chrome/browser/profile.cc | |
parent | 8b6c5a26007dae63d32e0fcaec9bd687a2e3e8b7 (diff) | |
download | chromium_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.cc | 20 |
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); |