summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-02-03 09:55:33 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-02-03 09:55:33 +0100
commitcd44dc59cdfc39534aef4d417e9f3c412e3be139 (patch)
tree8d89889ba95ed6ec9322e733846cc9cce9d7dff1 /Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp
parentd11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (diff)
downloadqtwebkit-cd44dc59cdfc39534aef4d417e9f3c412e3be139.tar.gz
Imported WebKit commit fce473cb4d55aa9fe9d0b0322a2fffecb731b961 (http://svn.webkit.org/repository/webkit/trunk@106560)
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp86
1 files changed, 40 insertions, 46 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp
index fcfdddb53..a659ad314 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011, 2012 Igalia S.L.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,117 +20,117 @@
#include "config.h"
#include "WebKitUIClient.h"
+#include "WebKitPrivate.h"
+#include "WebKitWebViewBasePrivate.h"
#include "WebKitWebViewPrivate.h"
#include "WebKitWindowPropertiesPrivate.h"
#include "WebPageProxy.h"
-#include <WebKit2/WKBase.h>
+#include <WebCore/GtkUtilities.h>
using namespace WebKit;
-G_DEFINE_TYPE(WebKitUIClient, webkit_ui_client, G_TYPE_OBJECT)
-
-static WKPageRef createNewPage(WKPageRef page, WKURLRequestRef, WKDictionaryRef wkWindowFeatures, WKEventModifiers, WKEventMouseButton, const void*)
+static WKPageRef createNewPage(WKPageRef page, WKURLRequestRef, WKDictionaryRef wkWindowFeatures, WKEventModifiers, WKEventMouseButton, const void* clientInfo)
{
- return webkitWebViewCreateNewPage(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()), wkWindowFeatures);
+ return webkitWebViewCreateNewPage(WEBKIT_WEB_VIEW(clientInfo), wkWindowFeatures);
}
-static void showPage(WKPageRef page, const void*)
+static void showPage(WKPageRef page, const void* clientInfo)
{
- webkitWebViewReadyToShowPage(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ webkitWebViewReadyToShowPage(WEBKIT_WEB_VIEW(clientInfo));
}
-static void closePage(WKPageRef page, const void*)
+static void closePage(WKPageRef page, const void* clientInfo)
{
- webkitWebViewClosePage(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ webkitWebViewClosePage(WEBKIT_WEB_VIEW(clientInfo));
}
-static void runJavaScriptAlert(WKPageRef page, WKStringRef message, WKFrameRef, const void*)
+static void runJavaScriptAlert(WKPageRef page, WKStringRef message, WKFrameRef, const void* clientInfo)
{
- webkitWebViewRunJavaScriptAlert(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()), toImpl(message)->string().utf8());
+ webkitWebViewRunJavaScriptAlert(WEBKIT_WEB_VIEW(clientInfo), toImpl(message)->string().utf8());
}
-static bool runJavaScriptConfirm(WKPageRef page, WKStringRef message, WKFrameRef, const void*)
+static bool runJavaScriptConfirm(WKPageRef page, WKStringRef message, WKFrameRef, const void* clientInfo)
{
- return webkitWebViewRunJavaScriptConfirm(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()), toImpl(message)->string().utf8());
+ return webkitWebViewRunJavaScriptConfirm(WEBKIT_WEB_VIEW(clientInfo), toImpl(message)->string().utf8());
}
-static WKStringRef runJavaScriptPrompt(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void*)
+static WKStringRef runJavaScriptPrompt(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo)
{
- return webkitWebViewRunJavaScriptPrompt(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()), toImpl(message)->string().utf8(),
+ return webkitWebViewRunJavaScriptPrompt(WEBKIT_WEB_VIEW(clientInfo), toImpl(message)->string().utf8(),
toImpl(defaultValue)->string().utf8());
}
-static bool toolbarsAreVisible(WKPageRef page, const void*)
+static bool toolbarsAreVisible(WKPageRef page, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
return webkit_window_properties_get_toolbar_visible(windowProperties);
}
-static void setToolbarsAreVisible(WKPageRef page, bool toolbarsVisible, const void*)
+static void setToolbarsAreVisible(WKPageRef page, bool toolbarsVisible, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
webkitWindowPropertiesSetToolbarVisible(windowProperties, toolbarsVisible);
}
-static bool menuBarIsVisible(WKPageRef page, const void*)
+static bool menuBarIsVisible(WKPageRef page, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
return webkit_window_properties_get_menubar_visible(windowProperties);
}
-static void setMenuBarIsVisible(WKPageRef page, bool menuBarVisible, const void*)
+static void setMenuBarIsVisible(WKPageRef page, bool menuBarVisible, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
webkitWindowPropertiesSetMenubarVisible(windowProperties, menuBarVisible);
}
-static bool statusBarIsVisible(WKPageRef page, const void*)
+static bool statusBarIsVisible(WKPageRef page, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
return webkit_window_properties_get_statusbar_visible(windowProperties);
}
-static void setStatusBarIsVisible(WKPageRef page, bool statusBarVisible, const void*)
+static void setStatusBarIsVisible(WKPageRef page, bool statusBarVisible, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
webkitWindowPropertiesSetStatusbarVisible(windowProperties, statusBarVisible);
}
-static bool isResizable(WKPageRef page, const void*)
+static bool isResizable(WKPageRef page, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
return webkit_window_properties_get_resizable(windowProperties);
}
-static void setIsResizable(WKPageRef page, bool resizable, const void*)
+static void setIsResizable(WKPageRef page, bool resizable, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
webkitWindowPropertiesSetResizable(windowProperties, resizable);
}
-static WKRect getWindowFrame(WKPageRef page, const void*)
+static WKRect getWindowFrame(WKPageRef page, const void* clientInfo)
{
GdkRectangle geometry = { 0, 0, 0, 0 };
- GtkWidget* window = gtk_widget_get_toplevel(toImpl(page)->viewWidget());
- if (gtk_widget_is_toplevel(window) && gtk_widget_get_visible(window)) {
+ GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(clientInfo));
+ if (WebCore::widgetIsOnscreenToplevelWindow(window) && gtk_widget_get_visible(window)) {
gtk_window_get_position(GTK_WINDOW(window), &geometry.x, &geometry.y);
gtk_window_get_size(GTK_WINDOW(window), &geometry.width, &geometry.height);
}
return WKRectMake(geometry.x, geometry.y, geometry.width, geometry.height);
}
-static void setWindowFrame(WKPageRef page, WKRect frame, const void*)
+static void setWindowFrame(WKPageRef page, WKRect frame, const void* clientInfo)
{
- WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()));
+ WebKitWindowProperties* windowProperties = webkit_web_view_get_window_properties(WEBKIT_WEB_VIEW(clientInfo));
GdkRectangle geometry = { frame.origin.x, frame.origin.y, frame.size.width, frame.size.height };
webkitWindowPropertiesSetGeometry(windowProperties, &geometry);
}
-void webkitUIClientAttachUIClientToPage(WebKitUIClient* uiClient, WKPageRef wkPage)
+void attachUIClientToView(WebKitWebView* webView)
{
WKPageUIClient wkUIClient = {
kWKPageUIClientCurrentVersion,
- uiClient, // clientInfo
+ webView, // clientInfo
0, // createNewPage_deprecatedForUseWithV0
showPage,
closePage,
@@ -174,13 +174,7 @@ void webkitUIClientAttachUIClientToPage(WebKitUIClient* uiClient, WKPageRef wkPa
0, // mouseDidMoveOverElement
0, // decidePolicyForNotificationPermissionRequest
};
+ WKPageRef wkPage = toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)));
WKPageSetPageUIClient(wkPage, &wkUIClient);
}
-static void webkit_ui_client_init(WebKitUIClient* client)
-{
-}
-
-static void webkit_ui_client_class_init(WebKitUIClientClass* clientClass)
-{
-}