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

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: argh 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 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 std::string(), std::string(), 219 std::string(), std::string(),
220 allowed_lsos.cookies()->Clone(), 220 allowed_lsos.cookies()->Clone(),
221 allowed_lsos.databases()->Clone(), 221 allowed_lsos.databases()->Clone(),
222 allowed_lsos.local_storages()->Clone(), 222 allowed_lsos.local_storages()->Clone(),
223 allowed_lsos.session_storages()->Clone(), 223 allowed_lsos.session_storages()->Clone(),
224 allowed_lsos.appcaches()->Clone(), 224 allowed_lsos.appcaches()->Clone(),
225 allowed_lsos.indexed_dbs()->Clone(), 225 allowed_lsos.indexed_dbs()->Clone(),
226 allowed_lsos.file_systems()->Clone(), 226 allowed_lsos.file_systems()->Clone(),
227 NULL, 227 NULL,
228 allowed_lsos.server_bound_certs()->Clone()); 228 allowed_lsos.server_bound_certs()->Clone());
229 allowed_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, true)); 229 allowed_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, NULL, true));
230 allowed_cookies_tree_adapter_.reset( 230 allowed_cookies_tree_adapter_.reset(
231 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get())); 231 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get()));
232 allowed_tree_ = gtk_tree_view_new_with_model( 232 allowed_tree_ = gtk_tree_view_new_with_model(
233 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store())); 233 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store()));
234 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight); 234 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight);
235 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);
236 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);
237 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_); 237 gtk_container_add(GTK_CONTAINER(scroll_window), allowed_tree_);
238 238
239 GtkTreeViewColumn* title_column = gtk_tree_view_column_new(); 239 GtkTreeViewColumn* title_column = gtk_tree_view_column_new();
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 std::string(), std::string(), 310 std::string(), std::string(),
311 blocked_lsos.cookies()->Clone(), 311 blocked_lsos.cookies()->Clone(),
312 blocked_lsos.databases()->Clone(), 312 blocked_lsos.databases()->Clone(),
313 blocked_lsos.local_storages()->Clone(), 313 blocked_lsos.local_storages()->Clone(),
314 blocked_lsos.session_storages()->Clone(), 314 blocked_lsos.session_storages()->Clone(),
315 blocked_lsos.appcaches()->Clone(), 315 blocked_lsos.appcaches()->Clone(),
316 blocked_lsos.indexed_dbs()->Clone(), 316 blocked_lsos.indexed_dbs()->Clone(),
317 blocked_lsos.file_systems()->Clone(), 317 blocked_lsos.file_systems()->Clone(),
318 NULL, 318 NULL,
319 blocked_lsos.server_bound_certs()->Clone()); 319 blocked_lsos.server_bound_certs()->Clone());
320 blocked_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, true)); 320 blocked_cookies_tree_model_.reset(new CookiesTreeModel(apps_map, NULL, true));
321 blocked_cookies_tree_adapter_.reset( 321 blocked_cookies_tree_adapter_.reset(
322 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get())); 322 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get()));
323 blocked_tree_ = gtk_tree_view_new_with_model( 323 blocked_tree_ = gtk_tree_view_new_with_model(
324 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store())); 324 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store()));
325 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight); 325 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight);
326 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE); 326 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE);
327 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE); 327 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE);
328 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_); 328 gtk_container_add(GTK_CONTAINER(scroll_window), blocked_tree_);
329 329
330 GtkTreeViewColumn* title_column = gtk_tree_view_column_new(); 330 GtkTreeViewColumn* title_column = gtk_tree_view_column_new();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 } 420 }
421 421
422 GtkWidget* CollectedCookiesGtk::GetFocusWidget() { 422 GtkWidget* CollectedCookiesGtk::GetFocusWidget() {
423 return close_button_; 423 return close_button_;
424 } 424 }
425 425
426 void CollectedCookiesGtk::DeleteDelegate() { 426 void CollectedCookiesGtk::DeleteDelegate() {
427 delete this; 427 delete this;
428 } 428 }
429 429
430 bool CollectedCookiesGtk::SelectionContainsOriginNode( 430 bool CollectedCookiesGtk::SelectionContainsHostNode(
431 GtkTreeSelection* selection, gtk_tree::TreeAdapter* adapter) { 431 GtkTreeSelection* selection, gtk_tree::TreeAdapter* adapter) {
432 // Check whether at least one "origin" node is selected. 432 // Check whether at least one "origin" node is selected.
433 GtkTreeModel* model; 433 GtkTreeModel* model;
434 GList* paths = 434 GList* paths =
435 gtk_tree_selection_get_selected_rows(selection, &model); 435 gtk_tree_selection_get_selected_rows(selection, &model);
436 bool contains_origin_node = false; 436 bool contains_host_node = false;
437 for (GList* item = paths; item; item = item->next) { 437 for (GList* item = paths; item; item = item->next) {
438 GtkTreeIter iter; 438 GtkTreeIter iter;
439 gtk_tree_model_get_iter( 439 gtk_tree_model_get_iter(
440 model, &iter, reinterpret_cast<GtkTreePath*>(item->data)); 440 model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
441 CookieTreeNode* node = 441 CookieTreeNode* node =
442 static_cast<CookieTreeNode*>(adapter->GetNode(&iter)); 442 static_cast<CookieTreeNode*>(adapter->GetNode(&iter));
443 if (node->GetDetailedInfo().node_type != 443 if (node->GetDetailedInfo().node_type !=
444 CookieTreeNode::DetailedInfo::TYPE_ORIGIN) 444 CookieTreeNode::DetailedInfo::TYPE_HOST)
445 continue; 445 continue;
446 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>( 446 CookieTreeHostNode* host_node = static_cast<CookieTreeHostNode*>(
447 node); 447 node);
448 if (!origin_node->CanCreateContentException()) 448 if (!host_node->CanCreateContentException())
449 continue; 449 continue;
450 contains_origin_node = true; 450 contains_host_node = true;
451 } 451 }
452 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL); 452 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL);
453 g_list_free(paths); 453 g_list_free(paths);
454 return contains_origin_node; 454 return contains_host_node;
455 } 455 }
456 456
457 void CollectedCookiesGtk::EnableControls() { 457 void CollectedCookiesGtk::EnableControls() {
458 // Update button states. 458 // Update button states.
459 bool enable_for_allowed_cookies = 459 bool enable_for_allowed_cookies =
460 SelectionContainsOriginNode(allowed_selection_, 460 SelectionContainsHostNode(allowed_selection_,
461 allowed_cookies_tree_adapter_.get()); 461 allowed_cookies_tree_adapter_.get());
462 gtk_widget_set_sensitive(block_allowed_cookie_button_, 462 gtk_widget_set_sensitive(block_allowed_cookie_button_,
463 enable_for_allowed_cookies); 463 enable_for_allowed_cookies);
464 464
465 bool enable_for_blocked_cookies = 465 bool enable_for_blocked_cookies =
466 SelectionContainsOriginNode(blocked_selection_, 466 SelectionContainsHostNode(blocked_selection_,
467 blocked_cookies_tree_adapter_.get()); 467 blocked_cookies_tree_adapter_.get());
468 gtk_widget_set_sensitive(allow_blocked_cookie_button_, 468 gtk_widget_set_sensitive(allow_blocked_cookie_button_,
469 enable_for_blocked_cookies); 469 enable_for_blocked_cookies);
470 gtk_widget_set_sensitive(for_session_blocked_cookie_button_, 470 gtk_widget_set_sensitive(for_session_blocked_cookie_button_,
471 enable_for_blocked_cookies); 471 enable_for_blocked_cookies);
472 } 472 }
473 473
474 void CollectedCookiesGtk::Observe(int type, 474 void CollectedCookiesGtk::Observe(int type,
475 const content::NotificationSource& source, 475 const content::NotificationSource& source,
476 const content::NotificationDetails& details) { 476 const content::NotificationDetails& details) {
(...skipping 18 matching lines...) Expand all
495 gtk_tree_selection_get_selected_rows(selection, &model); 495 gtk_tree_selection_get_selected_rows(selection, &model);
496 string16 last_domain_name; 496 string16 last_domain_name;
497 bool multiple_domains_added = false; 497 bool multiple_domains_added = false;
498 for (GList* item = paths; item; item = item->next) { 498 for (GList* item = paths; item; item = item->next) {
499 GtkTreeIter iter; 499 GtkTreeIter iter;
500 gtk_tree_model_get_iter( 500 gtk_tree_model_get_iter(
501 model, &iter, reinterpret_cast<GtkTreePath*>(item->data)); 501 model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
502 CookieTreeNode* node = 502 CookieTreeNode* node =
503 static_cast<CookieTreeNode*>(adapter->GetNode(&iter)); 503 static_cast<CookieTreeNode*>(adapter->GetNode(&iter));
504 if (node->GetDetailedInfo().node_type != 504 if (node->GetDetailedInfo().node_type !=
505 CookieTreeNode::DetailedInfo::TYPE_ORIGIN) 505 CookieTreeNode::DetailedInfo::TYPE_HOST)
506 continue; 506 continue;
507 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>( 507 CookieTreeHostNode* host_node = static_cast<CookieTreeHostNode*>(
508 node); 508 node);
509 if (origin_node->CanCreateContentException()) { 509 if (host_node->CanCreateContentException()) {
510 if (!last_domain_name.empty()) 510 if (!last_domain_name.empty())
511 multiple_domains_added = true; 511 multiple_domains_added = true;
512 last_domain_name = origin_node->GetTitle(); 512 last_domain_name = host_node->GetTitle();
513 Profile* profile = tab_contents_->profile(); 513 Profile* profile = tab_contents_->profile();
514 origin_node->CreateContentException( 514 host_node->CreateContentException(
515 CookieSettings::Factory::GetForProfile(profile), setting); 515 CookieSettings::Factory::GetForProfile(profile), setting);
516 } 516 }
517 } 517 }
518 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL); 518 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL);
519 g_list_free(paths); 519 g_list_free(paths);
520 if (last_domain_name.empty()) { 520 if (last_domain_name.empty()) {
521 gtk_widget_hide(infobar_); 521 gtk_widget_hide(infobar_);
522 } else { 522 } else {
523 gtk_label_set_text( 523 gtk_label_set_text(
524 GTK_LABEL(infobar_label_), GetInfobarLabel( 524 GTK_LABEL(infobar_label_), GetInfobarLabel(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 558 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
559 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE); 559 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE);
560 g_signal_handlers_unblock_by_func( 560 g_signal_handlers_unblock_by_func(
561 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 561 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
562 } 562 }
563 563
564 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) { 564 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) {
565 EnableControls(); 565 EnableControls();
566 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_))); 566 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_)));
567 } 567 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/collected_cookies_gtk.h ('k') | chrome/browser/ui/views/collected_cookies_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698