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 |