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

Side by Side Diff: chrome/browser/gtk/options/cookies_view.cc

Issue 1774005: GTK: The cookie prompt should allow the user to set expire date for HTML cookies (Closed) Base URL: git://codf21.jail.google.com/chromium.git
Patch Set: Fix tests Created 10 years, 8 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/gtk/options/cookies_view.h" 5 #include "chrome/browser/gtk/options/cookies_view.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 BrowsingDataLocalStorageHelper* browsing_data_local_storage_helper, 72 BrowsingDataLocalStorageHelper* browsing_data_local_storage_helper,
73 BrowsingDataAppCacheHelper* browsing_data_appcache_helper) 73 BrowsingDataAppCacheHelper* browsing_data_appcache_helper)
74 : profile_(profile), 74 : profile_(profile),
75 browsing_data_database_helper_(browsing_data_database_helper), 75 browsing_data_database_helper_(browsing_data_database_helper),
76 browsing_data_local_storage_helper_(browsing_data_local_storage_helper), 76 browsing_data_local_storage_helper_(browsing_data_local_storage_helper),
77 browsing_data_appcache_helper_(browsing_data_appcache_helper), 77 browsing_data_appcache_helper_(browsing_data_appcache_helper),
78 filter_update_factory_(this), 78 filter_update_factory_(this),
79 destroy_dialog_in_destructor_(false) { 79 destroy_dialog_in_destructor_(false) {
80 Init(parent); 80 Init(parent);
81 gtk_widget_show_all(dialog_); 81 gtk_widget_show_all(dialog_);
82 gtk_chrome_cookie_view_clear(cookie_display_); 82 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_));
83 } 83 }
84 84
85 void CookiesView::TestDestroySyncrhonously() { 85 void CookiesView::TestDestroySyncrhonously() {
86 g_signal_handler_disconnect(dialog_, destroy_handler_); 86 g_signal_handler_disconnect(dialog_, destroy_handler_);
87 destroy_dialog_in_destructor_ = true; 87 destroy_dialog_in_destructor_ = true;
88 } 88 }
89 89
90 void CookiesView::Init(GtkWindow* parent) { 90 void CookiesView::Init(GtkWindow* parent) {
91 dialog_ = gtk_dialog_new_with_buttons( 91 dialog_ = gtk_dialog_new_with_buttons(
92 l10n_util::GetStringUTF8( 92 l10n_util::GetStringUTF8(
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 g_signal_connect(tree_, "key-press-event", 203 g_signal_connect(tree_, "key-press-event",
204 G_CALLBACK(OnTreeViewKeyPressThunk), this); 204 G_CALLBACK(OnTreeViewKeyPressThunk), this);
205 g_signal_connect(tree_, "row-expanded", 205 g_signal_connect(tree_, "row-expanded",
206 G_CALLBACK(OnTreeViewRowExpandedThunk), this); 206 G_CALLBACK(OnTreeViewRowExpandedThunk), this);
207 207
208 selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_)); 208 selection_ = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_));
209 gtk_tree_selection_set_mode(selection_, GTK_SELECTION_SINGLE); 209 gtk_tree_selection_set_mode(selection_, GTK_SELECTION_SINGLE);
210 g_signal_connect(selection_, "changed", 210 g_signal_connect(selection_, "changed",
211 G_CALLBACK(OnTreeViewSelectionChangeThunk), this); 211 G_CALLBACK(OnTreeViewSelectionChangeThunk), this);
212 212
213 cookie_display_ = gtk_chrome_cookie_view_new(); 213 cookie_display_ = gtk_chrome_cookie_view_new(FALSE);
214 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_)->vbox), 214 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
215 GTK_WIDGET(cookie_display_), FALSE, FALSE, 0); 215 cookie_display_, FALSE, FALSE, 0);
216 216
217 // Populate the view. 217 // Populate the view.
218 cookies_tree_adapter_->Init(); 218 cookies_tree_adapter_->Init();
219 SetInitialTreeState(); 219 SetInitialTreeState();
220 EnableControls(); 220 EnableControls();
221 } 221 }
222 222
223 void CookiesView::SetInitialTreeState() { 223 void CookiesView::SetInitialTreeState() {
224 if (cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())) 224 if (cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot()))
225 gtk_tree::SelectAndFocusRowNum(0, GTK_TREE_VIEW(tree_)); 225 gtk_tree::SelectAndFocusRowNum(0, GTK_TREE_VIEW(tree_));
226 } 226 }
227 227
228 void CookiesView::EnableControls() { 228 void CookiesView::EnableControls() {
229 GtkTreeIter iter; 229 GtkTreeIter iter;
230 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); 230 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter);
231 gtk_widget_set_sensitive(remove_button_, selected); 231 gtk_widget_set_sensitive(remove_button_, selected);
232 gtk_widget_set_sensitive( 232 gtk_widget_set_sensitive(
233 remove_all_button_, 233 remove_all_button_,
234 cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot())); 234 cookies_tree_model_->GetChildCount(cookies_tree_model_->GetRoot()));
235 235
236 const gchar* filter_text = gtk_entry_get_text(GTK_ENTRY(filter_entry_)); 236 const gchar* filter_text = gtk_entry_get_text(GTK_ENTRY(filter_entry_));
237 gtk_widget_set_sensitive(filter_clear_button_, filter_text && *filter_text); 237 gtk_widget_set_sensitive(filter_clear_button_, filter_text && *filter_text);
238 238
239 if (selected) { 239 if (selected) {
240 CookieTreeNode::DetailedInfo detailed_info = 240 CookieTreeNode::DetailedInfo detailed_info =
241 static_cast<CookieTreeNode*>( 241 static_cast<CookieTreeNode*>(
242 cookies_tree_adapter_->GetNode(&iter))->GetDetailedInfo(); 242 cookies_tree_adapter_->GetNode(&iter))->GetDetailedInfo();
243 if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) { 243 if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) {
244 gtk_chrome_cookie_view_display_cookie(cookie_display_, 244 gtk_chrome_cookie_view_display_cookie(
245 detailed_info.cookie->first, 245 GTK_CHROME_COOKIE_VIEW(cookie_display_),
246 detailed_info.cookie->second); 246 detailed_info.cookie->first,
247 detailed_info.cookie->second);
247 } else if (detailed_info.node_type == 248 } else if (detailed_info.node_type ==
248 CookieTreeNode::DetailedInfo::TYPE_DATABASE) { 249 CookieTreeNode::DetailedInfo::TYPE_DATABASE) {
249 gtk_chrome_cookie_view_display_database(cookie_display_, 250 gtk_chrome_cookie_view_display_database(
250 *detailed_info.database_info); 251 GTK_CHROME_COOKIE_VIEW(cookie_display_),
252 *detailed_info.database_info);
251 } else if (detailed_info.node_type == 253 } else if (detailed_info.node_type ==
252 CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { 254 CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) {
253 gtk_chrome_cookie_view_display_local_storage( 255 gtk_chrome_cookie_view_display_local_storage(
254 cookie_display_, 256 GTK_CHROME_COOKIE_VIEW(cookie_display_),
255 *detailed_info.local_storage_info); 257 *detailed_info.local_storage_info);
256 } else if (detailed_info.node_type == 258 } else if (detailed_info.node_type ==
257 CookieTreeNode::DetailedInfo::TYPE_APPCACHE) { 259 CookieTreeNode::DetailedInfo::TYPE_APPCACHE) {
258 gtk_chrome_cookie_view_display_app_cache(cookie_display_, 260 gtk_chrome_cookie_view_display_app_cache(
259 *detailed_info.appcache_info); 261 GTK_CHROME_COOKIE_VIEW(cookie_display_),
262 *detailed_info.appcache_info);
260 } else { 263 } else {
261 gtk_chrome_cookie_view_clear(cookie_display_); 264 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_));
262 } 265 }
263 } else { 266 } else {
264 gtk_chrome_cookie_view_clear(cookie_display_); 267 gtk_chrome_cookie_view_clear(GTK_CHROME_COOKIE_VIEW(cookie_display_));
265 } 268 }
266 } 269 }
267 270
268 void CookiesView::RemoveSelectedItems() { 271 void CookiesView::RemoveSelectedItems() {
269 GtkTreeIter iter; 272 GtkTreeIter iter;
270 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter); 273 bool selected = gtk_tree_selection_get_selected(selection_, NULL, &iter);
271 if (selected) { 274 if (selected) {
272 GtkTreePath* path = gtk_tree_model_get_path( 275 GtkTreePath* path = gtk_tree_model_get_path(
273 GTK_TREE_MODEL(cookies_tree_adapter_->tree_store()), 276 GTK_TREE_MODEL(cookies_tree_adapter_->tree_store()),
274 &iter); 277 &iter);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 filter_update_factory_.NewRunnableMethod( 367 filter_update_factory_.NewRunnableMethod(
365 &CookiesView::UpdateFilterResults), kSearchFilterDelayMs); 368 &CookiesView::UpdateFilterResults), kSearchFilterDelayMs);
366 EnableControls(); 369 EnableControls();
367 } 370 }
368 371
369 void CookiesView::OnFilterClearButtonClicked(GtkWidget* button) { 372 void CookiesView::OnFilterClearButtonClicked(GtkWidget* button) {
370 gtk_entry_set_text(GTK_ENTRY(filter_entry_), ""); 373 gtk_entry_set_text(GTK_ENTRY(filter_entry_), "");
371 filter_update_factory_.RevokeAll(); 374 filter_update_factory_.RevokeAll();
372 UpdateFilterResults(); 375 UpdateFilterResults();
373 } 376 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698