172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/gtk/gtk_chrome_cookie_view.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/i18n/time_formatting.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/utf_string_conversions.h" 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/gtk/gtk_util.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "grit/generated_resources.h" 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/base/l10n/l10n_util.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace { 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid InitBrowserDetailStyle(GtkWidget* entry, GtkStyle* label_style, 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkStyle* dialog_style) { 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_modify_fg(entry, GTK_STATE_NORMAL, 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &label_style->fg[GTK_STATE_NORMAL]); 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_modify_fg(entry, GTK_STATE_INSENSITIVE, 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &label_style->fg[GTK_STATE_INSENSITIVE]); 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // GTK_NO_WINDOW widgets like GtkLabel don't draw their own background, so we 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // combine the normal or insensitive foreground of the label style with the 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // normal background of the window style to achieve the "normal label" and 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // "insensitive label" colors. 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_modify_base(entry, GTK_STATE_NORMAL, 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &dialog_style->bg[GTK_STATE_NORMAL]); 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_modify_base(entry, GTK_STATE_INSENSITIVE, 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &dialog_style->bg[GTK_STATE_NORMAL]); 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochGtkWidget* InitRowLabel(int row, int label_id, GtkWidget* details_table) { 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* name_label = gtk_label_new( 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8(label_id).c_str()); 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_misc_set_alignment(GTK_MISC(name_label), 1, 0.5); 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_attach(GTK_TABLE(details_table), name_label, 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return name_label; 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochGtkWidget* InitDetailRow(int row, int label_id, 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* details_table, GtkWidget** entry) { 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* name_label = InitRowLabel(row, label_id, details_table); 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch *entry = gtk_entry_new(); 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_editable(GTK_ENTRY(*entry), FALSE); 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_has_frame(GTK_ENTRY(*entry), FALSE); 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_attach_defaults(GTK_TABLE(details_table), *entry, 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 1, 2, row, row + 1); 50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return name_label; 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 54c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochGtkWidget* InitComboboxRow(int row, int label_id, 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* details_table, 56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget** combobox, 57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkListStore** store) { 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* name_label = InitRowLabel(row, label_id, details_table); 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch *store = gtk_list_store_new(1, G_TYPE_STRING); 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch *combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(*store)); 62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch g_object_unref(*store); 63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkCellRenderer* cell = gtk_cell_renderer_text_new(); 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(*combobox), cell, TRUE); 66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(*combobox), cell, 67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch "text", 0, NULL); 68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkWidget* hbox = gtk_hbox_new(FALSE, 0); 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_box_pack_start(GTK_BOX(hbox), *combobox, FALSE, FALSE, 0); 71c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 72c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_attach_defaults(GTK_TABLE(details_table), hbox, 73c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 1, 2, row, row + 1); 74c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 75c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return name_label; 76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 77c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 78c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid InitStyles(GtkChromeCookieView *self) { 79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkStyle* label_style = gtk_widget_get_style(self->first_label_); 80c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkStyle* dialog_style = gtk_widget_get_style(GTK_WIDGET(self)); 81c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 82c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Cookie details. 83c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_name_entry_, label_style, dialog_style); 84c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_content_entry_, label_style, 85c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 86c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_domain_entry_, label_style, dialog_style); 87c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_path_entry_, label_style, dialog_style); 88c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_send_for_entry_, label_style, 89c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 90c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_created_entry_, label_style, 91c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 92c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (self->cookie_expires_entry_) { 93c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->cookie_expires_entry_, label_style, 94c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 95c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 96c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 97c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Database details. 98c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_name_entry_, label_style, dialog_style); 99c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_description_entry_, label_style, 100c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 101c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_size_entry_, label_style, dialog_style); 102c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_last_modified_entry_, label_style, 103c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 104c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 105c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Local storage details. 106c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_origin_entry_, label_style, 107c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 108c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_size_entry_, label_style, 109c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 110c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_last_modified_entry_, label_style, 111c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 112c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 113c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // AppCache details. 114c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->appcache_manifest_entry_, label_style, 115c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 116c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->appcache_size_entry_, label_style, dialog_style); 117c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->appcache_created_entry_, label_style, 118c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 119c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->appcache_last_accessed_entry_, label_style, 120c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 121c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 122c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Local storage item. 123c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_item_origin_entry_, label_style, 124c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 125c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_item_key_entry_, label_style, 126c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 127c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->local_storage_item_value_entry_, label_style, 128c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 129c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 130c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Database accessed item. 131c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_accessed_origin_entry_, label_style, 132c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 133c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_accessed_name_entry_, label_style, 134c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 135c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_accessed_description_entry_, 136c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch label_style, dialog_style); 137c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->database_accessed_size_entry_, label_style, 138c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 139c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 140c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // AppCache created item. 141c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitBrowserDetailStyle(self->appcache_created_manifest_entry_, label_style, 142c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch dialog_style); 143c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 144c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 145c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetCookieDetailsSensitivity(GtkChromeCookieView *self, 146c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 147c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_name_entry_, enabled); 148c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_content_entry_, enabled); 149c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_domain_entry_, enabled); 150c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_path_entry_, enabled); 151c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_send_for_entry_, enabled); 152c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_created_entry_, enabled); 153c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (self->cookie_expires_entry_) 154c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_expires_entry_, enabled); 155c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch else 156c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->cookie_expires_combobox_, enabled); 157c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 158c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 159c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetDatabaseDetailsSensitivity(GtkChromeCookieView *self, 160c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 161c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_name_entry_, enabled); 162c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_description_entry_, enabled); 163c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_size_entry_, enabled); 164c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_last_modified_entry_, enabled); 165c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 166c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 167c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetLocalStorageDetailsSensitivity(GtkChromeCookieView *self, 168c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 169c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_origin_entry_, enabled); 170c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_size_entry_, enabled); 171c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_last_modified_entry_, enabled); 172c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 173c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 174c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetAppCacheDetailsSensitivity(GtkChromeCookieView *self, 175c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 176c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->appcache_manifest_entry_, enabled); 177c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->appcache_size_entry_, enabled); 178c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->appcache_created_entry_, enabled); 179c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->appcache_last_accessed_entry_, enabled); 180c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 181c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 1823345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickvoid SetIndexedDBDetailsSensitivity(GtkChromeCookieView *self, 1833345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gboolean enabled) { 1843345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_widget_set_sensitive(self->indexed_db_origin_entry_, enabled); 1853345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_widget_set_sensitive(self->indexed_db_size_entry_, enabled); 1863345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_widget_set_sensitive(self->indexed_db_last_modified_entry_, enabled); 1873345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} 1883345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 189c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetLocalStorageItemSensitivity(GtkChromeCookieView* self, 190c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 191c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_item_origin_entry_, enabled); 192c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_item_key_entry_, enabled); 193c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->local_storage_item_value_entry_, enabled); 194c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 195c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 196c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetDatabaseAccessedSensitivity(GtkChromeCookieView* self, 197c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 198c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_accessed_origin_entry_, enabled); 199c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_accessed_name_entry_, enabled); 200c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_accessed_description_entry_, enabled); 201c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->database_accessed_size_entry_, enabled); 202c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 203c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 204c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetAppCacheCreatedSensitivity(GtkChromeCookieView* self, 205c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gboolean enabled) { 206c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_sensitive(self->appcache_created_manifest_entry_, enabled); 207c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 208c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 209c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid ClearCookieDetails(GtkChromeCookieView *self) { 210c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch std::string no_cookie = 211c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8(IDS_COOKIES_COOKIE_NONESELECTED); 212c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_name_entry_), 213c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 214c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_content_entry_), 215c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 216c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_domain_entry_), 217c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 218c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_path_entry_), 219c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 220c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_created_entry_), 221c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 222c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (self->cookie_expires_entry_) { 223c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_expires_entry_), 224c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 225c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } else { 226c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkListStore* store = self->cookie_expires_combobox_store_; 227c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkTreeIter iter; 228c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_clear(store); 229c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 230c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_append(store, &iter); 231c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_set(store, &iter, 0, no_cookie.c_str(), -1); 232c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 233c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_combo_box_set_active(GTK_COMBO_BOX(self->cookie_expires_combobox_), 234c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 0); 235c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 236c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_send_for_entry_), 237c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch no_cookie.c_str()); 238c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetCookieDetailsSensitivity(self, FALSE); 239c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 240c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 241c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid UpdateVisibleDetailedInfo(GtkChromeCookieView *self, GtkWidget* table) { 242c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetCookieDetailsSensitivity(self, table == self->cookie_details_table_); 243c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetDatabaseDetailsSensitivity(self, table == self->database_details_table_); 244c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetLocalStorageDetailsSensitivity(self, 245c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch table == self->local_storage_details_table_); 246c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetAppCacheDetailsSensitivity(self, table == self->appcache_details_table_); 2473345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick SetIndexedDBDetailsSensitivity(self, 2483345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick table == self->indexed_db_details_table_); 249c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetLocalStorageItemSensitivity(self, 250c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch table == self->local_storage_item_table_); 251c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetDatabaseAccessedSensitivity(self, 252c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch table == self->database_accessed_table_); 253c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetAppCacheCreatedSensitivity(self, 254c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch table == self->appcache_created_table_); 255c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 256c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Display everything 257c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_show(self->table_box_); 258c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_show_all(table); 259c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Hide everything that isn't us. 260c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->cookie_details_table_) 261c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->cookie_details_table_); 262c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->database_details_table_) 263c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->database_details_table_); 264c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->local_storage_details_table_) 265c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->local_storage_details_table_); 266c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->appcache_details_table_) 267c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->appcache_details_table_); 2683345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick if (table != self->indexed_db_details_table_) 2693345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_widget_hide(self->indexed_db_details_table_); 270c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->local_storage_item_table_) 271c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->local_storage_item_table_); 272c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->database_accessed_table_) 273c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->database_accessed_table_); 274c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (table != self->appcache_created_table_) 275c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_hide(self->appcache_created_table_); 276c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 277c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 278c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace 279c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 280c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochG_DEFINE_TYPE(GtkChromeCookieView, gtk_chrome_cookie_view, GTK_TYPE_FRAME) 281c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 282c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochstatic void gtk_chrome_cookie_view_class_init(GtkChromeCookieViewClass *klass) { 283c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 284c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 285c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochstatic void gtk_chrome_cookie_view_init(GtkChromeCookieView *self) { 286c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 287c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 288c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid BuildWidgets(GtkChromeCookieView *self, gboolean editable_expiration) { 289c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->table_box_ = gtk_vbox_new(FALSE, 0); 290c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_widget_set_no_show_all(self->table_box_, TRUE); 291c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 292c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Cookie details. 293c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_ = gtk_table_new(7, 2, FALSE); 294c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 295c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_); 296c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->cookie_details_table_), 0, 297c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 298c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 299c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch int row = 0; 300c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->first_label_ = InitDetailRow(row++, IDS_COOKIES_COOKIE_NAME_LABEL, 301c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_name_entry_); 302c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_CONTENT_LABEL, 303c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_content_entry_); 304c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_DOMAIN_LABEL, 305c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_domain_entry_); 306c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_PATH_LABEL, 307c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_path_entry_); 308c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_SENDFOR_LABEL, 309c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_send_for_entry_); 310c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_CREATED_LABEL, 311c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_created_entry_); 312c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (editable_expiration) { 313c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitComboboxRow(row++, IDS_COOKIES_COOKIE_EXPIRES_LABEL, 314c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, 315c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->cookie_expires_combobox_, 316c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->cookie_expires_combobox_store_); 317c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } else { 318c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_EXPIRES_LABEL, 319c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_details_table_, &self->cookie_expires_entry_); 320c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 321c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 322c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Database details. 323c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_ = gtk_table_new(4, 2, FALSE); 324c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 325c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_); 326c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->database_details_table_), 0, 327c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 328c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 329c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_NAME_LABEL, 330c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_, &self->database_name_entry_); 331c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_WEB_DATABASE_DESCRIPTION_LABEL, 332c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_, 333c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_description_entry_); 334c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_SIZE_ON_DISK_LABEL, 335c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_, &self->database_size_entry_); 336c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_LAST_MODIFIED_LABEL, 337c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_details_table_, 338c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_last_modified_entry_); 339c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 340c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Local storage details. 341c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_details_table_ = gtk_table_new(3, 2, FALSE); 342c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 343c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_details_table_); 344c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->local_storage_details_table_), 0, 345c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 346c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 347c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch row = 0; 348c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_ORIGIN_LABEL, 349c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_details_table_, 350c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_origin_entry_); 351c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_SIZE_ON_DISK_LABEL, 352c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_details_table_, 353c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_size_entry_); 354c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_LAST_MODIFIED_LABEL, 355c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_details_table_, 356c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_last_modified_entry_); 357c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 358c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // AppCache details. 359c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_ = gtk_table_new(4, 2, FALSE); 360c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 361c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_); 362c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->appcache_details_table_), 0, 363c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 364c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 365c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch row = 0; 366c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_APPLICATION_CACHE_MANIFEST_LABEL, 367c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_, 368c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->appcache_manifest_entry_); 369c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_SIZE_LABEL, 370c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_, &self->appcache_size_entry_); 371c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_CREATED_LABEL, 372c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_, &self->appcache_created_entry_); 373c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LAST_ACCESSED_LABEL, 374c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_details_table_, 375c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->appcache_last_accessed_entry_); 376c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 3773345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // IndexedDB details. 3783345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick self->indexed_db_details_table_ = gtk_table_new(4, 2, FALSE); 3793345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_container_add(GTK_CONTAINER(self->table_box_), 3803345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick self->indexed_db_details_table_); 3813345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_table_set_col_spacing(GTK_TABLE(self->indexed_db_details_table_), 0, 3823345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_util::kLabelSpacing); 3833345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 3843345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick row = 0; 3853345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_ORIGIN_LABEL, 3863345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick self->indexed_db_details_table_, 3873345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick &self->indexed_db_origin_entry_); 3883345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_SIZE_ON_DISK_LABEL, 3893345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick self->indexed_db_details_table_, &self->indexed_db_size_entry_); 3903345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_LAST_MODIFIED_LABEL, 3913345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick self->indexed_db_details_table_, 3923345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick &self->indexed_db_last_modified_entry_); 3933345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 394c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Local storage item. 395c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_item_table_ = gtk_table_new(3, 2, FALSE); 396c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 397c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_item_table_); 398c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->local_storage_item_table_), 0, 399c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 400c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 401c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch row = 0; 402c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_DOMAIN_LABEL, 403c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_item_table_, 404c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_item_origin_entry_); 405c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_KEY_LABEL, 406c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_item_table_, 407c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_item_key_entry_); 408c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_LOCAL_STORAGE_VALUE_LABEL, 409c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->local_storage_item_table_, 410c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->local_storage_item_value_entry_); 411c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 412c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Database accessed prompt. 413c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_ = gtk_table_new(2, 2, FALSE); 414c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 415c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_); 416c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->local_storage_item_table_), 0, 417c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 418c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 419c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch row = 0; 420c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_COOKIE_DOMAIN_LABEL, 421c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_, 422c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_accessed_origin_entry_); 423c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_WEB_DATABASE_NAME, 424c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_, 425c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_accessed_name_entry_); 426c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_WEB_DATABASE_DESCRIPTION_LABEL, 427c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_, 428c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_accessed_description_entry_); 429c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_SIZE_LABEL, 430c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->database_accessed_table_, 431c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->database_accessed_size_entry_); 432c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 433c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // AppCache created prompt. 434c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_created_table_ = gtk_table_new(1, 2, FALSE); 435c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self->table_box_), 436c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_created_table_); 437c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_table_set_col_spacing(GTK_TABLE(self->appcache_created_table_), 0, 438c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_util::kLabelSpacing); 439c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch row = 0; 440c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch InitDetailRow(row++, IDS_COOKIES_APPLICATION_CACHE_MANIFEST_LABEL, 441c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->appcache_created_table_, 442c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch &self->appcache_created_manifest_entry_); 443c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 444c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_frame_set_shadow_type(GTK_FRAME(self), GTK_SHADOW_ETCHED_IN); 445c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_container_add(GTK_CONTAINER(self), self->table_box_); 446c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 447c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 448c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochGtkWidget* gtk_chrome_cookie_view_new(gboolean editable_expiration) { 449c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* view = GTK_CHROME_COOKIE_VIEW( 450c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch g_object_new(GTK_TYPE_CHROME_COOKIE_VIEW, NULL)); 451c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch BuildWidgets(view, editable_expiration); 452c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch g_signal_connect(view, "realize", G_CALLBACK(InitStyles), NULL); 453c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return GTK_WIDGET(view); 454c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 455c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 456c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_clear(GtkChromeCookieView* self) { 457c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->cookie_details_table_); 458c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ClearCookieDetails(self); 459c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 460c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 461c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Switches the display to showing the passed in cookie. 462c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_cookie( 463c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 464c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& domain, 465c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const net::CookieMonster::CanonicalCookie& cookie) { 466c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->cookie_details_table_); 467c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 468c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_name_entry_), 469c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch cookie.Name().c_str()); 470c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_content_entry_), 471c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch cookie.Value().c_str()); 472c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_domain_entry_), 473c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch domain.c_str()); 474c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_path_entry_), 475c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch cookie.Path().c_str()); 476c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_created_entry_), 47721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 478c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch cookie.CreationDate())).c_str()); 479c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 480c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch std::string expire_text = cookie.DoesExpire() ? 48121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime(cookie.ExpiryDate())) : 482c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8(IDS_COOKIES_COOKIE_EXPIRES_SESSION); 483c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 484c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (self->cookie_expires_entry_) { 485c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->cookie_expires_entry_), 486c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch expire_text.c_str()); 487c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } else { 488c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkListStore* store = self->cookie_expires_combobox_store_; 489c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkTreeIter iter; 490c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_clear(store); 491c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 492c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (cookie.DoesExpire()) { 493c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_append(store, &iter); 494c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_set(store, &iter, 0, expire_text.c_str(), -1); 495c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 496c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 497c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_append(store, &iter); 498c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_list_store_set( 499c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch store, &iter, 0, 500c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8(IDS_COOKIES_COOKIE_EXPIRES_SESSION).c_str(), 501c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch -1); 502c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 503c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_combo_box_set_active(GTK_COMBO_BOX(self->cookie_expires_combobox_), 504c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 0); 505c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 506c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 507c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text( 508c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GTK_ENTRY(self->cookie_send_for_entry_), 509c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8(cookie.IsSecure() ? 510c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch IDS_COOKIES_COOKIE_SENDFOR_SECURE : 511c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch IDS_COOKIES_COOKIE_SENDFOR_ANY).c_str()); 512c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetCookieDetailsSensitivity(self, TRUE); 513c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 514c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 515c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_cookie_string( 516c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 517c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const GURL& url, 518c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& cookie_line) { 519c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch net::CookieMonster::ParsedCookie pc(cookie_line); 520c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch net::CookieMonster::CanonicalCookie cookie(url, pc); 521c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 522c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_chrome_cookie_view_display_cookie( 523c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self, 524c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch pc.HasDomain() ? pc.Domain() : url.host(), 525c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch cookie); 526c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 527c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 528c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Switches the display to showing the passed in database. 529c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_database( 530c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 531c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const BrowsingDataDatabaseHelper::DatabaseInfo& database_info) { 532c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->database_details_table_); 533c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 534c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text( 535c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GTK_ENTRY(self->database_name_entry_), 536c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch database_info.database_name.empty() ? 537c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch l10n_util::GetStringUTF8( 538c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch IDS_COOKIES_WEB_DATABASE_UNNAMED_NAME).c_str() : 539c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch database_info.database_name.c_str()); 540c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_description_entry_), 541c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch database_info.description.c_str()); 542c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_size_entry_), 5433345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UTF16ToUTF8(FormatBytes( 544c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch database_info.size, 545c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GetByteDisplayUnits(database_info.size), 546c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch true)).c_str()); 547c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_last_modified_entry_), 54821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 549c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch database_info.last_modified)).c_str()); 550c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetDatabaseDetailsSensitivity(self, TRUE); 551c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 552c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 553c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Switches the display to showing the passed in local storage data. 554c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_local_storage( 555c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 556c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const BrowsingDataLocalStorageHelper::LocalStorageInfo& 557c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch local_storage_info) { 558c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->local_storage_details_table_); 559c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 560c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_origin_entry_), 561c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch local_storage_info.origin.c_str()); 562c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_size_entry_), 5633345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UTF16ToUTF8(FormatBytes( 564c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch local_storage_info.size, 565c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GetByteDisplayUnits(local_storage_info.size), 566c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch true)).c_str()); 567c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_last_modified_entry_), 56821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 569c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch local_storage_info.last_modified)).c_str()); 570c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetLocalStorageDetailsSensitivity(self, TRUE); 571c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 572c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 573c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Switches the display to showing the passed in app cache. 574c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_app_cache( 575c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 576c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const appcache::AppCacheInfo& info) { 577c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->appcache_details_table_); 578c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 579c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->appcache_manifest_entry_), 580c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch info.manifest_url.spec().c_str()); 581c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->appcache_size_entry_), 5823345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UTF16ToUTF8(FormatBytes( 583c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch info.size, 584c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GetByteDisplayUnits(info.size), 585c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch true)).c_str()); 586c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->appcache_created_entry_), 58721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 588c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch info.creation_time)).c_str()); 589c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->appcache_last_accessed_entry_), 59021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 591c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch info.last_access_time)).c_str()); 592c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetAppCacheDetailsSensitivity(self, TRUE); 593c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 594c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5953345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Switches the display to showing the passed in IndexedDB data. 5963345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickvoid gtk_chrome_cookie_view_display_indexed_db( 5973345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick GtkChromeCookieView* self, 5983345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick const BrowsingDataIndexedDBHelper::IndexedDBInfo& indexed_db_info) { 5993345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UpdateVisibleDetailedInfo(self, self->indexed_db_details_table_); 6003345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 6013345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_entry_set_text(GTK_ENTRY(self->indexed_db_origin_entry_), 6023345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick indexed_db_info.origin.c_str()); 6033345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_entry_set_text(GTK_ENTRY(self->indexed_db_size_entry_), 6043345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UTF16ToUTF8(FormatBytes( 6053345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick indexed_db_info.size, 6063345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick GetByteDisplayUnits(indexed_db_info.size), 6073345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick true)).c_str()); 6083345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick gtk_entry_set_text(GTK_ENTRY(self->indexed_db_last_modified_entry_), 60921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen UTF16ToUTF8(base::TimeFormatFriendlyDateAndTime( 6103345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick indexed_db_info.last_modified)).c_str()); 6113345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick SetLocalStorageDetailsSensitivity(self, TRUE); 6123345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} 6133345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 614c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_local_storage_item( 615c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 616c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& host, 617c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const string16& key, 618c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const string16& value) { 619c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->local_storage_item_table_); 620c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 621c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_item_origin_entry_), 622c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch host.c_str()); 623c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_item_key_entry_), 624c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UTF16ToUTF8(key).c_str()); 625c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->local_storage_item_value_entry_), 626c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UTF16ToUTF8(value).c_str()); 627c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetLocalStorageItemSensitivity(self, TRUE); 628c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 629c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 630c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_database_accessed( 631c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 632c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& host, 633c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const string16& database_name, 634c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const string16& display_name, 635c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch unsigned long estimated_size) { 636c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->database_accessed_table_); 637c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 638c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_accessed_origin_entry_), 639c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch host.c_str()); 640c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_accessed_name_entry_), 641c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UTF16ToUTF8(database_name).c_str()); 642c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_accessed_description_entry_), 643c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UTF16ToUTF8(display_name).c_str()); 644c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->database_accessed_size_entry_), 6453345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick UTF16ToUTF8(FormatBytes( 646c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch estimated_size, 647c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GetByteDisplayUnits(estimated_size), 648c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch true)).c_str()); 649c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetDatabaseAccessedSensitivity(self, TRUE); 650c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 651c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 652c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid gtk_chrome_cookie_view_display_appcache_created( 653c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkChromeCookieView* self, 654c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const GURL& manifest_url) { 655c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpdateVisibleDetailedInfo(self, self->appcache_created_table_); 656c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch gtk_entry_set_text(GTK_ENTRY(self->appcache_created_manifest_entry_), 657c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch manifest_url.spec().c_str()); 658c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SetAppCacheCreatedSensitivity(self, TRUE); 659c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 660c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 661c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochbool gtk_chrome_cookie_view_session_expires(GtkChromeCookieView* self) { 662c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (self->cookie_expires_entry_) 663c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return false; 664c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 665c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GtkListStore* store = self->cookie_expires_combobox_store_; 666c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch int store_size = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store), NULL); 667c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (store_size == 1) 668c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return false; 669c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 670c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DCHECK_EQ(2, store_size); 671c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 672c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch int selected = gtk_combo_box_get_active(GTK_COMBO_BOX( 673c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch self->cookie_expires_combobox_)); 674c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return selected == 1; 675c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 676