Bug 109053
Summary: | [WK2][EFL] Eliminate external access to WebPageProxy pointer from EwkView. | ||
---|---|---|---|
Product: | WebKit | Reporter: | Mikhail Pozdnyakov <mikhail.pozdnyakov> |
Component: | WebKit EFL | Assignee: | Mikhail Pozdnyakov <mikhail.pozdnyakov> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | artvideo2003, kenneth, lucas.de.marchi, mcatanzaro |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 107657, 107662 |
Mikhail Pozdnyakov
Means actually making WebKit::WebPageProxy* EwkView::page() private. EwkView clients have to use WKPageRef wkPage() and C WK2 api instead.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Angelina
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*?
Angelina
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*
}
...
Angelina
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);
Michael Catanzaro
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.