Changeset 85311 in webkit
- Timestamp:
- Apr 29, 2011 2:32:49 AM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r85308 r85311 1 2011-04-29 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 Reviewed by Martin Robinson. 4 5 [GTK] Implement page loader client in MiniBrowser 6 https://bugs.webkit.org/show_bug.cgi?id=58024 7 8 A new class BrowserWindow has been added to implement the page 9 loader client. It makes supporting multiple windows easier. Window 10 title and url entry are now updated during the loading process. 11 12 * MiniBrowser/gtk/BrowserWindow.c: Added. 13 (activateUriEntryCallback): 14 (goBackCallback): 15 (goForwardCallback): 16 (browserWindowFinalize): 17 (browserWindowGetProperty): 18 (browserWindowSetProperty): 19 (browser_window_init): 20 (browserWindowConstructed): 21 (browser_window_class_init): 22 (browserWindowUpdateTitle): 23 (browserWindowSetTitle): 24 (browserWindowSetLoadProgress): 25 (browserWindowUpdateURL): 26 (didStartProvisionalLoadForFrame): 27 (didReceiveServerRedirectForProvisionalLoadForFrame): 28 (didFailProvisionalLoadWithErrorForFrame): 29 (didCommitLoadForFrame): 30 (didFinishDocumentLoadForFrame): 31 (didFinishLoadForFrame): 32 (didFailLoadWithErrorForFrame): 33 (didReceiveTitleForFrame): 34 (didFirstLayoutForFrame): 35 (didFirstVisuallyNonEmptyLayoutForFrame): 36 (didRemoveFrameFromHierarchy): 37 (didStartProgress): 38 (didChangeProgress): 39 (didFinishProgress): 40 (didBecomeUnresponsive): 41 (didBecomeResponsive): 42 (browserWindowLoaderClientInit): 43 (browser_window_new): 44 (browser_window_get_view): 45 * MiniBrowser/gtk/BrowserWindow.h: Added. 46 * MiniBrowser/gtk/GNUmakefile.am: 47 * MiniBrowser/gtk/main.c: 48 (createWindow): 49 1 50 2011-04-28 Stephanie Lewis <slewis@apple.com> 2 51 -
trunk/Tools/MiniBrowser/gtk/GNUmakefile.am
r82570 r85311 10 10 11 11 Programs_MiniBrowser_SOURCES = \ 12 Tools/MiniBrowser/gtk/BrowserWindow.h \ 13 Tools/MiniBrowser/gtk/BrowserWindow.c \ 12 14 Tools/MiniBrowser/gtk/main.c 13 15 -
trunk/Tools/MiniBrowser/gtk/main.c
r85200 r85311 26 26 */ 27 27 28 #include "BrowserWindow.h" 28 29 #include <WebKit2/WebKit2.h> 29 30 #include <gtk/gtk.h> 30 31 static void activateUriEntryCallback(GtkWidget *entry, gpointer data)32 {33 WKViewRef webView = g_object_get_data(G_OBJECT(entry), "web-view");34 const gchar *uri = gtk_entry_get_text(GTK_ENTRY(entry));35 WKPageLoadURL(WKViewGetPage(webView), WKURLCreateWithUTF8CString(uri));36 }37 31 38 32 static void destroyCallback(GtkWidget *widget, GtkWidget *window) 39 33 { 40 34 gtk_main_quit(); 41 }42 43 static void goBackCallback(GtkWidget *widget, WKViewRef webView)44 {45 WKPageGoBack(WKViewGetPage(webView));46 }47 48 static void goForwardCallback(GtkWidget *widget, WKViewRef webView)49 {50 WKPageGoForward(WKViewGetPage(webView));51 }52 53 static GtkWidget *createToolbar(GtkWidget *uriEntry, WKViewRef webView)54 {55 GtkWidget *toolbar = gtk_toolbar_new();56 57 #if GTK_CHECK_VERSION(2, 15, 0)58 gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL);59 #else60 gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL);61 #endif62 gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);63 64 GtkToolItem *item = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);65 g_signal_connect(item, "clicked", G_CALLBACK(goBackCallback), (gpointer)webView);66 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);67 68 item = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);69 g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(goForwardCallback), (gpointer)webView);70 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);71 72 item = gtk_tool_item_new();73 gtk_tool_item_set_expand(item, TRUE);74 gtk_container_add(GTK_CONTAINER(item), uriEntry);75 g_signal_connect(uriEntry, "activate", G_CALLBACK(activateUriEntryCallback), NULL);76 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);77 78 g_object_set_data(G_OBJECT(uriEntry), "web-view", (gpointer)webView);79 item = gtk_tool_button_new_from_stock(GTK_STOCK_OK);80 g_signal_connect_swapped(item, "clicked", G_CALLBACK(activateUriEntryCallback), (gpointer)uriEntry);81 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);82 83 return toolbar;84 35 } 85 36 … … 91 42 static GtkWidget *createWindow(WKViewRef webView) 92 43 { 93 GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 94 gtk_window_set_default_size(GTK_WINDOW(window), 800, 600); 95 gtk_widget_set_name(window, "MiniBrowser"); 96 97 GtkWidget *uriEntry = gtk_entry_new(); 98 99 GtkWidget *vbox = gtk_vbox_new(FALSE, 0); 100 gtk_box_pack_start(GTK_BOX(vbox), createToolbar(uriEntry, webView), FALSE, FALSE, 0); 101 gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(webView), TRUE, TRUE, 0); 102 103 gtk_container_add(GTK_CONTAINER(window), vbox); 44 GtkWidget *window = browser_window_new(webView); 104 45 105 46 g_signal_connect(window, "destroy", G_CALLBACK(destroyCallback), NULL);
Note: See TracChangeset
for help on using the changeset viewer.