diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-10 18:13:40 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-10 18:13:40 +0000 |
commit | b5c6e3061b38fc9936063c4b95a6fdb36dcd494d (patch) | |
tree | c33e9e39fe93750f0947b046f686df44d5ca5182 /chrome/browser/views/options | |
parent | 042c368e489772c0ff89f25beb396a948659a268 (diff) | |
download | chromium_src-b5c6e3061b38fc9936063c4b95a6fdb36dcd494d.zip chromium_src-b5c6e3061b38fc9936063c4b95a6fdb36dcd494d.tar.gz chromium_src-b5c6e3061b38fc9936063c4b95a6fdb36dcd494d.tar.bz2 |
Add support for HTML5 databases to the cookie tree model.
BUG=34633
TEST=create local databases, open cookie tree view from prefs.
Review URL: http://codereview.chromium.org/596009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38635 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/options')
-rw-r--r-- | chrome/browser/views/options/cookies_view.cc | 26 | ||||
-rw-r--r-- | chrome/browser/views/options/cookies_view.h | 7 |
2 files changed, 25 insertions, 8 deletions
diff --git a/chrome/browser/views/options/cookies_view.cc b/chrome/browser/views/options/cookies_view.cc index 3e80cf1..bcfa0a20 100644 --- a/chrome/browser/views/options/cookies_view.cc +++ b/chrome/browser/views/options/cookies_view.cc @@ -15,6 +15,7 @@ #include "chrome/browser/cookies_tree_model.h" #include "chrome/browser/profile.h" #include "chrome/browser/views/cookie_info_view.h" +#include "chrome/browser/views/database_info_view.h" #include "chrome/browser/views/local_storage_info_view.h" #include "grit/generated_resources.h" #include "grit/locale_settings.h" @@ -92,7 +93,7 @@ void CookiesView::ButtonPressed( if (cookies_tree_model_->GetRoot()->GetChildCount() == 0) UpdateForEmptyState(); } else if (sender == remove_all_button_) { - cookies_tree_model_->DeleteAllCookies(); + cookies_tree_model_->DeleteAllStoredObjects(); UpdateForEmptyState(); } else if (sender == clear_search_button_) { ResetSearchQuery(); @@ -184,6 +185,10 @@ void CookiesView::OnTreeViewSelectionChanged(views::TreeView* tree_view) { cookie_info_view_->SetCookie(detailed_info.cookie->first, detailed_info.cookie->second); } else if (detailed_info.node_type == + CookieTreeNode::DetailedInfo::TYPE_DATABASE) { + UpdateVisibleDetailedInfo(database_info_view_); + database_info_view_->SetDatabaseInfo(*detailed_info.database_info); + } else if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { UpdateVisibleDetailedInfo(local_storage_info_view_); local_storage_info_view_->SetLocalStorageInfo( @@ -210,6 +215,7 @@ CookiesView::CookiesView(Profile* profile) description_label_(NULL), cookies_tree_(NULL), cookie_info_view_(NULL), + database_info_view_(NULL), local_storage_info_view_(NULL), remove_button_(NULL), remove_all_button_(NULL), @@ -237,9 +243,11 @@ void CookiesView::Init() { description_label_ = new views::Label( l10n_util::GetString(IDS_COOKIES_INFO_LABEL)); description_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - cookies_tree_model_.reset(new CookiesTreeModel( - profile_, new BrowsingDataLocalStorageHelper(profile_))); + cookies_tree_model_.reset(new CookiesTreeModel(profile_, + new BrowsingDataDatabaseHelper(profile_), + new BrowsingDataLocalStorageHelper(profile_))); cookie_info_view_ = new CookieInfoView(false); + database_info_view_ = new DatabaseInfoView; local_storage_info_view_ = new LocalStorageInfoView; cookies_tree_ = new CookiesTreeView(cookies_tree_model_.get()); remove_button_ = new views::NativeButton( @@ -291,6 +299,9 @@ void CookiesView::Init() { layout->AddView(cookie_info_view_, 1, 2); layout->StartRow(0, single_column_layout_id); + layout->AddView(database_info_view_); + + layout->StartRow(0, single_column_layout_id); layout->AddView(local_storage_info_view_); // Add the Remove/Remove All buttons to the ClientView @@ -318,7 +329,10 @@ void CookiesView::UpdateForEmptyState() { void CookiesView::UpdateVisibleDetailedInfo(views::View* view) { view->SetVisible(true); - views::View* other = local_storage_info_view_; - if (view == local_storage_info_view_) other = cookie_info_view_; - other->SetVisible(false); + if (view != cookie_info_view_) + cookie_info_view_->SetVisible(false); + if (view != database_info_view_) + database_info_view_->SetVisible(false); + if (view != local_storage_info_view_) + local_storage_info_view_->SetVisible(false); } diff --git a/chrome/browser/views/options/cookies_view.h b/chrome/browser/views/options/cookies_view.h index 070120e..0010fbc 100644 --- a/chrome/browser/views/options/cookies_view.h +++ b/chrome/browser/views/options/cookies_view.h @@ -8,7 +8,6 @@ #include <string> #include "base/task.h" -#include "chrome/browser/browsing_data_local_storage_helper.h" #include "net/base/cookie_monster.h" #include "views/controls/button/button.h" #include "views/controls/tree/tree_view.h" @@ -25,10 +24,10 @@ class NativeButton; } // namespace views -class BrowsingDataLocalStorageHelper; class CookieInfoView; class CookiesTreeModel; class CookiesTreeView; +class DatabaseInfoView; class LocalStorageInfoView; class Profile; class Timer; @@ -102,6 +101,9 @@ class CookiesView : public views::View, // Update the UI when a cookie is selected. void UpdateForCookieState(); + // Update the UI when a database is selected. + void UpdateForDatabaseState(); + // Update the UI when a local storage is selected. void UpdateForLocalStorageState(); @@ -115,6 +117,7 @@ class CookiesView : public views::View, views::Label* description_label_; CookiesTreeView* cookies_tree_; CookieInfoView* cookie_info_view_; + DatabaseInfoView* database_info_view_; LocalStorageInfoView* local_storage_info_view_; views::NativeButton* remove_button_; views::NativeButton* remove_all_button_; |