[EFL][WK2] Separate WebView further from EwkView
authormikhail.pozdnyakov@intel.com <mikhail.pozdnyakov@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Mar 2013 21:55:48 +0000 (21:55 +0000)
committermikhail.pozdnyakov@intel.com <mikhail.pozdnyakov@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Mar 2013 21:55:48 +0000 (21:55 +0000)
commit1b93ddff4290baaec12a812daebdd7557535b7a6
tree0264e4a2374ce92c1afe817aa3e301aad4560a09
parent06292ef7f20fd00946120a1616a48ccb3f9606b7
[EFL][WK2] Separate WebView further from EwkView
https://bugs.webkit.org/show_bug.cgi?id=111591

Reviewed by Caio Marcelo de Oliveira Filho.

Source/WebKit2:

Main points are:
- WKView API has no dependency on EFL types
- WebView class does not store the Evas_Object

* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):

    WKView creation does not require any EFL objects to be passed.

* UIProcess/API/C/efl/WKView.h:
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::create):

    WKViewRef is passed to EwkView constructor from outside rather than
    created inside.

(EwkView::webView):
* UIProcess/API/efl/EwkView.h:
(EwkView):
(EwkView::wkView):
(EwkView::page):

    EwkView keeps WKViewRef rather than pointer to WebView class.

* UIProcess/API/efl/ewk_view_private.h: Added.
(EWKViewCreate):
(EWKViewGetWKView):

    Added private API to create ewk view evas object and return its WKViewRef.

* UIProcess/API/efl/ewk_view.cpp:
(ewkCreateEvasObject):
(ewk_view_smart_add):
(ewk_view_add):
(ewk_view_add_with_context):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

    Updated accordingly to the new APIs.

* UIProcess/efl/WebView.cpp:
(WebKit::WebView::WebView):
(WebKit::WebView::create):
(WebKit):
(WebKit::WebView::setEwkView):
(WebKit::WebView::isViewFocused):
(WebKit::WebView::isViewVisible):
* UIProcess/efl/WebView.h:
(WebView):

    Implementation of updated WKView API.

Tools:

Updated EFL PlatformWebView to meet the new WKView API and ewk view private API.
PlatformWKView is pointer to Evas_Object for EFL, as this is more natural and
since we can afford it having EWKViewGetWKView() private API to access WKView.

* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
(WTR::EventSenderProxy::dispatchEvent):
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::sendTouchEvent):
(WTR::EventSenderProxy::setTouchModifier):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::page):
(WTR::PlatformWebView::focus):
(WTR::PlatformWebView::windowSnapshotImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@146265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
17 files changed:
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/C/efl/WKView.cpp
Source/WebKit2/UIProcess/API/C/efl/WKView.h
Source/WebKit2/UIProcess/API/efl/EwkView.cpp
Source/WebKit2/UIProcess/API/efl/EwkView.h
Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
Source/WebKit2/UIProcess/API/efl/ewk_view_private.h [new file with mode: 0644]
Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp
Source/WebKit2/UIProcess/efl/WebView.cpp
Source/WebKit2/UIProcess/efl/WebView.h
Tools/ChangeLog
Tools/TestWebKitAPI/PlatformWebView.h
Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp
Tools/TestWebKitAPI/efl/PlatformWebView.cpp
Tools/WebKitTestRunner/PlatformWebView.h
Tools/WebKitTestRunner/efl/EventSenderProxyEfl.cpp
Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp