Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: chrome/browser/ui/gtk/collected_cookies_gtk.cc

Issue 10536017: Refactoring CookiesTreeModel to support multiple data sources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed all comments by Evan. Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/gtk/collected_cookies_gtk.h" 5 #include "chrome/browser/ui/gtk/collected_cookies_gtk.h"
6 6
7 #include <string> 7 #include <string>
8 #include "chrome/browser/browsing_data_appcache_helper.h" 8 #include "chrome/browser/browsing_data_appcache_helper.h"
9 #include "chrome/browser/browsing_data_cookie_helper.h" 9 #include "chrome/browser/browsing_data_cookie_helper.h"
10 #include "chrome/browser/browsing_data_database_helper.h" 10 #include "chrome/browser/browsing_data_database_helper.h"
11 #include "chrome/browser/browsing_data_file_system_helper.h" 11 #include "chrome/browser/browsing_data_file_system_helper.h"
12 #include "chrome/browser/browsing_data_indexed_db_helper.h" 12 #include "chrome/browser/browsing_data_indexed_db_helper.h"
13 #include "chrome/browser/browsing_data_local_storage_helper.h" 13 #include "chrome/browser/browsing_data_local_storage_helper.h"
14 #include "chrome/browser/browsing_data_server_bound_cert_helper.h" 14 #include "chrome/browser/browsing_data_server_bound_cert_helper.h"
15 #include "chrome/browser/content_settings/cookie_settings.h" 15 #include "chrome/browser/content_settings/cookie_settings.h"
16 #include "chrome/browser/content_settings/local_shared_objects_container.h" 16 #include "chrome/browser/content_settings/local_shared_objects_container.h"
17 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 17 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
18 #include "chrome/browser/cookies_tree_model.h" 18 #include "chrome/browser/cookies_tree_model.h"
19 #include "chrome/browser/infobars/infobar_tab_helper.h" 19 #include "chrome/browser/infobars/infobar_tab_helper.h"
20 #include "chrome/browser/local_data_container.h"
20 #include "chrome/browser/prefs/pref_service.h" 21 #include "chrome/browser/prefs/pref_service.h"
21 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
22 #include "chrome/browser/ui/collected_cookies_infobar_delegate.h" 23 #include "chrome/browser/ui/collected_cookies_infobar_delegate.h"
23 #include "chrome/browser/ui/browser_dialogs.h" 24 #include "chrome/browser/ui/browser_dialogs.h"
24 #include "chrome/browser/ui/gtk/constrained_window_gtk.h" 25 #include "chrome/browser/ui/gtk/constrained_window_gtk.h"
25 #include "chrome/browser/ui/gtk/gtk_chrome_cookie_view.h" 26 #include "chrome/browser/ui/gtk/gtk_chrome_cookie_view.h"
26 #include "chrome/browser/ui/gtk/gtk_util.h" 27 #include "chrome/browser/ui/gtk/gtk_util.h"
27 #include "chrome/browser/ui/tab_contents/tab_contents.h" 28 #include "chrome/browser/ui/tab_contents/tab_contents.h"
28 #include "chrome/common/chrome_notification_types.h" 29 #include "chrome/common/chrome_notification_types.h"
29 #include "chrome/common/pref_names.h" 30 #include "chrome/common/pref_names.h"
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 GTK_POLICY_AUTOMATIC); 204 GTK_POLICY_AUTOMATIC);
204 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window), 205 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window),
205 GTK_SHADOW_ETCHED_IN); 206 GTK_SHADOW_ETCHED_IN);
206 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0); 207 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0);
207 208
208 TabSpecificContentSettings* content_settings = 209 TabSpecificContentSettings* content_settings =
209 tab_contents_->content_settings(); 210 tab_contents_->content_settings();
210 211
211 const LocalSharedObjectsContainer& allowed_lsos = 212 const LocalSharedObjectsContainer& allowed_lsos =
212 content_settings->allowed_local_shared_objects(); 213 content_settings->allowed_local_shared_objects();
213 allowed_cookies_tree_model_.reset( 214
214 new CookiesTreeModel(allowed_lsos.cookies()->Clone(), 215 ContainerMap apps_map;
215 allowed_lsos.databases()->Clone(), 216 // TODO(nasko): once the app node of the tree is no longer visible, the
216 allowed_lsos.local_storages()->Clone(), 217 // name won't matter and should be changed to empty string.
217 allowed_lsos.session_storages()->Clone(), 218 apps_map[""] = new LocalDataContainer(
218 allowed_lsos.appcaches()->Clone(), 219 "Site Data", "",
219 allowed_lsos.indexed_dbs()->Clone(), 220 allowed_lsos.cookies()->Clone(),
220 allowed_lsos.file_systems()->Clone(), 221 allowed_lsos.databases()->Clone(),
221 NULL, 222 allowed_lsos.local_storages()->Clone(),
222 allowed_lsos.server_bound_certs()->Clone(), 223 allowed_lsos.session_storages()->Clone(),
223 true)); 224 allowed_lsos.appcaches()->Clone(),
225 allowed_lsos.indexed_dbs()->Clone(),
226 allowed_lsos.file_systems()->Clone(),
227 NULL,
228 allowed_lsos.server_bound_certs()->Clone());
229 allowed_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, true));
224 allowed_cookies_tree_adapter_.reset( 230 allowed_cookies_tree_adapter_.reset(
225 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get())); 231 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get()));
226 allowed_tree_ = gtk_tree_view_new_with_model( 232 allowed_tree_ = gtk_tree_view_new_with_model(
227 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store())); 233 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store()));
228 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight); 234 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight);
229 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE); 235 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE);
230 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE); 236 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE);
231 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_); 237 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_);
232 238
233 GtkTreeViewColumn* title_column = gtk_tree_view_column_new(); 239 GtkTreeViewColumn* title_column = gtk_tree_view_column_new();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 GTK_POLICY_AUTOMATIC); 298 GTK_POLICY_AUTOMATIC);
293 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window), 299 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window),
294 GTK_SHADOW_ETCHED_IN); 300 GTK_SHADOW_ETCHED_IN);
295 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0); 301 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0);
296 302
297 TabSpecificContentSettings* content_settings = 303 TabSpecificContentSettings* content_settings =
298 tab_contents_->content_settings(); 304 tab_contents_->content_settings();
299 305
300 const LocalSharedObjectsContainer& blocked_lsos = 306 const LocalSharedObjectsContainer& blocked_lsos =
301 content_settings->blocked_local_shared_objects(); 307 content_settings->blocked_local_shared_objects();
302 blocked_cookies_tree_model_.reset( 308
303 new CookiesTreeModel(blocked_lsos.cookies()->Clone(), 309 ContainerMap apps_map;
304 blocked_lsos.databases()->Clone(), 310 // TODO(nasko): once the app node of the tree is no longer visible, the
305 blocked_lsos.local_storages()->Clone(), 311 // name won't matter and should be changed to empty string.
306 blocked_lsos.session_storages()->Clone(), 312 apps_map[""] = new LocalDataContainer(
307 blocked_lsos.appcaches()->Clone(), 313 "Site Data", "",
308 blocked_lsos.indexed_dbs()->Clone(), 314 blocked_lsos.cookies()->Clone(),
309 blocked_lsos.file_systems()->Clone(), 315 blocked_lsos.databases()->Clone(),
310 NULL, 316 blocked_lsos.local_storages()->Clone(),
311 blocked_lsos.server_bound_certs()->Clone(), 317 blocked_lsos.session_storages()->Clone(),
312 true)); 318 blocked_lsos.appcaches()->Clone(),
319 blocked_lsos.indexed_dbs()->Clone(),
320 blocked_lsos.file_systems()->Clone(),
321 NULL,
322 blocked_lsos.server_bound_certs()->Clone());
323 blocked_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, true));
313 blocked_cookies_tree_adapter_.reset( 324 blocked_cookies_tree_adapter_.reset(
314 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get())); 325 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get()));
315 blocked_tree_ = gtk_tree_view_new_with_model( 326 blocked_tree_ = gtk_tree_view_new_with_model(
316 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store())); 327 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store()));
317 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight); 328 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight);
318 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE); 329 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE);
319 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE); 330 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE);
320 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_); 331 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_);
321 332
322 GtkTreeViewColumn* title_column = gtk_tree_view_column_new(); 333 GtkTreeViewColumn* title_column = gtk_tree_view_column_new();
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 561 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
551 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE); 562 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE);
552 g_signal_handlers_unblock_by_func( 563 g_signal_handlers_unblock_by_func(
553 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 564 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
554 } 565 }
555 566
556 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) { 567 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) {
557 EnableControls(); 568 EnableControls();
558 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_))); 569 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_)));
559 } 570 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698