Index: chrome/browser/ui/gtk/gtk_chrome_cookie_view.h |
diff --git a/chrome/browser/ui/gtk/gtk_chrome_cookie_view.h b/chrome/browser/ui/gtk/gtk_chrome_cookie_view.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5fe08ea4a260ce7261d1a9ef9871c994f0f94c2a |
--- /dev/null |
+++ b/chrome/browser/ui/gtk/gtk_chrome_cookie_view.h |
@@ -0,0 +1,194 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_UI_GTK_GTK_CHROME_COOKIE_VIEW_H_ |
+#define CHROME_BROWSER_UI_GTK_GTK_CHROME_COOKIE_VIEW_H_ |
+#pragma once |
+ |
+#include <gtk/gtk.h> |
+ |
+#include <string> |
+ |
+#include "chrome/browser/browsing_data_appcache_helper.h" |
+#include "chrome/browser/browsing_data_database_helper.h" |
+#include "chrome/browser/browsing_data_indexed_db_helper.h" |
+#include "chrome/browser/browsing_data_local_storage_helper.h" |
+#include "net/base/cookie_monster.h" |
+ |
+class GURL; |
+ |
+G_BEGIN_DECLS |
+ |
+#define GTK_TYPE_CHROME_COOKIE_VIEW gtk_chrome_cookie_view_get_type() |
+ |
+#define GTK_CHROME_COOKIE_VIEW(obj) \ |
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), \ |
+ GTK_TYPE_CHROME_COOKIE_VIEW, GtkChromeCookieView)) |
+ |
+#define GTK_CHROME_COOKIE_VIEW_CLASS(klass) \ |
+ (G_TYPE_CHECK_CLASS_CAST((klass), \ |
+ GTK_TYPE_CHROME_COOKIE_VIEW, GtkChromeCookieViewClass)) |
+ |
+#define GTK_IS_CHROME_COOKIE_VIEW(obj) \ |
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ |
+ GTK_TYPE_CHROME_COOKIE_VIEW)) |
+ |
+#define GTK_IS_CHROME_COOKIE_VIEW_CLASS(klass) \ |
+ (G_TYPE_CHECK_CLASS_TYPE((klass), \ |
+ GTK_TYPE_CHROME_COOKIE_VIEW)) |
+ |
+#define GTK_CHROME_COOKIE_VIEW_GET_CLASS(obj) \ |
+ (G_TYPE_INSTANCE_GET_CLASS((obj), \ |
+ GTK_TYPE_CHROME_COOKIE_VIEW, GtkChromeCookieViewClass)) |
+ |
+// TODO(erg): Refactor the following class. It's continuously grown as more |
+// things have been added to it and should probably become a general key/value |
+// table. The problem is that any implementation for that would be much more |
+// complicated and would require changing a whole lot of code. |
+typedef struct { |
+ GtkFrame parent; |
+ |
+ // All public for testing since I don't think there's a "friend" mechanism in |
+ // gobject. |
+ |
+ GtkWidget* table_box_; |
+ |
+ // A label we keep around so we can access its GtkStyle* once it is realized. |
+ GtkWidget* first_label_; |
+ |
+ // The cookie details widgets. |
+ GtkWidget* cookie_details_table_; |
+ GtkWidget* cookie_name_entry_; |
+ GtkWidget* cookie_content_entry_; |
+ GtkWidget* cookie_domain_entry_; |
+ GtkWidget* cookie_path_entry_; |
+ GtkWidget* cookie_send_for_entry_; |
+ GtkWidget* cookie_created_entry_; |
+ |
+ // Note: These two widgets are mutually exclusive based on what |
+ // |editable_expiration| was when the cookie view was created. One of these |
+ // variables will be NULL. |
+ GtkWidget* cookie_expires_entry_; |
+ GtkWidget* cookie_expires_combobox_; |
+ |
+ GtkListStore* cookie_expires_combobox_store_; |
+ |
+ // The database details widgets. |
+ GtkWidget* database_details_table_; |
+ GtkWidget* database_name_entry_; |
+ GtkWidget* database_description_entry_; |
+ GtkWidget* database_size_entry_; |
+ GtkWidget* database_last_modified_entry_; |
+ |
+ // The local storage details widgets. |
+ GtkWidget* local_storage_details_table_; |
+ GtkWidget* local_storage_origin_entry_; |
+ GtkWidget* local_storage_size_entry_; |
+ GtkWidget* local_storage_last_modified_entry_; |
+ |
+ // The appcache details widgets. |
+ GtkWidget* appcache_details_table_; |
+ GtkWidget* appcache_manifest_entry_; |
+ GtkWidget* appcache_size_entry_; |
+ GtkWidget* appcache_created_entry_; |
+ GtkWidget* appcache_last_accessed_entry_; |
+ |
+ // The IndexedDB details widgets. |
+ GtkWidget* indexed_db_details_table_; |
+ GtkWidget* indexed_db_origin_entry_; |
+ GtkWidget* indexed_db_size_entry_; |
+ GtkWidget* indexed_db_last_modified_entry_; |
+ |
+ // The local storage item widgets. |
+ GtkWidget* local_storage_item_table_; |
+ GtkWidget* local_storage_item_origin_entry_; |
+ GtkWidget* local_storage_item_key_entry_; |
+ GtkWidget* local_storage_item_value_entry_; |
+ |
+ // The database accessed widgets. |
+ GtkWidget* database_accessed_table_; |
+ GtkWidget* database_accessed_origin_entry_; |
+ GtkWidget* database_accessed_name_entry_; |
+ GtkWidget* database_accessed_description_entry_; |
+ GtkWidget* database_accessed_size_entry_; |
+ |
+ // The appcache created widgets. |
+ GtkWidget* appcache_created_table_; |
+ GtkWidget* appcache_created_manifest_entry_; |
+} GtkChromeCookieView; |
+ |
+typedef struct { |
+ GtkFrameClass parent_class; |
+} GtkChromeCookieViewClass; |
+ |
+GType gtk_chrome_cookie_view_get_type(); |
+ |
+// Builds a new cookie view. |
+GtkWidget* gtk_chrome_cookie_view_new(gboolean editable_expiration); |
+ |
+// Clears the cookie view. |
+void gtk_chrome_cookie_view_clear(GtkChromeCookieView* widget); |
+ |
+// NOTE: The G_END_DECLS ends here instead of at the end of the document |
+// because we want to define some methods on GtkChromeCookieView that take C++ |
+// objects. |
+G_END_DECLS |
+// NOTE: ^^^^^^^^^^^^^^^^^^^^^^^ |
+ |
+// Switches the display to showing the passed in cookie. |
+void gtk_chrome_cookie_view_display_cookie( |
+ GtkChromeCookieView* widget, |
+ const std::string& domain, |
+ const net::CookieMonster::CanonicalCookie& cookie); |
+ |
+// Looks up the cookie_line in CookieMonster and displays that. |
+void gtk_chrome_cookie_view_display_cookie_string( |
+ GtkChromeCookieView* widget, |
+ const GURL& url, |
+ const std::string& cookie_line); |
+ |
+// Switches the display to showing the passed in database. |
+void gtk_chrome_cookie_view_display_database( |
+ GtkChromeCookieView* widget, |
+ const BrowsingDataDatabaseHelper::DatabaseInfo& database_info); |
+ |
+// Switches the display to showing the passed in local storage data. |
+void gtk_chrome_cookie_view_display_local_storage( |
+ GtkChromeCookieView* widget, |
+ const BrowsingDataLocalStorageHelper::LocalStorageInfo& |
+ local_storage_info); |
+ |
+// Switches the display to showing the passed in app cache. |
+void gtk_chrome_cookie_view_display_app_cache( |
+ GtkChromeCookieView* widget, |
+ const appcache::AppCacheInfo& info); |
+ |
+// Switches the display to showing the passed in IndexedDB data. |
+void gtk_chrome_cookie_view_display_indexed_db( |
+ GtkChromeCookieView* widget, |
+ const BrowsingDataIndexedDBHelper::IndexedDBInfo& info); |
+ |
+// Switches the display to an individual storage item. |
+void gtk_chrome_cookie_view_display_local_storage_item( |
+ GtkChromeCookieView* widget, |
+ const std::string& host, |
+ const string16& key, |
+ const string16& value); |
+ |
+void gtk_chrome_cookie_view_display_database_accessed( |
+ GtkChromeCookieView* self, |
+ const std::string& host, |
+ const string16& database_name, |
+ const string16& display_name, |
+ unsigned long estimated_size); |
+ |
+void gtk_chrome_cookie_view_display_appcache_created( |
+ GtkChromeCookieView* self, |
+ const GURL& manifest_url); |
+ |
+// If |editable_expiration| was true at construction time, returns the value of |
+// the combo box. Otherwise, returns false. |
+bool gtk_chrome_cookie_view_session_expires(GtkChromeCookieView* self); |
+ |
+#endif // CHROME_BROWSER_UI_GTK_GTK_CHROME_COOKIE_VIEW_H_ |