Changeset 103904 in webkit
- Timestamp:
- Jan 2, 2012 5:39:21 AM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r103866 r103904 1 2012-01-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Implement create/ready-to-show/close signals in MiniBrowser 4 https://bugs.webkit.org/show_bug.cgi?id=74711 5 6 Reviewed by Philippe Normand. 7 8 * MiniBrowser/gtk/BrowserWindow.c: 9 (webViewClose): Destroy the window. 10 (webViewReadyToShow): Use WindowProperties of the new view to 11 setup and show the window. 12 (webViewCreate): Create a new view and add it to a browser window. 13 (browser_window_init): 14 (browserWindowConstructed): Connect to WebKitWebView::create signal. 15 1 16 2011-12-31 Dan Bernstein <mitz@apple.com> 2 17 -
trunk/Tools/MiniBrowser/gtk/BrowserWindow.c
r99275 r103904 38 38 39 39 GtkWidget *mainBox; 40 GtkWidget *toolbar; 40 41 GtkWidget *uriEntry; 41 42 GtkWidget *backItem; … … 174 175 { 175 176 browserWindowUpdateNavigationActions(window, backForwadlist); 177 } 178 179 static void webViewClose(WebKitWebView *webView, BrowserWindow *window) 180 { 181 gtk_widget_destroy(GTK_WIDGET(window)); 182 } 183 184 static void webViewReadyToShow(WebKitWebView *webView, BrowserWindow *window) 185 { 186 WebKitWindowProperties *windowProperties = webkit_web_view_get_window_properties(webView); 187 188 GdkRectangle geometry; 189 webkit_window_properties_get_geometry(windowProperties, &geometry); 190 if (geometry.x >= 0 && geometry.y >= 0) 191 gtk_window_move(GTK_WINDOW(window), geometry.x, geometry.y); 192 if (geometry.width > 0 && geometry.height > 0) 193 gtk_window_resize(GTK_WINDOW(window), geometry.width, geometry.height); 194 195 if (!webkit_window_properties_get_toolbar_visible(windowProperties)) 196 gtk_widget_hide(window->toolbar); 197 else if (!webkit_window_properties_get_locationbar_visible(windowProperties)) 198 gtk_widget_hide(window->uriEntry); 199 200 if (!webkit_window_properties_get_resizable(windowProperties)) 201 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); 202 203 gtk_widget_show(GTK_WIDGET(window)); 204 } 205 206 static GtkWidget *webViewCreate(WebKitWebView *webView, BrowserWindow *window) 207 { 208 WebKitWebView *newWebView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_context(webkit_web_view_get_context(webView))); 209 webkit_web_view_set_settings(newWebView, webkit_web_view_get_settings(webView)); 210 211 GtkWidget *newWindow = browser_window_new(newWebView); 212 g_signal_connect(newWebView, "ready-to-show", G_CALLBACK(webViewReadyToShow), newWindow); 213 g_signal_connect(newWebView, "close", G_CALLBACK(webViewClose), newWindow); 214 return GTK_WIDGET(newWebView); 176 215 } 177 216 … … 221 260 222 261 GtkWidget *toolbar = gtk_toolbar_new(); 262 window->toolbar = toolbar; 223 263 gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL); 224 264 gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ); … … 266 306 g_signal_connect(window->webView, "notify::estimated-load-progress", G_CALLBACK(webViewLoadProgressChanged), window); 267 307 g_signal_connect(window->webView, "notify::title", G_CALLBACK(webViewTitleChanged), window); 308 g_signal_connect(window->webView, "create", G_CALLBACK(webViewCreate), window); 268 309 269 310 WebKitBackForwardList *backForwadlist = webkit_web_view_get_back_forward_list(window->webView);
Note: See TracChangeset
for help on using the changeset viewer.