Changeset 143004 in webkit
- Timestamp:
- Feb 15, 2013 8:49:14 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 6 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r142997 r143004 1 2013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 3 [EFL][WK2] Have WebView subclass PageClient 4 https://bugs.webkit.org/show_bug.cgi?id=109684 5 6 Reviewed by Anders Carlsson. 7 8 Stop constructing the PageClient in EwkView. PageClient is an internal 9 class and we should not use it directly in our Ewk implementation. 10 Instead, have WebView subclass PageClient. The PageClient implementation 11 just calls WebView methods otherwise. 12 13 * PlatformEfl.cmake: 14 * UIProcess/API/efl/EwkView.cpp: 15 (EwkView::EwkView): 16 (EwkView::setSize): 17 * UIProcess/API/efl/EwkView.h: 18 (WebKit): 19 (EwkView): 20 (EwkView::webView): 21 * UIProcess/API/efl/ewk_view.cpp: 22 * UIProcess/efl/PageClientBase.cpp: Removed. 23 * UIProcess/efl/PageClientBase.h: Removed. 24 * UIProcess/efl/PageClientDefaultImpl.cpp: Removed. 25 * UIProcess/efl/PageClientDefaultImpl.h: Removed. 26 * UIProcess/efl/PageClientLegacyImpl.cpp: Removed. 27 * UIProcess/efl/PageClientLegacyImpl.h: Removed. 28 * UIProcess/efl/PageLoadClientEfl.cpp: 29 (WebKit::PageLoadClientEfl::didCommitLoadForFrame): 30 * UIProcess/efl/PageViewportControllerClientEfl.h: 31 * UIProcess/efl/WebPageProxyEfl.cpp: 32 (WebKit::WebPageProxy::viewWidget): 33 * UIProcess/efl/WebView.cpp: 34 (WebKit::WebView::WebView): 35 (WebKit::WebView::~WebView): 36 (WebKit::WebView::initialize): 37 (WebKit): 38 (WebKit::WebView::evasObject): 39 (WebKit::WebView::setThemePath): 40 (WebKit::WebView::setDrawsBackground): 41 (WebKit::WebView::drawsBackground): 42 (WebKit::WebView::setDrawsTransparentBackground): 43 (WebKit::WebView::drawsTransparentBackground): 44 (WebKit::WebView::suspendActiveDOMObjectsAndAnimations): 45 (WebKit::WebView::resumeActiveDOMObjectsAndAnimations): 46 (WebKit::WebView::didCommitLoad): 47 (WebKit::WebView::updateViewportSize): 48 (WebKit::WebView::didChangeContentsSize): 49 (WebKit::WebView::createDrawingAreaProxy): 50 (WebKit::WebView::setViewNeedsDisplay): 51 (WebKit::WebView::displayView): 52 (WebKit::WebView::scrollView): 53 (WebKit::WebView::viewSize): 54 (WebKit::WebView::isViewWindowActive): 55 (WebKit::WebView::isViewFocused): 56 (WebKit::WebView::isViewVisible): 57 (WebKit::WebView::isViewInWindow): 58 (WebKit::WebView::processDidCrash): 59 (WebKit::WebView::didRelaunchProcess): 60 (WebKit::WebView::pageClosed): 61 (WebKit::WebView::toolTipChanged): 62 (WebKit::WebView::setCursor): 63 (WebKit::WebView::setCursorHiddenUntilMouseMoves): 64 (WebKit::WebView::registerEditCommand): 65 (WebKit::WebView::clearAllEditCommands): 66 (WebKit::WebView::canUndoRedo): 67 (WebKit::WebView::executeUndoRedo): 68 (WebKit::WebView::screenToWindow): 69 (WebKit::WebView::windowToScreen): 70 (WebKit::WebView::doneWithKeyEvent): 71 (WebKit::WebView::doneWithTouchEvent): 72 (WebKit::WebView::createPopupMenuProxy): 73 (WebKit::WebView::createContextMenuProxy): 74 (WebKit::WebView::createColorChooserProxy): 75 (WebKit::WebView::setFindIndicator): 76 (WebKit::WebView::enterAcceleratedCompositingMode): 77 (WebKit::WebView::exitAcceleratedCompositingMode): 78 (WebKit::WebView::updateAcceleratedCompositingMode): 79 (WebKit::WebView::didCommitLoadForMainFrame): 80 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation): 81 (WebKit::WebView::customRepresentationZoomFactor): 82 (WebKit::WebView::setCustomRepresentationZoomFactor): 83 (WebKit::WebView::flashBackingStoreUpdates): 84 (WebKit::WebView::findStringInCustomRepresentation): 85 (WebKit::WebView::countStringMatchesInCustomRepresentation): 86 (WebKit::WebView::updateTextInputState): 87 (WebKit::WebView::handleDownloadRequest): 88 (WebKit::WebView::convertToDeviceSpace): 89 (WebKit::WebView::convertToUserSpace): 90 (WebKit::WebView::didChangeViewportProperties): 91 (WebKit::WebView::pageDidRequestScroll): 92 (WebKit::WebView::didRenderFrame): 93 (WebKit::WebView::pageTransitionViewportReady): 94 * UIProcess/efl/WebView.h: 95 (WebKit): 96 (WebView): 97 (WebKit::WebView::pageRef): 98 (WebKit::WebView::page): 99 (WebKit::WebView::canScrollView): 100 1 101 2013-02-15 Milian Wolff <milian.wolff@kdab.com> 2 102 -
trunk/Source/WebKit2/PlatformEfl.cmake
r142750 r143004 90 90 UIProcess/efl/InputMethodContextEfl.cpp 91 91 UIProcess/efl/NetworkInfoProvider.cpp 92 UIProcess/efl/PageClientBase.cpp93 UIProcess/efl/PageClientLegacyImpl.cpp94 UIProcess/efl/PageClientDefaultImpl.cpp95 92 UIProcess/efl/PageLoadClientEfl.cpp 96 93 UIProcess/efl/PagePolicyClientEfl.cpp -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
r142758 r143004 31 31 #include "NativeWebMouseEvent.h" 32 32 #include "NativeWebWheelEvent.h" 33 #include "PageClientBase.h"34 #include "PageClientDefaultImpl.h"35 #include "PageClientLegacyImpl.h"36 33 #include "PageLoadClientEfl.h" 37 34 #include "PagePolicyClientEfl.h" … … 227 224 , m_context(context) 228 225 , m_pendingSurfaceResize(false) 229 , m_pageClient(behavior == DefaultBehavior ? PageClientDefaultImpl::create(this) : PageClientLegacyImpl::create(this)) 230 , m_webView(adoptRef(new WebView(toImpl(m_context->wkContext()), m_pageClient.get(), toImpl(pageGroup), evasObject))) 226 , m_webView(adoptRef(new WebView(toImpl(m_context->wkContext()), toImpl(pageGroup), this))) 231 227 , m_pageLoadClient(PageLoadClientEfl::create(this)) 232 228 , m_pagePolicyClient(PagePolicyClientEfl::create(this)) … … 466 462 467 463 drawingArea->setSize(m_size, IntSize()); 468 pageClient()->updateViewportSize();464 webView()->updateViewportSize(); 469 465 } 470 466 -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h
r142758 r143004 60 60 class FormClientEfl; 61 61 class InputMethodContextEfl; 62 class PageClientBase;63 62 class PageLoadClientEfl; 64 63 class PagePolicyClientEfl; … … 210 209 unsigned long long informDatabaseQuotaReached(const String& databaseName, const String& displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage); 211 210 212 WebKit::PageClientBase* pageClient() { return m_pageClient.get(); } 211 // FIXME: Remove when possible. 212 WebKit::WebView* webView() { return m_webView.get(); } 213 213 214 214 void setPageScaleFactor(float scaleFactor) { m_pageScaleFactor = scaleFactor; } … … 273 273 WebCore::TransformationMatrix m_userViewportTransform; 274 274 bool m_pendingSurfaceResize; 275 OwnPtr<WebKit::PageClientBase> m_pageClient;276 275 RefPtr<WebKit::WebView> m_webView; 277 276 OwnPtr<WebKit::PageLoadClientEfl> m_pageLoadClient; -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
r142169 r143004 26 26 #include "FormClientEfl.h" 27 27 #include "InputMethodContextEfl.h" 28 #include "PageClientBase.h"29 28 #include "PageLoadClientEfl.h" 30 29 #include "PagePolicyClientEfl.h" -
trunk/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp
r142169 r143004 28 28 29 29 #include "EwkView.h" 30 #include "PageClientBase.h"31 30 #include "WKAPICast.h" 32 31 #include "WKFrame.h" … … 118 117 119 118 EwkView* view = toPageLoadClientEfl(clientInfo)->view(); 120 view-> pageClient()->didCommitLoad();119 view->webView()->didCommitLoad(); 121 120 } 122 121 -
trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.h
r142169 r143004 28 28 29 29 #include "EwkView.h" 30 #include "PageClientBase.h"31 30 #include "PageViewportControllerClient.h" 32 31 #include <wtf/PassOwnPtr.h> -
trunk/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp
r141978 r143004 30 30 #include "NativeWebKeyboardEvent.h" 31 31 #include "NotImplemented.h" 32 #include "PageClientBase.h"33 32 #include "WebKitVersion.h" 34 33 #include "WebPageMessages.h" 35 34 #include "WebProcessProxy.h" 35 #include "WebView.h" 36 36 37 37 #include <sys/utsname.h> … … 41 41 Evas_Object* WebPageProxy::viewWidget() 42 42 { 43 return static_cast< PageClientBase*>(m_pageClient)->view()->evasObject();43 return static_cast<WebView*>(m_pageClient)->evasObject(); 44 44 } 45 45 -
trunk/Source/WebKit2/UIProcess/efl/WebView.cpp
r142750 r143004 1 1 /* 2 2 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Samsung Electronics. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 27 28 #include "WebView.h" 28 29 30 #include "DownloadManagerEfl.h" 31 #include "DrawingAreaProxyImpl.h" 32 #include "EwkView.h" 33 #include "InputMethodContextEfl.h" 34 #include "NotImplemented.h" 35 #include "PageViewportController.h" 36 #include "PageViewportControllerClientEfl.h" 37 #include "WebContextMenuProxyEfl.h" 38 #include "WebPageProxy.h" 39 #include "WebPopupMenuProxyEfl.h" 40 #include "ewk_context_private.h" 41 29 42 #if ENABLE(FULLSCREEN_API) 30 43 #include "WebFullScreenManagerProxy.h" 31 44 #endif 32 45 46 using namespace EwkViewCallbacks; 47 using namespace WebCore; 48 33 49 namespace WebKit { 34 50 35 WebView::WebView(WebContext* context, PageClient* pageClient, WebPageGroup* pageGroup, Evas_Object* evasObject)36 : m_ webPageProxy(context->createWebPage(pageClient, pageGroup))37 , m_ evasObject(evasObject)38 { 39 m_ webPageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true);40 m_ webPageProxy->pageGroup()->preferences()->setForceCompositingMode(true);51 WebView::WebView(WebContext* context, WebPageGroup* pageGroup, EwkView* ewkView) 52 : m_ewkView(ewkView) 53 , m_page(context->createWebPage(this, pageGroup)) 54 { 55 m_page->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true); 56 m_page->pageGroup()->preferences()->setForceCompositingMode(true); 41 57 42 58 char* debugVisualsEnvironment = getenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS"); 43 59 bool showDebugVisuals = debugVisualsEnvironment && !strcmp(debugVisualsEnvironment, "1"); 44 m_ webPageProxy->pageGroup()->preferences()->setCompositingBordersVisible(showDebugVisuals);45 m_ webPageProxy->pageGroup()->preferences()->setCompositingRepaintCountersVisible(showDebugVisuals);60 m_page->pageGroup()->preferences()->setCompositingBordersVisible(showDebugVisuals); 61 m_page->pageGroup()->preferences()->setCompositingRepaintCountersVisible(showDebugVisuals); 46 62 47 63 #if ENABLE(FULLSCREEN_API) 48 m_ webPageProxy->fullScreenManager()->setWebView(m_evasObject);64 m_page->fullScreenManager()->setWebView(evasObject()); 49 65 #endif 50 66 } … … 52 68 WebView::~WebView() 53 69 { 54 if (m_ webPageProxy->isClosed())70 if (m_page->isClosed()) 55 71 return; 56 72 57 m_ webPageProxy->close();73 m_page->close(); 58 74 } 59 75 60 76 void WebView::initialize() 61 77 { 62 m_webPageProxy->initializeWebPage(); 78 m_page->initializeWebPage(); 79 } 80 81 Evas_Object* WebView::evasObject() 82 { 83 return m_ewkView->evasObject(); 63 84 } 64 85 65 86 void WebView::setThemePath(WKStringRef theme) 66 87 { 67 m_ webPageProxy->setThemePath(toWTFString(theme).utf8().data());88 m_page->setThemePath(toWTFString(theme).utf8().data()); 68 89 } 69 90 70 91 void WebView::setDrawsBackground(bool drawsBackground) 71 92 { 72 m_ webPageProxy->setDrawsBackground(drawsBackground);93 m_page->setDrawsBackground(drawsBackground); 73 94 } 74 95 75 96 bool WebView::drawsBackground() const 76 97 { 77 return m_ webPageProxy->drawsBackground();98 return m_page->drawsBackground(); 78 99 } 79 100 80 101 void WebView::setDrawsTransparentBackground(bool transparentBackground) 81 102 { 82 m_ webPageProxy->setDrawsTransparentBackground(transparentBackground);103 m_page->setDrawsTransparentBackground(transparentBackground); 83 104 } 84 105 85 106 bool WebView::drawsTransparentBackground() const 86 107 { 87 return m_ webPageProxy->drawsTransparentBackground();108 return m_page->drawsTransparentBackground(); 88 109 } 89 110 90 111 void WebView::suspendActiveDOMObjectsAndAnimations() 91 112 { 92 m_ webPageProxy->suspendActiveDOMObjectsAndAnimations();113 m_page->suspendActiveDOMObjectsAndAnimations(); 93 114 } 94 115 95 116 void WebView::resumeActiveDOMObjectsAndAnimations() 96 117 { 97 m_ webPageProxy->resumeActiveDOMObjectsAndAnimations();118 m_page->resumeActiveDOMObjectsAndAnimations(); 98 119 } 99 120 … … 103 124 } 104 125 126 void WebView::didCommitLoad() 127 { 128 if (m_page->useFixedLayout()) { 129 ASSERT(m_pageViewportController); 130 m_pageViewportController->didCommitLoad(); 131 } else 132 m_ewkView->scheduleUpdateDisplay(); 133 } 134 135 void WebView::updateViewportSize() 136 { 137 if (m_page->useFixedLayout()) { 138 if (!m_pageViewportControllerClient) { 139 m_pageViewportControllerClient = PageViewportControllerClientEfl::create(m_ewkView); 140 m_pageViewportController = adoptPtr(new PageViewportController(page(), m_pageViewportControllerClient.get())); 141 } 142 m_pageViewportControllerClient->updateViewportSize(); 143 } else 144 m_page->drawingArea()->setVisibleContentsRect(IntRect(roundedIntPoint(m_ewkView->pagePosition()), m_ewkView->size()), FloatPoint()); 145 } 146 147 void WebView::didChangeContentsSize(const WebCore::IntSize& size) 148 { 149 if (m_page->useFixedLayout()) { 150 ASSERT(m_pageViewportController); 151 m_pageViewportController->didChangeContentsSize(size); 152 } 153 m_client.didChangeContentsSize(this, size); 154 } 155 156 // Page Client 157 158 PassOwnPtr<DrawingAreaProxy> WebView::createDrawingAreaProxy() 159 { 160 OwnPtr<DrawingAreaProxy> drawingArea = DrawingAreaProxyImpl::create(page()); 161 return drawingArea.release(); 162 } 163 105 164 void WebView::setViewNeedsDisplay(const WebCore::IntRect& area) 106 165 { … … 108 167 } 109 168 110 void WebView::didChangeContentsSize(const WebCore::IntSize& size) 111 { 112 m_client.didChangeContentsSize(this, size); 169 void WebView::displayView() 170 { 171 notImplemented(); 172 } 173 174 void WebView::scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize&) 175 { 176 setViewNeedsDisplay(scrollRect); 177 } 178 179 WebCore::IntSize WebView::viewSize() 180 { 181 return m_ewkView->size(); 182 } 183 184 bool WebView::isViewWindowActive() 185 { 186 notImplemented(); 187 return true; 188 } 189 190 bool WebView::isViewFocused() 191 { 192 return m_ewkView->isFocused(); 193 } 194 195 bool WebView::isViewVisible() 196 { 197 return m_ewkView->isVisible(); 198 } 199 200 bool WebView::isViewInWindow() 201 { 202 notImplemented(); 203 return true; 204 } 205 206 void WebView::processDidCrash() 207 { 208 // Check if loading was ongoing, when web process crashed. 209 double loadProgress = ewk_view_load_progress_get(m_ewkView->evasObject()); 210 if (loadProgress >= 0 && loadProgress < 1) { 211 loadProgress = 1; 212 m_ewkView->smartCallback<LoadProgress>().call(&loadProgress); 213 } 214 215 m_ewkView->smartCallback<TooltipTextUnset>().call(); 216 217 bool handled = false; 218 m_ewkView->smartCallback<WebProcessCrashed>().call(&handled); 219 220 if (!handled) { 221 CString url = m_page->urlAtProcessExit().utf8(); 222 WARN("WARNING: The web process experienced a crash on '%s'.\n", url.data()); 223 224 // Display an error page 225 ewk_view_html_string_load(m_ewkView->evasObject(), "The web process has crashed.", 0, url.data()); 226 } 227 } 228 229 void WebView::didRelaunchProcess() 230 { 231 const char* themePath = m_ewkView->themePath(); 232 if (themePath) 233 m_page->setThemePath(themePath); 234 } 235 236 void WebView::pageClosed() 237 { 238 notImplemented(); 239 } 240 241 void WebView::toolTipChanged(const String&, const String& newToolTip) 242 { 243 if (newToolTip.isEmpty()) 244 m_ewkView->smartCallback<TooltipTextUnset>().call(); 245 else 246 m_ewkView->smartCallback<TooltipTextSet>().call(newToolTip); 247 } 248 249 void WebView::setCursor(const Cursor& cursor) 250 { 251 m_ewkView->setCursor(cursor); 252 } 253 254 void WebView::setCursorHiddenUntilMouseMoves(bool) 255 { 256 notImplemented(); 257 } 258 259 void WebView::registerEditCommand(PassRefPtr<WebEditCommandProxy> command, WebPageProxy::UndoOrRedo undoOrRedo) 260 { 261 m_undoController.registerEditCommand(command, undoOrRedo); 262 } 263 264 void WebView::clearAllEditCommands() 265 { 266 m_undoController.clearAllEditCommands(); 267 } 268 269 bool WebView::canUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo) 270 { 271 return m_undoController.canUndoRedo(undoOrRedo); 272 } 273 274 void WebView::executeUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo) 275 { 276 m_undoController.executeUndoRedo(undoOrRedo); 277 } 278 279 IntPoint WebView::screenToWindow(const IntPoint& point) 280 { 281 notImplemented(); 282 return point; 283 } 284 285 IntRect WebView::windowToScreen(const IntRect&) 286 { 287 notImplemented(); 288 return IntRect(); 289 } 290 291 void WebView::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool) 292 { 293 notImplemented(); 294 } 295 296 #if ENABLE(TOUCH_EVENTS) 297 void WebView::doneWithTouchEvent(const NativeWebTouchEvent&, bool /*wasEventHandled*/) 298 { 299 notImplemented(); 300 } 301 #endif 302 303 PassRefPtr<WebPopupMenuProxy> WebView::createPopupMenuProxy(WebPageProxy* page) 304 { 305 return WebPopupMenuProxyEfl::create(m_ewkView, page); 306 } 307 308 PassRefPtr<WebContextMenuProxy> WebView::createContextMenuProxy(WebPageProxy* page) 309 { 310 return WebContextMenuProxyEfl::create(m_ewkView, page); 311 } 312 313 #if ENABLE(INPUT_TYPE_COLOR) 314 PassRefPtr<WebColorChooserProxy> WebView::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&) 315 { 316 notImplemented(); 317 return 0; 318 } 319 #endif 320 321 void WebView::setFindIndicator(PassRefPtr<FindIndicator>, bool, bool) 322 { 323 notImplemented(); 324 } 325 326 void WebView::enterAcceleratedCompositingMode(const LayerTreeContext&) 327 { 328 m_ewkView->enterAcceleratedCompositingMode(); 329 } 330 331 void WebView::exitAcceleratedCompositingMode() 332 { 333 m_ewkView->exitAcceleratedCompositingMode(); 334 } 335 336 void WebView::updateAcceleratedCompositingMode(const LayerTreeContext&) 337 { 338 notImplemented(); 339 } 340 341 void WebView::didCommitLoadForMainFrame(bool) 342 { 343 notImplemented(); 344 } 345 346 void WebView::didFinishLoadingDataForCustomRepresentation(const String&, const CoreIPC::DataReference&) 347 { 348 notImplemented(); 349 } 350 351 double WebView::customRepresentationZoomFactor() 352 { 353 notImplemented(); 354 return 0; 355 } 356 357 void WebView::setCustomRepresentationZoomFactor(double) 358 { 359 notImplemented(); 360 } 361 362 void WebView::flashBackingStoreUpdates(const Vector<IntRect>&) 363 { 364 notImplemented(); 365 } 366 367 void WebView::findStringInCustomRepresentation(const String&, FindOptions, unsigned) 368 { 369 notImplemented(); 370 } 371 372 void WebView::countStringMatchesInCustomRepresentation(const String&, FindOptions, unsigned) 373 { 374 notImplemented(); 375 } 376 377 void WebView::updateTextInputState() 378 { 379 InputMethodContextEfl* inputMethodContext = m_ewkView->inputMethodContext(); 380 if (inputMethodContext) 381 inputMethodContext->updateTextInputState(); 382 } 383 384 void WebView::handleDownloadRequest(DownloadProxy* download) 385 { 386 EwkContext* context = m_ewkView->ewkContext(); 387 context->downloadManager()->registerDownloadJob(toAPI(download), m_ewkView); 388 } 389 390 FloatRect WebView::convertToDeviceSpace(const FloatRect& userRect) 391 { 392 if (m_page->useFixedLayout()) { 393 FloatRect result = userRect; 394 result.scale(m_page->deviceScaleFactor()); 395 return result; 396 } 397 // Legacy mode. 398 notImplemented(); 399 return userRect; 400 } 401 402 FloatRect WebView::convertToUserSpace(const FloatRect& deviceRect) 403 { 404 if (m_page->useFixedLayout()) { 405 FloatRect result = deviceRect; 406 result.scale(1 / m_page->deviceScaleFactor()); 407 return result; 408 } 409 // Legacy mode. 410 notImplemented(); 411 return deviceRect; 412 } 413 414 void WebView::didChangeViewportProperties(const WebCore::ViewportAttributes& attr) 415 { 416 if (m_page->useFixedLayout()) { 417 ASSERT(m_pageViewportController); 418 m_pageViewportController->didChangeViewportAttributes(attr); 419 } else 420 m_ewkView->scheduleUpdateDisplay(); 421 } 422 423 void WebView::pageDidRequestScroll(const IntPoint& position) 424 { 425 if (m_page->useFixedLayout()) { 426 ASSERT(m_pageViewportController); 427 m_pageViewportController->pageDidRequestScroll(position); 428 } else { 429 m_ewkView->setPagePosition(FloatPoint(position)); 430 m_ewkView->scheduleUpdateDisplay(); 431 } 432 } 433 434 void WebView::didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) 435 { 436 if (m_page->useFixedLayout()) { 437 ASSERT(m_pageViewportController); 438 m_pageViewportController->didRenderFrame(contentsSize, coveredRect); 439 } else 440 m_ewkView->scheduleUpdateDisplay(); 441 } 442 443 void WebView::pageTransitionViewportReady() 444 { 445 if (m_page->useFixedLayout()) { 446 ASSERT(m_pageViewportController); 447 m_pageViewportController->pageTransitionViewportReady(); 448 } else 449 m_ewkView->scheduleUpdateDisplay(); 113 450 } 114 451 -
trunk/Source/WebKit2/UIProcess/efl/WebView.h
r142750 r143004 1 1 /* 2 2 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Samsung Electronics. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 28 29 29 30 #include "APIObject.h" 31 #include "DefaultUndoController.h" 30 32 #include "PageClient.h" 31 33 #include "WebContext.h" … … 35 37 #include "WebViewClient.h" 36 38 39 class EwkView; 40 37 41 namespace WebKit { 38 42 39 class WebView : public APIObject { 43 class PageViewportController; 44 class PageViewportControllerClientEfl; 45 46 class WebView : public APIObject, public PageClient { 40 47 public: 41 48 static const Type APIType = TypeView; 42 49 43 WebView(WebContext*, PageClient*, WebPageGroup*, Evas_Object*);50 WebView(WebContext*, WebPageGroup*, EwkView*); 44 51 virtual ~WebView(); 45 52 46 53 void initialize(); 47 54 48 WKPageRef pageRef() const { return toAPI(m_ webPageProxy.get()); }55 WKPageRef pageRef() const { return toAPI(m_page.get()); } 49 56 50 57 void setDrawsBackground(bool); … … 60 67 // View client. 61 68 void initializeClient(const WKViewClient*); 62 void setViewNeedsDisplay(const WebCore::IntRect&); 69 70 // FIXME: Remove when possible. 71 Evas_Object* evasObject(); 72 WebPageProxy* page() { return m_page.get(); } 73 74 void didCommitLoad(); 75 void updateViewportSize(); 63 76 void didChangeContentsSize(const WebCore::IntSize&); 64 77 65 // FIXME: Remove when possible. 66 Evas_Object* evasObject() { return m_evasObject; } 67 WebPageProxy* page() { return m_webPageProxy.get(); } 78 private: 79 // PageClient 80 PassOwnPtr<DrawingAreaProxy> createDrawingAreaProxy() OVERRIDE; 81 82 void setViewNeedsDisplay(const WebCore::IntRect&) OVERRIDE; 83 84 void displayView() OVERRIDE; 85 86 bool canScrollView() OVERRIDE { return false; } 87 void scrollView(const WebCore::IntRect&, const WebCore::IntSize&) OVERRIDE; 88 89 WebCore::IntSize viewSize() OVERRIDE; 90 91 bool isViewWindowActive() OVERRIDE; 92 bool isViewFocused() OVERRIDE; 93 bool isViewVisible() OVERRIDE; 94 bool isViewInWindow() OVERRIDE; 95 96 void processDidCrash() OVERRIDE; 97 void didRelaunchProcess() OVERRIDE; 98 void pageClosed() OVERRIDE; 99 100 void toolTipChanged(const String&, const String&) OVERRIDE; 101 102 void pageDidRequestScroll(const WebCore::IntPoint&) OVERRIDE; 103 void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) OVERRIDE; 104 void pageTransitionViewportReady() OVERRIDE; 105 106 void setCursor(const WebCore::Cursor&) OVERRIDE; 107 void setCursorHiddenUntilMouseMoves(bool) OVERRIDE; 108 109 void didChangeViewportProperties(const WebCore::ViewportAttributes&) OVERRIDE; 110 111 void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo) OVERRIDE; 112 void clearAllEditCommands() OVERRIDE; 113 bool canUndoRedo(WebPageProxy::UndoOrRedo) OVERRIDE; 114 void executeUndoRedo(WebPageProxy::UndoOrRedo) OVERRIDE; 115 116 WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&) OVERRIDE; 117 WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&) OVERRIDE; 118 WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) OVERRIDE; 119 WebCore::IntRect windowToScreen(const WebCore::IntRect&) OVERRIDE; 120 121 void updateTextInputState() OVERRIDE; 122 123 void handleDownloadRequest(DownloadProxy*) OVERRIDE; 124 125 void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool) OVERRIDE; 126 #if ENABLE(TOUCH_EVENTS) 127 void doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEventHandled) OVERRIDE; 128 #endif 129 130 PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*) OVERRIDE; 131 PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*) OVERRIDE; 132 #if ENABLE(INPUT_TYPE_COLOR) 133 PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor, const WebCore::IntRect&) OVERRIDE; 134 #endif 135 136 void setFindIndicator(PassRefPtr<FindIndicator>, bool, bool) OVERRIDE; 137 138 void enterAcceleratedCompositingMode(const LayerTreeContext&) OVERRIDE; 139 void exitAcceleratedCompositingMode() OVERRIDE; 140 void updateAcceleratedCompositingMode(const LayerTreeContext&) OVERRIDE; 141 142 void didCommitLoadForMainFrame(bool) OVERRIDE; 143 void didFinishLoadingDataForCustomRepresentation(const String&, const CoreIPC::DataReference&) OVERRIDE; 144 145 double customRepresentationZoomFactor() OVERRIDE; 146 void setCustomRepresentationZoomFactor(double) OVERRIDE; 147 148 void flashBackingStoreUpdates(const Vector<WebCore::IntRect>&) OVERRIDE; 149 void findStringInCustomRepresentation(const String&, FindOptions, unsigned) OVERRIDE; 150 void countStringMatchesInCustomRepresentation(const String&, FindOptions, unsigned) OVERRIDE; 68 151 69 152 private: … … 71 154 72 155 WebViewClient m_client; 73 RefPtr<WebPageProxy> m_webPageProxy; 74 Evas_Object* m_evasObject; 156 EwkView* m_ewkView; 157 RefPtr<WebPageProxy> m_page; 158 DefaultUndoController m_undoController; 159 // FIXME: Remove when possible. 160 OwnPtr<WebKit::PageViewportControllerClientEfl> m_pageViewportControllerClient; 161 OwnPtr<WebKit::PageViewportController> m_pageViewportController; 75 162 }; 76 163
Note: See TracChangeset
for help on using the changeset viewer.