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

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

Issue 10709006: Show apps protecting local data in chrome://settings/cookies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 allowed_cookies_tree_model_.reset( 216 allowed_cookies_tree_model_.reset(
217 new CookiesTreeModel(allowed_lsos.cookies()->Clone(), 217 new CookiesTreeModel(allowed_lsos.cookies()->Clone(),
218 allowed_lsos.databases()->Clone(), 218 allowed_lsos.databases()->Clone(),
219 allowed_lsos.local_storages()->Clone(), 219 allowed_lsos.local_storages()->Clone(),
220 allowed_lsos.session_storages()->Clone(), 220 allowed_lsos.session_storages()->Clone(),
221 allowed_lsos.appcaches()->Clone(), 221 allowed_lsos.appcaches()->Clone(),
222 allowed_lsos.indexed_dbs()->Clone(), 222 allowed_lsos.indexed_dbs()->Clone(),
223 allowed_lsos.file_systems()->Clone(), 223 allowed_lsos.file_systems()->Clone(),
224 NULL, 224 NULL,
225 allowed_lsos.server_bound_certs()->Clone(), 225 allowed_lsos.server_bound_certs()->Clone(),
226 NULL,
marja 2012/07/09 08:11:43 Why NULL here?
Bernhard Bauer 2012/07/09 09:50:48 At the moment we don't have UI in the collected co
226 true)); 227 true));
227 allowed_cookies_tree_adapter_.reset( 228 allowed_cookies_tree_adapter_.reset(
228 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get())); 229 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get()));
229 allowed_tree_ = gtk_tree_view_new_with_model( 230 allowed_tree_ = gtk_tree_view_new_with_model(
230 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store())); 231 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store()));
231 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight); 232 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight);
232 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE); 233 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE);
233 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE); 234 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE);
234 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_); 235 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_);
235 236
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 blocked_cookies_tree_model_.reset( 306 blocked_cookies_tree_model_.reset(
306 new CookiesTreeModel(blocked_lsos.cookies()->Clone(), 307 new CookiesTreeModel(blocked_lsos.cookies()->Clone(),
307 blocked_lsos.databases()->Clone(), 308 blocked_lsos.databases()->Clone(),
308 blocked_lsos.local_storages()->Clone(), 309 blocked_lsos.local_storages()->Clone(),
309 blocked_lsos.session_storages()->Clone(), 310 blocked_lsos.session_storages()->Clone(),
310 blocked_lsos.appcaches()->Clone(), 311 blocked_lsos.appcaches()->Clone(),
311 blocked_lsos.indexed_dbs()->Clone(), 312 blocked_lsos.indexed_dbs()->Clone(),
312 blocked_lsos.file_systems()->Clone(), 313 blocked_lsos.file_systems()->Clone(),
313 NULL, 314 NULL,
314 blocked_lsos.server_bound_certs()->Clone(), 315 blocked_lsos.server_bound_certs()->Clone(),
316 NULL,
315 true)); 317 true));
316 blocked_cookies_tree_adapter_.reset( 318 blocked_cookies_tree_adapter_.reset(
317 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get())); 319 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get()));
318 blocked_tree_ = gtk_tree_view_new_with_model( 320 blocked_tree_ = gtk_tree_view_new_with_model(
319 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store())); 321 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store()));
320 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight); 322 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight);
321 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE); 323 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE);
322 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE); 324 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE);
323 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_); 325 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_);
324 326
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 } 417 }
416 418
417 GtkWidget* CollectedCookiesGtk::GetFocusWidget() { 419 GtkWidget* CollectedCookiesGtk::GetFocusWidget() {
418 return close_button_; 420 return close_button_;
419 } 421 }
420 422
421 void CollectedCookiesGtk::DeleteDelegate() { 423 void CollectedCookiesGtk::DeleteDelegate() {
422 delete this; 424 delete this;
423 } 425 }
424 426
425 bool CollectedCookiesGtk::SelectionContainsOriginNode( 427 bool CollectedCookiesGtk::SelectionContainsHostNode(
426 GtkTreeSelection* selection, gtk_tree::TreeAdapter* adapter) { 428 GtkTreeSelection* selection, gtk_tree::TreeAdapter* adapter) {
427 // Check whether at least one "origin" node is selected. 429 // Check whether at least one "origin" node is selected.
428 GtkTreeModel* model; 430 GtkTreeModel* model;
429 GList* paths = 431 GList* paths =
430 gtk_tree_selection_get_selected_rows(selection, &model); 432 gtk_tree_selection_get_selected_rows(selection, &model);
431 bool contains_origin_node = false; 433 bool contains_host_node = false;
432 for (GList* item = paths; item; item = item->next) { 434 for (GList* item = paths; item; item = item->next) {
433 GtkTreeIter iter; 435 GtkTreeIter iter;
434 gtk_tree_model_get_iter( 436 gtk_tree_model_get_iter(
435 model, &iter, reinterpret_cast<GtkTreePath*>(item->data)); 437 model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
436 CookieTreeNode* node = 438 CookieTreeNode* node =
437 static_cast<CookieTreeNode*>(adapter->GetNode(&iter)); 439 static_cast<CookieTreeNode*>(adapter->GetNode(&iter));
438 if (node->GetDetailedInfo().node_type != 440 if (node->GetDetailedInfo().node_type !=
439 CookieTreeNode::DetailedInfo::TYPE_ORIGIN) 441 CookieTreeNode::DetailedInfo::TYPE_HOST)
440 continue; 442 continue;
441 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>( 443 CookieTreeHostNode* host_node = static_cast<CookieTreeHostNode*>(
442 node); 444 node);
443 if (!origin_node->CanCreateContentException()) 445 if (!host_node->CanCreateContentException())
444 continue; 446 continue;
445 contains_origin_node = true; 447 contains_host_node = true;
446 } 448 }
447 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL); 449 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL);
448 g_list_free(paths); 450 g_list_free(paths);
449 return contains_origin_node; 451 return contains_host_node;
450 } 452 }
451 453
452 void CollectedCookiesGtk::EnableControls() { 454 void CollectedCookiesGtk::EnableControls() {
453 // Update button states. 455 // Update button states.
454 bool enable_for_allowed_cookies = 456 bool enable_for_allowed_cookies =
455 SelectionContainsOriginNode(allowed_selection_, 457 SelectionContainsHostNode(allowed_selection_,
456 allowed_cookies_tree_adapter_.get()); 458 allowed_cookies_tree_adapter_.get());
457 gtk_widget_set_sensitive(block_allowed_cookie_button_, 459 gtk_widget_set_sensitive(block_allowed_cookie_button_,
458 enable_for_allowed_cookies); 460 enable_for_allowed_cookies);
459 461
460 bool enable_for_blocked_cookies = 462 bool enable_for_blocked_cookies =
461 SelectionContainsOriginNode(blocked_selection_, 463 SelectionContainsHostNode(blocked_selection_,
462 blocked_cookies_tree_adapter_.get()); 464 blocked_cookies_tree_adapter_.get());
463 gtk_widget_set_sensitive(allow_blocked_cookie_button_, 465 gtk_widget_set_sensitive(allow_blocked_cookie_button_,
464 enable_for_blocked_cookies); 466 enable_for_blocked_cookies);
465 gtk_widget_set_sensitive(for_session_blocked_cookie_button_, 467 gtk_widget_set_sensitive(for_session_blocked_cookie_button_,
466 enable_for_blocked_cookies); 468 enable_for_blocked_cookies);
467 } 469 }
468 470
469 void CollectedCookiesGtk::Observe(int type, 471 void CollectedCookiesGtk::Observe(int type,
470 const content::NotificationSource& source, 472 const content::NotificationSource& source,
471 const content::NotificationDetails& details) { 473 const content::NotificationDetails& details) {
(...skipping 18 matching lines...) Expand all
490 gtk_tree_selection_get_selected_rows(selection, &model); 492 gtk_tree_selection_get_selected_rows(selection, &model);
491 string16 last_domain_name; 493 string16 last_domain_name;
492 bool multiple_domains_added = false; 494 bool multiple_domains_added = false;
493 for (GList* item = paths; item; item = item->next) { 495 for (GList* item = paths; item; item = item->next) {
494 GtkTreeIter iter; 496 GtkTreeIter iter;
495 gtk_tree_model_get_iter( 497 gtk_tree_model_get_iter(
496 model, &iter, reinterpret_cast<GtkTreePath*>(item->data)); 498 model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
497 CookieTreeNode* node = 499 CookieTreeNode* node =
498 static_cast<CookieTreeNode*>(adapter->GetNode(&iter)); 500 static_cast<CookieTreeNode*>(adapter->GetNode(&iter));
499 if (node->GetDetailedInfo().node_type != 501 if (node->GetDetailedInfo().node_type !=
500 CookieTreeNode::DetailedInfo::TYPE_ORIGIN) 502 CookieTreeNode::DetailedInfo::TYPE_HOST)
501 continue; 503 continue;
502 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>( 504 CookieTreeHostNode* host_node = static_cast<CookieTreeHostNode*>(
503 node); 505 node);
504 if (origin_node->CanCreateContentException()) { 506 if (host_node->CanCreateContentException()) {
505 if (!last_domain_name.empty()) 507 if (!last_domain_name.empty())
506 multiple_domains_added = true; 508 multiple_domains_added = true;
507 last_domain_name = origin_node->GetTitle(); 509 last_domain_name = host_node->GetTitle();
508 Profile* profile = tab_contents_->profile(); 510 Profile* profile = tab_contents_->profile();
509 origin_node->CreateContentException( 511 host_node->CreateContentException(
510 CookieSettings::Factory::GetForProfile(profile), setting); 512 CookieSettings::Factory::GetForProfile(profile), setting);
511 } 513 }
512 } 514 }
513 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL); 515 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL);
514 g_list_free(paths); 516 g_list_free(paths);
515 if (last_domain_name.empty()) { 517 if (last_domain_name.empty()) {
516 gtk_widget_hide(infobar_); 518 gtk_widget_hide(infobar_);
517 } else { 519 } else {
518 gtk_label_set_text( 520 gtk_label_set_text(
519 GTK_LABEL(infobar_label_), GetInfobarLabel( 521 GTK_LABEL(infobar_label_), GetInfobarLabel(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 555 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
554 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE); 556 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE);
555 g_signal_handlers_unblock_by_func( 557 g_signal_handlers_unblock_by_func(
556 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 558 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
557 } 559 }
558 560
559 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) { 561 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) {
560 EnableControls(); 562 EnableControls();
561 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_))); 563 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_)));
562 } 564 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698