diff options
author | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-06 11:23:54 +0000 |
---|---|---|
committer | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-06 11:23:54 +0000 |
commit | af878c1efee3179361bd5a503933f6dd165e9ebf (patch) | |
tree | af712b5868a16148775df2d65b9cb9781531e05c | |
parent | d0a778abd29badd4c4836022e234f6e332d9e663 (diff) | |
download | chromium_src-af878c1efee3179361bd5a503933f6dd165e9ebf.zip chromium_src-af878c1efee3179361bd5a503933f6dd165e9ebf.tar.gz chromium_src-af878c1efee3179361bd5a503933f6dd165e9ebf.tar.bz2 |
Move creation of CookiesTreeModel to UI code and add getter for the LocalStoredObjectsContainer of the TabSpecificContentSettings.
BUG=113688
TEST=none
Review URL: http://codereview.chromium.org/9566047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125144 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed, 143 insertions, 79 deletions
diff --git a/chrome/browser/content_settings/tab_specific_content_settings.cc b/chrome/browser/content_settings/tab_specific_content_settings.cc index 5e3e37d..4764788 100644 --- a/chrome/browser/content_settings/tab_specific_content_settings.cc +++ b/chrome/browser/content_settings/tab_specific_content_settings.cc @@ -407,14 +407,6 @@ void TabSpecificContentSettings::ClearGeolocationContentSettings() { geolocation_settings_state_.ClearStateMap(); } -CookiesTreeModel* TabSpecificContentSettings::GetAllowedCookiesTreeModel() { - return allowed_local_shared_objects_.GetCookiesTreeModel(); -} - -CookiesTreeModel* TabSpecificContentSettings::GetBlockedCookiesTreeModel() { - return blocked_local_shared_objects_.GetCookiesTreeModel(); -} - bool TabSpecificContentSettings::OnMessageReceived( const IPC::Message& message) { bool handled = true; @@ -512,16 +504,3 @@ void TabSpecificContentSettings::LocalSharedObjectsContainer::Reset() { local_storages_->Reset(); session_storages_->Reset(); } - -CookiesTreeModel* -TabSpecificContentSettings::LocalSharedObjectsContainer::GetCookiesTreeModel() { - return new CookiesTreeModel(cookies_->Clone(), - databases_->Clone(), - local_storages_->Clone(), - session_storages_->Clone(), - appcaches_->Clone(), - indexed_dbs_->Clone(), - file_systems_->Clone(), - NULL, - true); -} diff --git a/chrome/browser/content_settings/tab_specific_content_settings.h b/chrome/browser/content_settings/tab_specific_content_settings.h index 55ca203..9a70d8e 100644 --- a/chrome/browser/content_settings/tab_specific_content_settings.h +++ b/chrome/browser/content_settings/tab_specific_content_settings.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -36,6 +36,50 @@ class CookieOptions; class TabSpecificContentSettings : public content::WebContentsObserver, public content::NotificationObserver { public: + class LocalSharedObjectsContainer { + public: + explicit LocalSharedObjectsContainer(Profile* profile); + ~LocalSharedObjectsContainer(); + + // Empties the container. + void Reset(); + + CannedBrowsingDataAppCacheHelper* appcaches() const { + return appcaches_; + } + CannedBrowsingDataCookieHelper* cookies() const { + return cookies_; + } + CannedBrowsingDataDatabaseHelper* databases() const { + return databases_; + } + CannedBrowsingDataFileSystemHelper* file_systems() const { + return file_systems_; + } + CannedBrowsingDataIndexedDBHelper* indexed_dbs() const { + return indexed_dbs_; + } + CannedBrowsingDataLocalStorageHelper* local_storages() const { + return local_storages_; + } + CannedBrowsingDataLocalStorageHelper* session_storages() const { + return session_storages_; + } + + bool empty() const; + + private: + scoped_refptr<CannedBrowsingDataAppCacheHelper> appcaches_; + scoped_refptr<CannedBrowsingDataCookieHelper> cookies_; + scoped_refptr<CannedBrowsingDataDatabaseHelper> databases_; + scoped_refptr<CannedBrowsingDataFileSystemHelper> file_systems_; + scoped_refptr<CannedBrowsingDataIndexedDBHelper> indexed_dbs_; + scoped_refptr<CannedBrowsingDataLocalStorageHelper> local_storages_; + scoped_refptr<CannedBrowsingDataLocalStorageHelper> session_storages_; + + DISALLOW_COPY_AND_ASSIGN(LocalSharedObjectsContainer); + }; + explicit TabSpecificContentSettings(content::WebContents* tab); virtual ~TabSpecificContentSettings(); @@ -145,11 +189,17 @@ class TabSpecificContentSettings : public content::WebContentsObserver, return geolocation_settings_state_; } - // Returns a CookiesTreeModel object for the recoreded allowed cookies. - CookiesTreeModel* GetAllowedCookiesTreeModel(); + // Returns a pointer to the |LocalSharedObjectsContainer| that contains all + // allowed local shared objects like cookies, local storage, ... . + const LocalSharedObjectsContainer& allowed_local_shared_objects() const { + return allowed_local_shared_objects_; + } - // Returns a CookiesTreeModel object for the recoreded blocked cookies. - CookiesTreeModel* GetBlockedCookiesTreeModel(); + // Returns a pointer to the |LocalSharedObjectsContainer| that contains all + // blocked local shared objects like cookies, local storage, ... . + const LocalSharedObjectsContainer& blocked_local_shared_objects() const { + return blocked_local_shared_objects_; + } bool load_plugins_link_enabled() { return load_plugins_link_enabled_; } void set_load_plugins_link_enabled(bool enabled) { @@ -199,52 +249,6 @@ class TabSpecificContentSettings : public content::WebContentsObserver, bool allowed); private: - class LocalSharedObjectsContainer { - public: - explicit LocalSharedObjectsContainer(Profile* profile); - ~LocalSharedObjectsContainer(); - - // Empties the container. - void Reset(); - - CannedBrowsingDataAppCacheHelper* appcaches() const { - return appcaches_; - } - CannedBrowsingDataCookieHelper* cookies() const { - return cookies_; - } - CannedBrowsingDataDatabaseHelper* databases() const { - return databases_; - } - CannedBrowsingDataFileSystemHelper* file_systems() const { - return file_systems_; - } - CannedBrowsingDataIndexedDBHelper* indexed_dbs() const { - return indexed_dbs_; - } - CannedBrowsingDataLocalStorageHelper* local_storages() const { - return local_storages_; - } - CannedBrowsingDataLocalStorageHelper* session_storages() const { - return session_storages_; - } - - CookiesTreeModel* GetCookiesTreeModel(); - - bool empty() const; - - private: - scoped_refptr<CannedBrowsingDataAppCacheHelper> appcaches_; - scoped_refptr<CannedBrowsingDataCookieHelper> cookies_; - scoped_refptr<CannedBrowsingDataDatabaseHelper> databases_; - scoped_refptr<CannedBrowsingDataFileSystemHelper> file_systems_; - scoped_refptr<CannedBrowsingDataIndexedDBHelper> indexed_dbs_; - scoped_refptr<CannedBrowsingDataLocalStorageHelper> local_storages_; - scoped_refptr<CannedBrowsingDataLocalStorageHelper> session_storages_; - - DISALLOW_COPY_AND_ASSIGN(LocalSharedObjectsContainer); - }; - void AddBlockedResource(ContentSettingsType content_type, const std::string& resource_identifier); diff --git a/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm b/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm index 7b06d75..332dc16 100644 --- a/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm +++ b/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm @@ -9,6 +9,12 @@ #include "base/mac/bundle_locations.h" #import "base/mac/mac_util.h" #include "base/sys_string_conversions.h" +#include "chrome/browser/browsing_data_appcache_helper.h" +#include "chrome/browser/browsing_data_cookie_helper.h" +#include "chrome/browser/browsing_data_database_helper.h" +#include "chrome/browser/browsing_data_file_system_helper.h" +#include "chrome/browser/browsing_data_indexed_db_helper.h" +#include "chrome/browser/browsing_data_local_storage_helper.h" #include "chrome/browser/content_settings/cookie_settings.h" #include "chrome/browser/content_settings/tab_specific_content_settings.h" #include "chrome/browser/infobars/infobar_tab_helper.h" @@ -370,8 +376,31 @@ void CollectedCookiesMac::OnSheetDidEnd(NSWindow* sheet) { // the |cocoaAllowedTreeModel_| and |cocoaBlockedTreeModel_|. - (void)loadTreeModelFromTabContentsWrapper { TabSpecificContentSettings* content_settings = wrapper_->content_settings(); - allowedTreeModel_.reset(content_settings->GetAllowedCookiesTreeModel()); - blockedTreeModel_.reset(content_settings->GetBlockedCookiesTreeModel()); + + const TabSpecificContentSettings::LocalSharedObjectsContainer& allowed_lsos = + content_settings->allowed_local_shared_objects(); + allowedTreeModel_.reset( + new CookiesTreeModel(allowed_lsos.cookies()->Clone(), + allowed_lsos.databases()->Clone(), + allowed_lsos.local_storages()->Clone(), + allowed_lsos.session_storages()->Clone(), + allowed_lsos.appcaches()->Clone(), + allowed_lsos.indexed_dbs()->Clone(), + allowed_lsos.file_systems()->Clone(), + NULL, + true)); + const TabSpecificContentSettings::LocalSharedObjectsContainer& blocked_lsos = + content_settings->blocked_local_shared_objects(); + blockedTreeModel_.reset( + new CookiesTreeModel(blocked_lsos.cookies()->Clone(), + blocked_lsos.databases()->Clone(), + blocked_lsos.local_storages()->Clone(), + blocked_lsos.session_storages()->Clone(), + blocked_lsos.appcaches()->Clone(), + blocked_lsos.indexed_dbs()->Clone(), + blocked_lsos.file_systems()->Clone(), + NULL, + true)); // Convert the model's icons from Skia to Cocoa. std::vector<SkBitmap> skiaIcons; diff --git a/chrome/browser/ui/gtk/collected_cookies_gtk.cc b/chrome/browser/ui/gtk/collected_cookies_gtk.cc index b43c765..4780789 100644 --- a/chrome/browser/ui/gtk/collected_cookies_gtk.cc +++ b/chrome/browser/ui/gtk/collected_cookies_gtk.cc @@ -5,7 +5,12 @@ #include "chrome/browser/ui/gtk/collected_cookies_gtk.h" #include <string> - +#include "chrome/browser/browsing_data_appcache_helper.h" +#include "chrome/browser/browsing_data_cookie_helper.h" +#include "chrome/browser/browsing_data_database_helper.h" +#include "chrome/browser/browsing_data_file_system_helper.h" +#include "chrome/browser/browsing_data_indexed_db_helper.h" +#include "chrome/browser/browsing_data_local_storage_helper.h" #include "chrome/browser/content_settings/cookie_settings.h" #include "chrome/browser/content_settings/tab_specific_content_settings.h" #include "chrome/browser/cookies_tree_model.h" @@ -200,8 +205,18 @@ GtkWidget* CollectedCookiesGtk::CreateAllowedPane() { TabSpecificContentSettings* content_settings = wrapper_->content_settings(); + const TabSpecificContentSettings::LocalSharedObjectsContainer& allowed_lsos = + content_settings->allowed_local_shared_objects(); allowed_cookies_tree_model_.reset( - content_settings->GetAllowedCookiesTreeModel()); + new CookiesTreeModel(allowed_lsos.cookies()->Clone(), + allowed_lsos.databases()->Clone(), + allowed_lsos.local_storages()->Clone(), + allowed_lsos.session_storages()->Clone(), + allowed_lsos.appcaches()->Clone(), + allowed_lsos.indexed_dbs()->Clone(), + allowed_lsos.file_systems()->Clone(), + NULL, + true)); allowed_cookies_tree_adapter_.reset( new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get())); allowed_tree_ = gtk_tree_view_new_with_model( @@ -277,8 +292,18 @@ GtkWidget* CollectedCookiesGtk::CreateBlockedPane() { TabSpecificContentSettings* content_settings = wrapper_->content_settings(); + const TabSpecificContentSettings::LocalSharedObjectsContainer& blocked_lsos = + content_settings->blocked_local_shared_objects(); blocked_cookies_tree_model_.reset( - content_settings->GetBlockedCookiesTreeModel()); + new CookiesTreeModel(blocked_lsos.cookies()->Clone(), + blocked_lsos.databases()->Clone(), + blocked_lsos.local_storages()->Clone(), + blocked_lsos.session_storages()->Clone(), + blocked_lsos.appcaches()->Clone(), + blocked_lsos.indexed_dbs()->Clone(), + blocked_lsos.file_systems()->Clone(), + NULL, + true)); blocked_cookies_tree_adapter_.reset( new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get())); blocked_tree_ = gtk_tree_view_new_with_model( diff --git a/chrome/browser/ui/views/collected_cookies_views.cc b/chrome/browser/ui/views/collected_cookies_views.cc index ab1ab8c..7cec71f 100644 --- a/chrome/browser/ui/views/collected_cookies_views.cc +++ b/chrome/browser/ui/views/collected_cookies_views.cc @@ -4,6 +4,12 @@ #include "chrome/browser/ui/views/collected_cookies_views.h" +#include "chrome/browser/browsing_data_appcache_helper.h" +#include "chrome/browser/browsing_data_cookie_helper.h" +#include "chrome/browser/browsing_data_database_helper.h" +#include "chrome/browser/browsing_data_file_system_helper.h" +#include "chrome/browser/browsing_data_indexed_db_helper.h" +#include "chrome/browser/browsing_data_local_storage_helper.h" #include "chrome/browser/content_settings/cookie_settings.h" #include "chrome/browser/content_settings/tab_specific_content_settings.h" #include "chrome/browser/cookies_tree_model.h" @@ -319,8 +325,19 @@ views::View* CollectedCookiesViews::CreateAllowedPane() { // Create the controls that go into the pane. allowed_label_ = new views::Label(l10n_util::GetStringUTF16( IDS_COLLECTED_COOKIES_ALLOWED_COOKIES_LABEL)); + + const TabSpecificContentSettings::LocalSharedObjectsContainer& allowed_lsos = + content_settings->allowed_local_shared_objects(); allowed_cookies_tree_model_.reset( - content_settings->GetAllowedCookiesTreeModel()); + new CookiesTreeModel(allowed_lsos.cookies()->Clone(), + allowed_lsos.databases()->Clone(), + allowed_lsos.local_storages()->Clone(), + allowed_lsos.session_storages()->Clone(), + allowed_lsos.appcaches()->Clone(), + allowed_lsos.indexed_dbs()->Clone(), + allowed_lsos.file_systems()->Clone(), + NULL, + true)); allowed_cookies_tree_ = new views::TreeView(); allowed_cookies_tree_->SetModel(allowed_cookies_tree_model_.get()); allowed_cookies_tree_->SetRootShown(false); @@ -375,8 +392,18 @@ views::View* CollectedCookiesViews::CreateBlockedPane() { IDS_COLLECTED_COOKIES_BLOCKED_COOKIES_LABEL)); blocked_label_->SetMultiLine(true); blocked_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); + const TabSpecificContentSettings::LocalSharedObjectsContainer& blocked_lsos = + content_settings->blocked_local_shared_objects(); blocked_cookies_tree_model_.reset( - content_settings->GetBlockedCookiesTreeModel()); + new CookiesTreeModel(blocked_lsos.cookies()->Clone(), + blocked_lsos.databases()->Clone(), + blocked_lsos.local_storages()->Clone(), + blocked_lsos.session_storages()->Clone(), + blocked_lsos.appcaches()->Clone(), + blocked_lsos.indexed_dbs()->Clone(), + blocked_lsos.file_systems()->Clone(), + NULL, + true)); blocked_cookies_tree_ = new views::TreeView(); blocked_cookies_tree_->SetModel(blocked_cookies_tree_model_.get()); blocked_cookies_tree_->SetRootShown(false); |