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

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

Issue 7831051: content: Move collected cookies constrained window to TabContentsWrapper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Compile failures for everyone\! Created 9 years, 3 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
« no previous file with comments | « chrome/browser/ui/gtk/collected_cookies_gtk.h ('k') | chrome/browser/ui/panels/panel.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 8
9 #include "chrome/browser/content_settings/host_content_settings_map.h" 9 #include "chrome/browser/content_settings/host_content_settings_map.h"
10 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 10 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 case CONTENT_SETTING_SESSION_ONLY: 71 case CONTENT_SETTING_SESSION_ONLY:
72 return l10n_util::GetStringFUTF8( 72 return l10n_util::GetStringFUTF8(
73 IDS_COLLECTED_COOKIES_SESSION_RULE_CREATED, domain_name); 73 IDS_COLLECTED_COOKIES_SESSION_RULE_CREATED, domain_name);
74 74
75 default: 75 default:
76 NOTREACHED(); 76 NOTREACHED();
77 return std::string(); 77 return std::string();
78 } 78 }
79 } 79 }
80
80 } // namespace 81 } // namespace
81 82
82 CollectedCookiesGtk::CollectedCookiesGtk(GtkWindow* parent, 83 CollectedCookiesGtk::CollectedCookiesGtk(GtkWindow* parent,
83 TabContents* tab_contents) 84 TabContentsWrapper* wrapper)
84 : tab_contents_(tab_contents), 85 : wrapper_(wrapper),
85 status_changed_(false) { 86 status_changed_(false) {
86 TabSpecificContentSettings* content_settings =
87 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents)->
88 content_settings();
89 registrar_.Add(this, chrome::NOTIFICATION_COLLECTED_COOKIES_SHOWN, 87 registrar_.Add(this, chrome::NOTIFICATION_COLLECTED_COOKIES_SHOWN,
90 Source<TabSpecificContentSettings>(content_settings)); 88 Source<TabSpecificContentSettings>(
89 wrapper->content_settings()));
91 90
92 Init(); 91 Init();
93 } 92 }
94 93
95 void CollectedCookiesGtk::Init() { 94 void CollectedCookiesGtk::Init() {
96 dialog_ = gtk_vbox_new(FALSE, ui::kContentAreaSpacing); 95 dialog_ = gtk_vbox_new(FALSE, ui::kContentAreaSpacing);
97 gtk_box_set_spacing(GTK_BOX(dialog_), ui::kContentAreaSpacing); 96 gtk_box_set_spacing(GTK_BOX(dialog_), ui::kContentAreaSpacing);
98 97
99 GtkWidget* label = gtk_label_new( 98 GtkWidget* label = gtk_label_new(
100 l10n_util::GetStringUTF8(IDS_COLLECTED_COOKIES_DIALOG_TITLE).c_str()); 99 l10n_util::GetStringUTF8(IDS_COLLECTED_COOKIES_DIALOG_TITLE).c_str());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 gtk_button_set_label(GTK_BUTTON(close_button_), 156 gtk_button_set_label(GTK_BUTTON(close_button_),
158 l10n_util::GetStringUTF8(IDS_CLOSE).c_str()); 157 l10n_util::GetStringUTF8(IDS_CLOSE).c_str());
159 g_signal_connect(close_button_, "clicked", G_CALLBACK(OnCloseThunk), this); 158 g_signal_connect(close_button_, "clicked", G_CALLBACK(OnCloseThunk), this);
160 gtk_box_pack_end(GTK_BOX(button_box), close_button_, FALSE, TRUE, 0); 159 gtk_box_pack_end(GTK_BOX(button_box), close_button_, FALSE, TRUE, 0);
161 160
162 // Show the dialog. 161 // Show the dialog.
163 allowed_cookies_tree_adapter_->Init(); 162 allowed_cookies_tree_adapter_->Init();
164 blocked_cookies_tree_adapter_->Init(); 163 blocked_cookies_tree_adapter_->Init();
165 EnableControls(); 164 EnableControls();
166 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_))); 165 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_)));
167 window_ = new ConstrainedWindowGtk(tab_contents_, this); 166 window_ = new ConstrainedWindowGtk(wrapper_->tab_contents(), this);
168 } 167 }
169 168
170 GtkWidget* CollectedCookiesGtk::CreateAllowedPane() { 169 GtkWidget* CollectedCookiesGtk::CreateAllowedPane() {
171 GtkWidget* cookie_list_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing); 170 GtkWidget* cookie_list_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing);
172 171
173 GtkWidget* label = gtk_label_new( 172 GtkWidget* label = gtk_label_new(
174 l10n_util::GetStringUTF8(IDS_COLLECTED_COOKIES_ALLOWED_COOKIES_LABEL). 173 l10n_util::GetStringUTF8(IDS_COLLECTED_COOKIES_ALLOWED_COOKIES_LABEL).
175 c_str()); 174 c_str());
176 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 175 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
177 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), label, FALSE, FALSE, 176 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), label, FALSE, FALSE,
178 ui::kControlSpacing); 177 ui::kControlSpacing);
179 178
180 GtkWidget* scroll_window = gtk_scrolled_window_new(NULL, NULL); 179 GtkWidget* scroll_window = gtk_scrolled_window_new(NULL, NULL);
181 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_window), 180 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_window),
182 GTK_POLICY_AUTOMATIC, 181 GTK_POLICY_AUTOMATIC,
183 GTK_POLICY_AUTOMATIC); 182 GTK_POLICY_AUTOMATIC);
184 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window), 183 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window),
185 GTK_SHADOW_ETCHED_IN); 184 GTK_SHADOW_ETCHED_IN);
186 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0); 185 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0);
187 186
188 TabSpecificContentSettings* content_settings = 187 TabSpecificContentSettings* content_settings = wrapper_->content_settings();
189 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents_)->
190 content_settings();
191 188
192 allowed_cookies_tree_model_.reset( 189 allowed_cookies_tree_model_.reset(
193 content_settings->GetAllowedCookiesTreeModel()); 190 content_settings->GetAllowedCookiesTreeModel());
194 allowed_cookies_tree_adapter_.reset( 191 allowed_cookies_tree_adapter_.reset(
195 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get())); 192 new gtk_tree::TreeAdapter(this, allowed_cookies_tree_model_.get()));
196 allowed_tree_ = gtk_tree_view_new_with_model( 193 allowed_tree_ = gtk_tree_view_new_with_model(
197 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store())); 194 GTK_TREE_MODEL(allowed_cookies_tree_adapter_->tree_store()));
198 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight); 195 gtk_widget_set_size_request(allowed_tree_, kTreeViewWidth, kTreeViewHeight);
199 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE); 196 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allowed_tree_), FALSE);
200 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE); 197 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(allowed_tree_), TRUE);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 231
235 // Wrap the vbox inside an hbox so that we can specify padding along the 232 // Wrap the vbox inside an hbox so that we can specify padding along the
236 // horizontal axis. 233 // horizontal axis.
237 GtkWidget* box = gtk_hbox_new(FALSE, 0); 234 GtkWidget* box = gtk_hbox_new(FALSE, 0);
238 gtk_box_pack_start(GTK_BOX(box), cookie_list_vbox, TRUE, TRUE, 235 gtk_box_pack_start(GTK_BOX(box), cookie_list_vbox, TRUE, TRUE,
239 ui::kControlSpacing); 236 ui::kControlSpacing);
240 return box; 237 return box;
241 } 238 }
242 239
243 GtkWidget* CollectedCookiesGtk::CreateBlockedPane() { 240 GtkWidget* CollectedCookiesGtk::CreateBlockedPane() {
244 TabContentsWrapper* wrapper =
245 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents_);
246 HostContentSettingsMap* host_content_settings_map = 241 HostContentSettingsMap* host_content_settings_map =
247 wrapper->profile()->GetHostContentSettingsMap(); 242 wrapper_->profile()->GetHostContentSettingsMap();
248 243
249 GtkWidget* cookie_list_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing); 244 GtkWidget* cookie_list_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing);
250 245
251 GtkWidget* label = gtk_label_new( 246 GtkWidget* label = gtk_label_new(
252 l10n_util::GetStringUTF8( 247 l10n_util::GetStringUTF8(
253 host_content_settings_map->BlockThirdPartyCookies() ? 248 host_content_settings_map->BlockThirdPartyCookies() ?
254 IDS_COLLECTED_COOKIES_BLOCKED_THIRD_PARTY_BLOCKING_ENABLED : 249 IDS_COLLECTED_COOKIES_BLOCKED_THIRD_PARTY_BLOCKING_ENABLED :
255 IDS_COLLECTED_COOKIES_BLOCKED_COOKIES_LABEL).c_str()); 250 IDS_COLLECTED_COOKIES_BLOCKED_COOKIES_LABEL).c_str());
256 gtk_widget_set_size_request(label, kTreeViewWidth, -1); 251 gtk_widget_set_size_request(label, kTreeViewWidth, -1);
257 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 252 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
258 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 253 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
259 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), label, TRUE, TRUE, 254 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), label, TRUE, TRUE,
260 ui::kControlSpacing); 255 ui::kControlSpacing);
261 256
262 GtkWidget* scroll_window = gtk_scrolled_window_new(NULL, NULL); 257 GtkWidget* scroll_window = gtk_scrolled_window_new(NULL, NULL);
263 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_window), 258 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_window),
264 GTK_POLICY_AUTOMATIC, 259 GTK_POLICY_AUTOMATIC,
265 GTK_POLICY_AUTOMATIC); 260 GTK_POLICY_AUTOMATIC);
266 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window), 261 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll_window),
267 GTK_SHADOW_ETCHED_IN); 262 GTK_SHADOW_ETCHED_IN);
268 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0); 263 gtk_box_pack_start(GTK_BOX(cookie_list_vbox), scroll_window, TRUE, TRUE, 0);
269 264
270 TabSpecificContentSettings* content_settings = wrapper->content_settings(); 265 TabSpecificContentSettings* content_settings = wrapper_->content_settings();
271 266
272 blocked_cookies_tree_model_.reset( 267 blocked_cookies_tree_model_.reset(
273 content_settings->GetBlockedCookiesTreeModel()); 268 content_settings->GetBlockedCookiesTreeModel());
274 blocked_cookies_tree_adapter_.reset( 269 blocked_cookies_tree_adapter_.reset(
275 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get())); 270 new gtk_tree::TreeAdapter(this, blocked_cookies_tree_model_.get()));
276 blocked_tree_ = gtk_tree_view_new_with_model( 271 blocked_tree_ = gtk_tree_view_new_with_model(
277 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store())); 272 GTK_TREE_MODEL(blocked_cookies_tree_adapter_->tree_store()));
278 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight); 273 gtk_widget_set_size_request(blocked_tree_, kTreeViewWidth, kTreeViewHeight);
279 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE); 274 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(blocked_tree_), FALSE);
280 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE); 275 gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(blocked_tree_), TRUE);
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 421
427 void CollectedCookiesGtk::Observe(int type, 422 void CollectedCookiesGtk::Observe(int type,
428 const NotificationSource& source, 423 const NotificationSource& source,
429 const NotificationDetails& details) { 424 const NotificationDetails& details) {
430 DCHECK(type == chrome::NOTIFICATION_COLLECTED_COOKIES_SHOWN); 425 DCHECK(type == chrome::NOTIFICATION_COLLECTED_COOKIES_SHOWN);
431 window_->CloseConstrainedWindow(); 426 window_->CloseConstrainedWindow();
432 } 427 }
433 428
434 void CollectedCookiesGtk::OnClose(GtkWidget* close_button) { 429 void CollectedCookiesGtk::OnClose(GtkWidget* close_button) {
435 if (status_changed_) { 430 if (status_changed_) {
436 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents_)-> 431 wrapper_->infobar_tab_helper()->AddInfoBar(
437 infobar_tab_helper()->AddInfoBar( 432 new CollectedCookiesInfoBarDelegate(wrapper_->tab_contents()));
438 new CollectedCookiesInfoBarDelegate(tab_contents_));
439 } 433 }
440 window_->CloseConstrainedWindow(); 434 window_->CloseConstrainedWindow();
441 } 435 }
442 436
443 void CollectedCookiesGtk::AddExceptions(GtkTreeSelection* selection, 437 void CollectedCookiesGtk::AddExceptions(GtkTreeSelection* selection,
444 gtk_tree::TreeAdapter* adapter, 438 gtk_tree::TreeAdapter* adapter,
445 ContentSetting setting) { 439 ContentSetting setting) {
446 GtkTreeModel* model; 440 GtkTreeModel* model;
447 GList* paths = 441 GList* paths =
448 gtk_tree_selection_get_selected_rows(selection, &model); 442 gtk_tree_selection_get_selected_rows(selection, &model);
449 string16 last_domain_name; 443 string16 last_domain_name;
450 bool multiple_domains_added = false; 444 bool multiple_domains_added = false;
451 for (GList* item = paths; item; item = item->next) { 445 for (GList* item = paths; item; item = item->next) {
452 GtkTreeIter iter; 446 GtkTreeIter iter;
453 gtk_tree_model_get_iter( 447 gtk_tree_model_get_iter(
454 model, &iter, reinterpret_cast<GtkTreePath*>(item->data)); 448 model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
455 CookieTreeNode* node = 449 CookieTreeNode* node =
456 static_cast<CookieTreeNode*>(adapter->GetNode(&iter)); 450 static_cast<CookieTreeNode*>(adapter->GetNode(&iter));
457 if (node->GetDetailedInfo().node_type != 451 if (node->GetDetailedInfo().node_type !=
458 CookieTreeNode::DetailedInfo::TYPE_ORIGIN) 452 CookieTreeNode::DetailedInfo::TYPE_ORIGIN)
459 continue; 453 continue;
460 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>( 454 CookieTreeOriginNode* origin_node = static_cast<CookieTreeOriginNode*>(
461 node); 455 node);
462 if (origin_node->CanCreateContentException()) { 456 if (origin_node->CanCreateContentException()) {
463 if (!last_domain_name.empty()) 457 if (!last_domain_name.empty())
464 multiple_domains_added = true; 458 multiple_domains_added = true;
465 last_domain_name = origin_node->GetTitle(); 459 last_domain_name = origin_node->GetTitle();
466 Profile* profile = 460 Profile* profile = wrapper_->profile();
467 Profile::FromBrowserContext(tab_contents_->browser_context());
468 origin_node->CreateContentException( 461 origin_node->CreateContentException(
469 profile->GetHostContentSettingsMap(), setting); 462 profile->GetHostContentSettingsMap(), setting);
470 } 463 }
471 } 464 }
472 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL); 465 g_list_foreach(paths, reinterpret_cast<GFunc>(gtk_tree_path_free), NULL);
473 g_list_free(paths); 466 g_list_free(paths);
474 if (last_domain_name.empty()) { 467 if (last_domain_name.empty()) {
475 gtk_widget_hide(infobar_); 468 gtk_widget_hide(infobar_);
476 } else { 469 } else {
477 gtk_label_set_text( 470 gtk_label_set_text(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 505 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
513 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE); 506 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_view), path, TRUE);
514 g_signal_handlers_unblock_by_func( 507 g_signal_handlers_unblock_by_func(
515 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this); 508 tree_view, reinterpret_cast<gpointer>(OnTreeViewRowExpandedThunk), this);
516 } 509 }
517 510
518 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) { 511 void CollectedCookiesGtk::OnTreeViewSelectionChange(GtkWidget* selection) {
519 EnableControls(); 512 EnableControls();
520 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_))); 513 ShowCookieInfo(gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_)));
521 } 514 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/collected_cookies_gtk.h ('k') | chrome/browser/ui/panels/panel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698