Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp (126843 => 126844)
--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp 2012-08-28 06:13:03 UTC (rev 126843)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp 2012-08-28 06:28:28 UTC (rev 126844)
@@ -31,6 +31,7 @@
#include "WKRetainPtr.h"
#include "WKString.h"
#include "WKURL.h"
+#include "WebContext.h"
#include "ewk_back_forward_list_private.h"
#include "ewk_context.h"
#include "ewk_context_private.h"
@@ -73,6 +74,7 @@
#if USE(COORDINATED_GRAPHICS)
OwnPtr<EflViewportHandler> viewportHandler;
#endif
+ RefPtr<WebPageProxy> pageProxy;
WKEinaSharedString uri;
WKEinaSharedString title;
@@ -186,7 +188,7 @@
{
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
- priv->pageClient->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
+ priv->pageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
return true;
}
@@ -194,7 +196,7 @@
{
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
- priv->pageClient->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
+ priv->pageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
return true;
}
@@ -203,7 +205,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleWheelEvent(NativeWebWheelEvent(wheelEvent, &position));
+ priv->pageProxy->handleWheelEvent(NativeWebWheelEvent(wheelEvent, &position));
return true;
}
@@ -212,7 +214,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(downEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(downEvent, &position));
return true;
}
@@ -221,7 +223,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(upEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(upEvent, &position));
return true;
}
@@ -230,7 +232,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(moveEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(moveEvent, &position));
return true;
}
@@ -238,7 +240,7 @@
{
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
- priv->pageClient->page()->handleKeyboardEvent(NativeWebKeyboardEvent(downEvent));
+ priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(downEvent));
return true;
}
@@ -246,7 +248,7 @@
{
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
- priv->pageClient->page()->handleKeyboardEvent(NativeWebKeyboardEvent(upEvent));
+ priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(upEvent));
return true;
}
@@ -534,8 +536,8 @@
priv->viewportHandler->updateViewportSize(IntSize(width, height));
#endif
- if (priv->pageClient->page()->drawingArea())
- priv->pageClient->page()->drawingArea()->setSize(IntSize(width, height), IntSize());
+ if (priv->pageProxy->drawingArea())
+ priv->pageProxy->drawingArea()->setSize(IntSize(width, height), IntSize());
#if USE(ACCELERATED_COMPOSITING)
if (!priv->evasGlSurface)
@@ -597,8 +599,8 @@
#undef CHECK_COLOR
evas_object_image_alpha_set(smartData->image, alpha < 255);
- priv->pageClient->page()->setDrawsBackground(red || green || blue);
- priv->pageClient->page()->setDrawsTransparentBackground(alpha < 255);
+ priv->pageProxy->setDrawsBackground(red || green || blue);
+ priv->pageProxy->setDrawsTransparentBackground(alpha < 255);
g_parentSmartClass.color_set(ewkView, red, green, blue, alpha);
}
@@ -664,14 +666,23 @@
if (priv->pageClient)
return;
- priv->pageClient = PageClientImpl::create(toImpl(ewk_context_WKContext_get(context)), toImpl(pageGroupRef), ewkView);
- priv->backForwardList = ewk_back_forward_list_new(toAPI(priv->pageClient->page()->backForwardList()));
+ priv->pageClient = PageClientImpl::create(ewkView);
+ priv->pageProxy = toImpl(ewk_context_WKContext_get(context))->createWebPage(priv->pageClient.get(), toImpl(pageGroupRef));
#if USE(COORDINATED_GRAPHICS)
+ priv->pageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true);
+ priv->pageProxy->pageGroup()->preferences()->setForceCompositingMode(true);
+ priv->pageProxy->setUseFixedLayout(true);
+#endif
+ priv->pageProxy->initializeWebPage();
+
+ priv->backForwardList = ewk_back_forward_list_new(toAPI(priv->pageProxy->backForwardList()));
+
+#if USE(COORDINATED_GRAPHICS)
priv->viewportHandler = EflViewportHandler::create(priv->pageClient.get());
#endif
- WKPageRef wkPage = toAPI(priv->pageClient->page());
+ WKPageRef wkPage = toAPI(priv->pageProxy.get());
ewk_view_find_client_attach(wkPage, ewkView);
ewk_view_form_client_attach(wkPage, ewkView);
ewk_view_loader_client_attach(wkPage, ewkView);
@@ -759,7 +770,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- String activeURL = priv->pageClient->page()->activeURL();
+ String activeURL = priv->pageProxy->activeURL();
if (activeURL.isEmpty())
return;
@@ -777,7 +788,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(uri, false);
- priv->pageClient->page()->loadURL(uri);
+ priv->pageProxy->loadURL(uri);
ewk_view_uri_update(ewkView);
return true;
@@ -796,7 +807,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->reload(/*reloadFromOrigin*/ false);
+ priv->pageProxy->reload(/*reloadFromOrigin*/ false);
ewk_view_uri_update(ewkView);
return true;
@@ -807,7 +818,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->reload(/*reloadFromOrigin*/ true);
+ priv->pageProxy->reload(/*reloadFromOrigin*/ true);
ewk_view_uri_update(ewkView);
return true;
@@ -818,7 +829,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->stopLoading();
+ priv->pageProxy->stopLoading();
return true;
}
@@ -926,7 +937,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- CString title = priv->pageClient->page()->pageTitle().utf8();
+ CString title = priv->pageProxy->pageTitle().utf8();
priv->title = title.data();
return priv->title;
@@ -959,7 +970,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->pageClient->page()->estimatedProgress();
+ return priv->pageProxy->estimatedProgress();
}
Eina_Bool ewk_view_scale_set(Evas_Object* ewkView, double scaleFactor, int x, int y)
@@ -967,7 +978,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->scalePage(scaleFactor, IntPoint(x, y));
+ priv->pageProxy->scalePage(scaleFactor, IntPoint(x, y));
return true;
}
@@ -976,7 +987,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1);
- return priv->pageClient->page()->pageScaleFactor();
+ return priv->pageProxy->pageScaleFactor();
}
Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)
@@ -984,7 +995,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->setCustomDeviceScaleFactor(ratio);
+ priv->pageProxy->setCustomDeviceScaleFactor(ratio);
return true;
}
@@ -994,7 +1005,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->pageClient->page()->deviceScaleFactor();
+ return priv->pageProxy->deviceScaleFactor();
}
/**
@@ -1028,7 +1039,7 @@
if (priv->theme != path) {
priv->theme = path;
- priv->pageClient->page()->setThemePath(path);
+ priv->pageProxy->setThemePath(path);
}
}
@@ -1158,7 +1169,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
if (page->canGoBack()) {
page->goBack();
return true;
@@ -1172,7 +1183,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
if (page->canGoForward()) {
page->goForward();
return true;
@@ -1188,7 +1199,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(intent, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
page->deliverIntentToFrame(page->mainFrame(), toImpl(ewk_intent_WKIntentDataRef_get(intent)));
return true;
@@ -1202,7 +1213,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->pageClient->page()->canGoBack();
+ return priv->pageProxy->canGoBack();
}
Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
@@ -1210,7 +1221,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->pageClient->page()->canGoForward();
+ return priv->pageProxy->canGoForward();
}
Ewk_Back_Forward_List* ewk_view_back_forward_list_get(const Evas_Object* ewkView)
@@ -1337,9 +1348,9 @@
EINA_SAFETY_ON_NULL_RETURN_VAL(html, false);
if (unreachableUrl && *unreachableUrl)
- priv->pageClient->page()->loadAlternateHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "", String::fromUTF8(unreachableUrl));
+ priv->pageProxy->loadAlternateHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "", String::fromUTF8(unreachableUrl));
else
- priv->pageClient->page()->loadHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "");
+ priv->pageProxy->loadHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "");
ewk_view_uri_update(ewkView);
return true;
@@ -1363,7 +1374,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->pageClient->page();
+ return priv->pageProxy.get();
}
const char* ewk_view_setting_encoding_custom_get(const Evas_Object* ewkView)
@@ -1371,7 +1382,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- String customEncoding = priv->pageClient->page()->customTextEncodingName();
+ String customEncoding = priv->pageProxy->customTextEncodingName();
if (customEncoding.isEmpty())
return 0;
@@ -1386,7 +1397,7 @@
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
priv->customEncoding = encoding;
- priv->pageClient->page()->setCustomTextEncodingName(encoding ? encoding : String());
+ priv->pageProxy->setCustomTextEncodingName(encoding ? encoding : String());
return true;
}
@@ -1424,7 +1435,7 @@
EINA_SAFETY_ON_NULL_RETURN_VAL(text, false);
WKRetainPtr<WKStringRef> findText(AdoptWK, WKStringCreateWithUTF8CString(text));
- WKPageFindString(toAPI(priv->pageClient->page()), findText.get(), static_cast<WKFindOptions>(options), maxMatchCount);
+ WKPageFindString(toAPI(priv->pageProxy.get()), findText.get(), static_cast<WKFindOptions>(options), maxMatchCount);
return true;
}
@@ -1434,7 +1445,7 @@
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WKPageHideFindUI(toAPI(priv->pageClient->page()));
+ WKPageHideFindUI(toAPI(priv->pageProxy.get()));
return true;
}