diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
tree | e367e64a75991c554930278175d403c072de6bb8 /Tools/TestWebKitAPI/efl/PlatformWebView.cpp | |
parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
download | qtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Tools/TestWebKitAPI/efl/PlatformWebView.cpp')
-rw-r--r-- | Tools/TestWebKitAPI/efl/PlatformWebView.cpp | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/Tools/TestWebKitAPI/efl/PlatformWebView.cpp b/Tools/TestWebKitAPI/efl/PlatformWebView.cpp index 08407c6a3..5a3aa6b1e 100644 --- a/Tools/TestWebKitAPI/efl/PlatformWebView.cpp +++ b/Tools/TestWebKitAPI/efl/PlatformWebView.cpp @@ -25,10 +25,13 @@ */ #include "config.h" +#include "ewk_view_private.h" #include "PlatformWebView.h" #include "EWebKit2.h" -#include "WebKit2/WKAPICast.h" +#include <WebKit2/WKAPICast.h> +#include <WebKit2/WKRetainPtr.h> +#include <WebKit2/WKViewEfl.h> #include <Ecore_Evas.h> extern bool useX11Window; @@ -39,13 +42,16 @@ namespace TestWebKitAPI { static Ecore_Evas* initEcoreEvas() { - ASSERT(ecore_evas_init()); + if (!ecore_evas_init()) + return 0; - const char* engine = 0; + Ecore_Evas* ecoreEvas; #if defined(WTF_USE_ACCELERATED_COMPOSITING) && defined(HAVE_ECORE_X) - engine = "opengl_x11"; + ecoreEvas = ecore_evas_new("opengl_x11", 0, 0, 800, 600, 0); + // Graceful fallback to software rendering if evas_gl engine is not available. + if (!ecoreEvas) #endif - Ecore_Evas* ecoreEvas = ecore_evas_new(engine, 0, 0, 800, 600, 0); + ecoreEvas = ecore_evas_new(0, 0, 0, 800, 600, 0); ASSERT(ecoreEvas); @@ -63,9 +69,12 @@ static void onWebProcessCrashed(void*, Evas_Object*, void* eventInfo) PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef) { m_window = initEcoreEvas(); - Evas* evas = ecore_evas_get(m_window); - m_view = toImpl(WKViewCreate(evas, contextRef, pageGroupRef)); - ewk_view_theme_set(m_view, THEME_DIR"/default.edj"); + + m_view = EWKViewCreate(contextRef, pageGroupRef, ecore_evas_get(m_window), /* smart */ 0); + + WKRetainPtr<WKStringRef> wkTheme = adoptWK(WKStringCreateWithUTF8CString(TEST_THEME_DIR "/default.edj")); + WKViewSetThemePath(EWKViewGetWKView(m_view), wkTheme.get()); + evas_object_smart_callback_add(m_view, "webprocess,crashed", onWebProcessCrashed, 0); resizeTo(600, 800); } @@ -73,6 +82,7 @@ PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGro PlatformWebView::~PlatformWebView() { evas_object_del(m_view); + ecore_evas_free(m_window); ecore_evas_shutdown(); } @@ -84,12 +94,12 @@ void PlatformWebView::resizeTo(unsigned width, unsigned height) WKPageRef PlatformWebView::page() const { - return WKViewGetPage(toAPI(m_view)); + return WKViewGetPage(EWKViewGetWKView(m_view)); } void PlatformWebView::simulateSpacebarKeyPress() { - Evas* evas = ecore_evas_get(m_window); + Evas* evas = evas_object_evas_get(m_view); evas_object_focus_set(m_view, true); evas_event_feed_key_down(evas, "space", "space", " ", 0, 0, 0); evas_event_feed_key_up(evas, "space", "space", " ", 0, 1, 0); @@ -97,14 +107,14 @@ void PlatformWebView::simulateSpacebarKeyPress() void PlatformWebView::simulateMouseMove(unsigned x, unsigned y) { - Evas* evas = ecore_evas_get(m_window); + Evas* evas = evas_object_evas_get(m_view); evas_object_show(m_view); evas_event_feed_mouse_move(evas, x, y, 0, 0); } void PlatformWebView::simulateRightClick(unsigned x, unsigned y) { - Evas* evas = ecore_evas_get(m_window); + Evas* evas = evas_object_evas_get(m_view); evas_object_show(m_view); evas_event_feed_mouse_move(evas, x, y, 0, 0); evas_event_feed_mouse_down(evas, 3, EVAS_BUTTON_NONE, 0, 0); |