summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/options
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-10 18:13:40 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-10 18:13:40 +0000
commitb5c6e3061b38fc9936063c4b95a6fdb36dcd494d (patch)
treec33e9e39fe93750f0947b046f686df44d5ca5182 /chrome/browser/views/options
parent042c368e489772c0ff89f25beb396a948659a268 (diff)
downloadchromium_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.cc26
-rw-r--r--chrome/browser/views/options/cookies_view.h7
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_;