| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |