Bug 109053 - [WK2][EFL] Eliminate external access to WebPageProxy pointer from EwkView.
Summary: [WK2][EFL] Eliminate external access to WebPageProxy pointer from EwkView.
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mikhail Pozdnyakov
URL:
Keywords:
Depends on:
Blocks: 107657 107662
  Show dependency treegraph
 
Reported: 2013-02-06 07:30 PST by Mikhail Pozdnyakov
Modified: 2017-03-11 10:42 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Pozdnyakov 2013-02-06 07:30:15 PST
Means actually making WebKit::WebPageProxy* EwkView::page() private. EwkView clients have to use WKPageRef wkPage() and  C WK2 api instead.
Comment 1 Angelina 2014-11-28 02:19:29 PST
I use InjectedBundle C API in WebProcess and ewk API in UIProcess.
I send WKPageRef from WebProcess to UIProcess.
Is it possible convert WKPageRef to Evas_Object*?
Comment 2 Angelina 2014-12-02 05:59:18 PST
Please see my code:

WebProcess (Injected Bundle) code:
...
WKBundlePageRef page = WKBundleFrameGetPage(frame);
WKBundlePostSynchronousMessage(bundle, messageName, page, 0);
..

UIProcess code:
..
void didReceiveSynchronousMessageFromInjectedBundle(WKContextRef page, WKStringRef messageName, WKTypeRef messageBody, WKTypeRef* returnData, const void *clientInfo) {
    WKPageRef page = (WKPageRef)messageBody
    Evas_Object* ewkView;
    //TODO: Convert WKPageRef to Evas_Object*
}
...
Comment 3 Angelina 2014-12-02 06:05:39 PST
What you think about this patch?
Thank you.

Source/WebKit2/UIProcess/API/efl/ewk_view.h

#include "WKPage.h"

/**
* Gets a EFL WebKit view object.
*
* @param page WKPageRef object
*
* @return view object on success or NULL on failure 
*/
EAPI Evas_Object* ewk_view_get_view(WKPageRef page);


Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

Evas_Object* EWKViewGetView(WKPageRef page)
{
    if(page)
        return EwkView::toEvasObject(page);
    return 0;
}

Evas_Object* ewk_view_get_view(WKPageRef page)
{
    return EWKViewGetView(page);
}

Source/WebKit2/UIProcess/API/efl/ewk_view_private.h

EAPI Evas_Object* EWKViewGetView(WKPageRef page);
Comment 4 Michael Catanzaro 2017-03-11 10:42:10 PST
Closing this bug because the EFL port has been removed from trunk.

If you feel this bug applies to a different upstream WebKit port and was closed in error, please either update the title and reopen the bug, or leave a comment to request this.