diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 19:49:45 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 19:49:45 +0000 |
commit | e284e6d8f6079a7cfc8eb70f010cf2378253fb18 (patch) | |
tree | 9cd71a6abb4d08b700e477f7e779cc978a39717d /chrome/browser/profile.cc | |
parent | eb6b623883f7956e10bdf1f1749257f91b2d75a7 (diff) | |
download | chromium_src-e284e6d8f6079a7cfc8eb70f010cf2378253fb18.zip chromium_src-e284e6d8f6079a7cfc8eb70f010cf2378253fb18.tar.gz chromium_src-e284e6d8f6079a7cfc8eb70f010cf2378253fb18.tar.bz2 |
Reland r37508. Implement HostContentSettingsMap.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/555172
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37526 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); |