Diff
Modified: trunk/Tools/ChangeLog (225045 => 225046)
--- trunk/Tools/ChangeLog 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/ChangeLog 2017-11-20 09:51:07 UTC (rev 225046)
@@ -1,5 +1,30 @@
2017-11-20 Carlos Garcia Campos <[email protected]>
+ [WPE] Build C API tests
+ https://bugs.webkit.org/show_bug.cgi?id=179817
+
+ Reviewed by Michael Catanzaro.
+
+ * TestWebKitAPI/CMakeLists.txt:
+ * TestWebKitAPI/PlatformGTK.cmake:
+ * TestWebKitAPI/PlatformWPE.cmake:
+ * TestWebKitAPI/PlatformWebView.h:
+ * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
+ (TestWebKitAPI::Util::URLForNonExistentResource):
+ (TestWebKitAPI::Util::isKeyDown):
+ * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
+ (TestWebKitAPI::PlatformWebView::PlatformWebView):
+ (TestWebKitAPI::PlatformWebView::~PlatformWebView):
+ (TestWebKitAPI::PlatformWebView::initialize):
+ (TestWebKitAPI::PlatformWebView::page const):
+ (TestWebKitAPI::PlatformWebView::resizeTo):
+ (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
+ (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
+ (TestWebKitAPI::PlatformWebView::simulateRightClick):
+ (TestWebKitAPI::PlatformWebView::simulateMouseMove):
+
+2017-11-20 Carlos Garcia Campos <[email protected]>
+
[WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
https://bugs.webkit.org/show_bug.cgi?id=173770
Modified: trunk/Tools/TestWebKitAPI/CMakeLists.txt (225045 => 225046)
--- trunk/Tools/TestWebKitAPI/CMakeLists.txt 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/TestWebKitAPI/CMakeLists.txt 2017-11-20 09:51:07 UTC (rev 225046)
@@ -22,6 +22,60 @@
WebKit
gtest
)
+
+ set(test_webkit_api_SOURCES
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/AboutBlankLoad.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/CanHandleRequest.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/CookieManager.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/DOMWindowExtensionBasic.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/DOMWindowExtensionNoCache.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/DownloadDecideDestinationCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/EnumerateMediaDevices.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/EvaluateJavaScript.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/FailedLoad.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/Find.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ForceRepaint.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/FrameMIMETypeHTML.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/FrameMIMETypePNG.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/Geolocation.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/GetInjectedBundleInitializationUserDataCallback.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/HitTestResultNodeHandle.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleBasic.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleFrameHitTest.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadPageOnCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/MouseMoveAfterCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/PageLoadBasic.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ParentFrame.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/PendingAPIRequestURL.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/PreventEmptyUserAgent.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ReloadPageAfterCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ResizeWindowAfterCrash.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/RestoreSessionStateContainingFormData.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/ShouldGoToBackForwardListItem.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/UserMedia.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/UserMessage.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WillSendSubmitEvent.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPreferences.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKRetainPtr.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKString.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKStringJSString.cpp
+ ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKURL.cpp
+ )
+
list(APPEND TestWebKitAPI_LIBRARIES
WebKit
)
Modified: trunk/Tools/TestWebKitAPI/PlatformGTK.cmake (225045 => 225046)
--- trunk/Tools/TestWebKitAPI/PlatformGTK.cmake 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/TestWebKitAPI/PlatformGTK.cmake 2017-11-20 09:51:07 UTC (rev 225046)
@@ -70,60 +70,12 @@
${GTK3_LIBRARIES}
)
-add_executable(TestWebKit
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/AboutBlankLoad.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/CanHandleRequest.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/CookieManager.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/DOMWindowExtensionBasic.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/DOMWindowExtensionNoCache.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/DownloadDecideDestinationCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/EnumerateMediaDevices.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/EvaluateJavaScript.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/FailedLoad.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/Find.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ForceRepaint.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/FrameMIMETypeHTML.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/FrameMIMETypePNG.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/Geolocation.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/GetInjectedBundleInitializationUserDataCallback.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/HitTestResultNodeHandle.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleBasic.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleFrameHitTest.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/LoadPageOnCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/MouseMoveAfterCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/PageLoadBasic.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ParentFrame.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/PendingAPIRequestURL.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/PreventEmptyUserAgent.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ReloadPageAfterCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ResizeWindowAfterCrash.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/RestoreSessionStateContainingFormData.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/ShouldGoToBackForwardListItem.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/UserMedia.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/UserMessage.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WillSendSubmitEvent.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKPreferences.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKRetainPtr.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKString.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKStringJSString.cpp
- ${TESTWEBKITAPI_DIR}/Tests/WebKit/WKURL.cpp
+list(APPEND test_webkit_api_SOURCES
${TESTWEBKITAPI_DIR}/Tests/WebKit/gtk/InputMethodFilter.cpp
)
+add_executable(TestWebKit ${test_webkit_api_SOURCES})
+
target_link_libraries(TestWebKit ${test_webkit_api_LIBRARIES})
add_test(TestWebKit ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/WebKit/TestWebKit)
set_tests_properties(TestWebKit PROPERTIES TIMEOUT 60)
Modified: trunk/Tools/TestWebKitAPI/PlatformWPE.cmake (225045 => 225046)
--- trunk/Tools/TestWebKitAPI/PlatformWPE.cmake 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/TestWebKitAPI/PlatformWPE.cmake 2017-11-20 09:51:07 UTC (rev 225046)
@@ -15,6 +15,7 @@
include_directories(
${FORWARDING_HEADERS_DIR}
${FORWARDING_HEADERS_DIR}/_javascript_Core
+ ${TOOLS_DIR}/wpe/HeadlessViewBackend
)
include_directories(SYSTEM
@@ -32,6 +33,12 @@
${TESTWEBKITAPI_DIR}/wpe/PlatformUtilitiesWPE.cpp
)
+set(webkit_api_harness_SOURCES
+ ${TESTWEBKITAPI_DIR}/glib/UtilitiesGLib.cpp
+ ${TESTWEBKITAPI_DIR}/wpe/PlatformUtilitiesWPE.cpp
+ ${TESTWEBKITAPI_DIR}/wpe/PlatformWebViewWPE.cpp
+)
+
# TestWTF
list(APPEND TestWTF_SOURCES
@@ -63,8 +70,24 @@
set_tests_properties(TestWebCore PROPERTIES TIMEOUT 60)
set_target_properties(TestWebCore PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/WebCore)
+# TestWebKit
+
+list(APPEND test_webkit_api_LIBRARIES
+ WPEHeadlessViewBackend
+)
+
+add_executable(TestWebKit ${test_webkit_api_SOURCES})
+
+target_link_libraries(TestWebKit ${test_webkit_api_LIBRARIES})
+add_test(TestWebKit ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/WebKit/TestWebKit)
+set_tests_properties(TestWebKit PROPERTIES TIMEOUT 60)
+set_target_properties(TestWebKit PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/WebKit)
+
if (COMPILER_IS_GCC_OR_CLANG)
WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebCore -Wno-sign-compare
-Wno-undef
-Wno-unused-parameter)
+ WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKit -Wno-sign-compare
+ -Wno-undef
+ -Wno-unused-parameter)
endif ()
Modified: trunk/Tools/TestWebKitAPI/PlatformWebView.h (225045 => 225046)
--- trunk/Tools/TestWebKitAPI/PlatformWebView.h 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/TestWebKitAPI/PlatformWebView.h 2017-11-20 09:51:07 UTC (rev 225046)
@@ -47,6 +47,11 @@
#elif PLATFORM(GTK)
typedef WKViewRef PlatformWKView;
typedef GtkWidget *PlatformWindow;
+#elif PLATFORM(WPE)
+class HeadlessViewBackend;
+struct wpe_view_backend;
+typedef WKViewRef PlatformWKView;
+typedef HeadlessViewBackend *PlatformWindow;
#endif
namespace TestWebKitAPI {
@@ -77,12 +82,15 @@
private:
#if PLATFORM(MAC)
void initialize(WKPageConfigurationRef, Class wkViewSubclass);
-#elif PLATFORM(GTK)
+#elif PLATFORM(GTK) || PLATFORM(WPE)
void initialize(WKPageConfigurationRef);
#endif
PlatformWKView m_view;
PlatformWindow m_window;
+#if PLATFORM(WPE)
+ struct wpe_view_backend* m_backend { nullptr };
+#endif
};
} // namespace TestWebKitAPI
Modified: trunk/Tools/TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp (225045 => 225046)
--- trunk/Tools/TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp 2017-11-20 09:47:56 UTC (rev 225045)
+++ trunk/Tools/TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp 2017-11-20 09:51:07 UTC (rev 225046)
@@ -60,5 +60,16 @@
return WKURLCreateWithUTF8CString(resourceURI.get());
}
+WKURLRef URLForNonExistentResource()
+{
+ return WKURLCreateWithUTF8CString("file:///does-not-exist.html");
+}
+
+bool isKeyDown(WKNativeEventPtr event)
+{
+ // FIXME: WKNativeEventPtr is not properly defined in WPE.
+ return false;
+}
+
} // namespace Util
} // namespace TestWebKitAPI
Added: trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp (0 => 225046)
--- trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp (rev 0)
+++ trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp 2017-11-20 09:51:07 UTC (rev 225046)
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2012 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PlatformWebView.h"
+
+#include "HeadlessViewBackend.h"
+#include <WebKit/WKRetainPtr.h>
+#include <WebKit/WKView.h>
+
+namespace TestWebKitAPI {
+
+PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef)
+ : m_window(nullptr)
+{
+ WKRetainPtr<WKPageConfigurationRef> configuration = adoptWK(WKPageConfigurationCreate());
+ WKPageConfigurationSetContext(configuration.get(), contextRef);
+ WKPageConfigurationSetPageGroup(configuration.get(), pageGroupRef);
+
+ initialize(configuration.get());
+}
+
+PlatformWebView::PlatformWebView(WKPageConfigurationRef configuration)
+ : m_window(nullptr)
+{
+ initialize(configuration);
+}
+
+PlatformWebView::PlatformWebView(WKPageRef relatedPage)
+ : m_window(nullptr)
+{
+ WKRetainPtr<WKPageConfigurationRef> configuration = adoptWK(WKPageConfigurationCreate());
+ WKPageConfigurationSetContext(configuration.get(), WKPageGetContext(relatedPage));
+ WKPageConfigurationSetPageGroup(configuration.get(), WKPageGetPageGroup(relatedPage));
+ WKPageConfigurationSetRelatedPage(configuration.get(), relatedPage);
+
+ initialize(configuration.get());
+}
+
+PlatformWebView::~PlatformWebView()
+{
+ if (m_backend)
+ wpe_view_backend_destroy(m_backend);
+
+ delete m_window;
+}
+
+void PlatformWebView::initialize(WKPageConfigurationRef configuration)
+{
+ const char* useHeadlessViewBackend = g_getenv("WPE_USE_HEADLESS_VIEW_BACKEND");
+ if (useHeadlessViewBackend && strcmp(useHeadlessViewBackend, "0"))
+ m_window = new HeadlessViewBackend;
+ else
+ m_backend = wpe_view_backend_create();
+
+ m_view = WKViewCreate(m_window ? m_window->backend() : m_backend, configuration);
+}
+
+WKPageRef PlatformWebView::page() const
+{
+ return WKViewGetPage(m_view);
+}
+
+void PlatformWebView::resizeTo(unsigned width, unsigned height)
+{
+ // FIXME: implement this.
+}
+
+void PlatformWebView::simulateSpacebarKeyPress()
+{
+ // FIXME: implement this.
+}
+
+void PlatformWebView::simulateAltKeyPress()
+{
+ // FIXME: implement this.
+}
+
+void PlatformWebView::simulateRightClick(unsigned x, unsigned y)
+{
+ // FIXME: implement this.
+}
+
+void PlatformWebView::simulateMouseMove(unsigned x, unsigned y, WKEventModifiers)
+{
+ // FIXME: implement this.
+}
+
+} // namespace TestWebKitAPI