Changeset 133464 in webkit


Ignore:
Timestamp:
Nov 5, 2012 6:22:33 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
https://bugs.webkit.org/show_bug.cgi?id=100674

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-05
Reviewed by Kenneth Rohde Christiansen.

Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
Calling ewk_view_base_add creates a desktop style view, that does not support
fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
As a result, WebKitTestRunner and the inspector window do not support
fixed layout size, while MiniBrowser does. This change allows many DumpAsText
layout tests to pass without modification, when AC is enabled.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::transformFromScene):
(EwkViewImpl::informLoadCommitted):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::informContentsSizeChange):

  • UIProcess/API/efl/EwkViewImpl.h:

(WebKit):
(EwkViewImpl):
(EwkViewImpl::pageClient):
(EwkViewImpl::setScaleFactor):
(EwkViewImpl::scaleFactor):
(EwkViewImpl::setScrollPosition):
(EwkViewImpl::scrollPosition):

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_smart_calculate):
(createEwkView):
(ewk_view_base_add):

  • UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.

(WebKit::PageClientBase::PageClientBase):
(WebKit::PageClientBase::~PageClientBase):
(WebKit::PageClientBase::viewImpl):
(WebKit::PageClientBase::createDrawingAreaProxy):
(WebKit::PageClientBase::setViewNeedsDisplay):
(WebKit::PageClientBase::displayView):
(WebKit::PageClientBase::scrollView):
(WebKit::PageClientBase::viewSize):
(WebKit::PageClientBase::isViewWindowActive):
(WebKit::PageClientBase::isViewFocused):
(WebKit::PageClientBase::isViewVisible):
(WebKit::PageClientBase::isViewInWindow):
(WebKit::PageClientBase::processDidCrash):
(WebKit::PageClientBase::didRelaunchProcess):
(WebKit::PageClientBase::pageClosed):
(WebKit::PageClientBase::toolTipChanged):
(WebKit::PageClientBase::setCursor):
(WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
(WebKit::PageClientBase::registerEditCommand):
(WebKit::PageClientBase::clearAllEditCommands):
(WebKit::PageClientBase::canUndoRedo):
(WebKit::PageClientBase::executeUndoRedo):
(WebKit::PageClientBase::convertToDeviceSpace):
(WebKit::PageClientBase::convertToUserSpace):
(WebKit::PageClientBase::screenToWindow):
(WebKit::PageClientBase::windowToScreen):
(WebKit::PageClientBase::doneWithKeyEvent):
(WebKit::PageClientBase::doneWithTouchEvent):
(WebKit::PageClientBase::createPopupMenuProxy):
(WebKit::PageClientBase::createContextMenuProxy):
(WebKit::PageClientBase::createColorChooserProxy):
(WebKit::PageClientBase::setFindIndicator):
(WebKit::PageClientBase::enterAcceleratedCompositingMode):
(WebKit::PageClientBase::exitAcceleratedCompositingMode):
(WebKit::PageClientBase::updateAcceleratedCompositingMode):
(WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
(WebKit::PageClientBase::didCommitLoadForMainFrame):
(WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
(WebKit::PageClientBase::customRepresentationZoomFactor):
(WebKit::PageClientBase::setCustomRepresentationZoomFactor):
(WebKit::PageClientBase::flashBackingStoreUpdates):
(WebKit::PageClientBase::findStringInCustomRepresentation):
(WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
(WebKit::PageClientBase::updateTextInputState):
(WebKit::PageClientBase::handleDownloadRequest):

  • UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.

(PageClientBase):

  • UIProcess/efl/PageClientDefaultImpl.cpp: Added.

(WebKit):
(WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
(WebKit::PageClientDefaultImpl::didCommitLoad):
(WebKit::PageClientDefaultImpl::updateViewportSize):
(WebKit::PageClientDefaultImpl::didChangeViewportProperties):
(WebKit::PageClientDefaultImpl::didChangeContentsSize):
(WebKit::PageClientDefaultImpl::pageDidRequestScroll):
(WebKit::PageClientDefaultImpl::didRenderFrame):
(WebKit::PageClientDefaultImpl::pageTransitionViewportReady):

  • UIProcess/efl/PageClientDefaultImpl.h: Added.

(WebKit):
(PageClientDefaultImpl):
(WebKit::PageClientDefaultImpl::create):
(WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):

  • UIProcess/efl/PageClientImpl.cpp: Removed.
  • UIProcess/efl/PageClientImpl.h: Removed.
  • UIProcess/efl/PageClientLegacyImpl.cpp: Added.

(WebKit):
(WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
(WebKit::PageClientLegacyImpl::didCommitLoad):
(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::didChangeViewportProperties):
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):
(WebKit::PageClientLegacyImpl::didRenderFrame):
(WebKit::PageClientLegacyImpl::pageTransitionViewportReady):

  • UIProcess/efl/PageClientLegacyImpl.h: Added.

(WebKit):
(PageClientLegacyImpl):
(WebKit::PageClientLegacyImpl::create):
(WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):

  • UIProcess/efl/PageViewportControllerClientEfl.h:
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::viewWidget):

Location:
trunk/Source/WebKit2
Files:
4 added
8 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r133457 r133464  
     12012-11-05  Yael Aharon  <yael.aharon@intel.com>
     2
     3        [EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
     4        https://bugs.webkit.org/show_bug.cgi?id=100674
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
     9        Calling ewk_view_base_add creates a desktop style view, that does not support
     10        fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
     11        As a result, WebKitTestRunner and the inspector window do not support
     12        fixed layout size, while MiniBrowser does. This change allows many DumpAsText
     13        layout tests to pass without modification, when AC is enabled.
     14
     15        * PlatformEfl.cmake:
     16        * UIProcess/API/efl/EwkViewImpl.cpp:
     17        (EwkViewImpl::EwkViewImpl):
     18        (EwkViewImpl::transformFromScene):
     19        (EwkViewImpl::informLoadCommitted):
     20        (EwkViewImpl::enterAcceleratedCompositingMode):
     21        (EwkViewImpl::informContentsSizeChange):
     22        * UIProcess/API/efl/EwkViewImpl.h:
     23        (WebKit):
     24        (EwkViewImpl):
     25        (EwkViewImpl::pageClient):
     26        (EwkViewImpl::setScaleFactor):
     27        (EwkViewImpl::scaleFactor):
     28        (EwkViewImpl::setScrollPosition):
     29        (EwkViewImpl::scrollPosition):
     30        * UIProcess/API/efl/ewk_view.cpp:
     31        (_ewk_view_smart_calculate):
     32        (createEwkView):
     33        (ewk_view_base_add):
     34        * UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
     35        (WebKit::PageClientBase::PageClientBase):
     36        (WebKit::PageClientBase::~PageClientBase):
     37        (WebKit::PageClientBase::viewImpl):
     38        (WebKit::PageClientBase::createDrawingAreaProxy):
     39        (WebKit::PageClientBase::setViewNeedsDisplay):
     40        (WebKit::PageClientBase::displayView):
     41        (WebKit::PageClientBase::scrollView):
     42        (WebKit::PageClientBase::viewSize):
     43        (WebKit::PageClientBase::isViewWindowActive):
     44        (WebKit::PageClientBase::isViewFocused):
     45        (WebKit::PageClientBase::isViewVisible):
     46        (WebKit::PageClientBase::isViewInWindow):
     47        (WebKit::PageClientBase::processDidCrash):
     48        (WebKit::PageClientBase::didRelaunchProcess):
     49        (WebKit::PageClientBase::pageClosed):
     50        (WebKit::PageClientBase::toolTipChanged):
     51        (WebKit::PageClientBase::setCursor):
     52        (WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
     53        (WebKit::PageClientBase::registerEditCommand):
     54        (WebKit::PageClientBase::clearAllEditCommands):
     55        (WebKit::PageClientBase::canUndoRedo):
     56        (WebKit::PageClientBase::executeUndoRedo):
     57        (WebKit::PageClientBase::convertToDeviceSpace):
     58        (WebKit::PageClientBase::convertToUserSpace):
     59        (WebKit::PageClientBase::screenToWindow):
     60        (WebKit::PageClientBase::windowToScreen):
     61        (WebKit::PageClientBase::doneWithKeyEvent):
     62        (WebKit::PageClientBase::doneWithTouchEvent):
     63        (WebKit::PageClientBase::createPopupMenuProxy):
     64        (WebKit::PageClientBase::createContextMenuProxy):
     65        (WebKit::PageClientBase::createColorChooserProxy):
     66        (WebKit::PageClientBase::setFindIndicator):
     67        (WebKit::PageClientBase::enterAcceleratedCompositingMode):
     68        (WebKit::PageClientBase::exitAcceleratedCompositingMode):
     69        (WebKit::PageClientBase::updateAcceleratedCompositingMode):
     70        (WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
     71        (WebKit::PageClientBase::didCommitLoadForMainFrame):
     72        (WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
     73        (WebKit::PageClientBase::customRepresentationZoomFactor):
     74        (WebKit::PageClientBase::setCustomRepresentationZoomFactor):
     75        (WebKit::PageClientBase::flashBackingStoreUpdates):
     76        (WebKit::PageClientBase::findStringInCustomRepresentation):
     77        (WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
     78        (WebKit::PageClientBase::updateTextInputState):
     79        (WebKit::PageClientBase::handleDownloadRequest):
     80        * UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
     81        (PageClientBase):
     82        * UIProcess/efl/PageClientDefaultImpl.cpp: Added.
     83        (WebKit):
     84        (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
     85        (WebKit::PageClientDefaultImpl::didCommitLoad):
     86        (WebKit::PageClientDefaultImpl::updateViewportSize):
     87        (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
     88        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
     89        (WebKit::PageClientDefaultImpl::pageDidRequestScroll):
     90        (WebKit::PageClientDefaultImpl::didRenderFrame):
     91        (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
     92        * UIProcess/efl/PageClientDefaultImpl.h: Added.
     93        (WebKit):
     94        (PageClientDefaultImpl):
     95        (WebKit::PageClientDefaultImpl::create):
     96        (WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
     97        * UIProcess/efl/PageClientImpl.cpp: Removed.
     98        * UIProcess/efl/PageClientImpl.h: Removed.
     99        * UIProcess/efl/PageClientLegacyImpl.cpp: Added.
     100        (WebKit):
     101        (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
     102        (WebKit::PageClientLegacyImpl::didCommitLoad):
     103        (WebKit::PageClientLegacyImpl::updateViewportSize):
     104        (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
     105        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
     106        (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
     107        (WebKit::PageClientLegacyImpl::didRenderFrame):
     108        (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
     109        * UIProcess/efl/PageClientLegacyImpl.h: Added.
     110        (WebKit):
     111        (PageClientLegacyImpl):
     112        (WebKit::PageClientLegacyImpl::create):
     113        (WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
     114        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
     115        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
     116        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
     117        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
     118        (WebKit::PageViewportControllerClientEfl::setContentsScale):
     119        * UIProcess/efl/PageViewportControllerClientEfl.h:
     120        * UIProcess/efl/WebPageProxyEfl.cpp:
     121        (WebKit::WebPageProxy::viewWidget):
     122
    11232012-11-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
    2124
  • trunk/Source/WebKit2/PlatformEfl.cmake

    r133432 r133464  
    8383    UIProcess/efl/InputMethodContextEfl.cpp
    8484    UIProcess/efl/NetworkInfoProvider.cpp
    85     UIProcess/efl/PageClientImpl.cpp
     85    UIProcess/efl/PageClientBase.cpp
     86    UIProcess/efl/PageClientLegacyImpl.cpp
     87    UIProcess/efl/PageClientDefaultImpl.cpp
    8688    UIProcess/efl/PageLoadClientEfl.cpp
    8789    UIProcess/efl/PagePolicyClientEfl.cpp
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp

    r133423 r133464  
    2828#include "LayerTreeCoordinatorProxy.h"
    2929#include "LayerTreeRenderer.h"
    30 #include "PageClientImpl.h"
     30#include "PageClientBase.h"
     31#include "PageClientDefaultImpl.h"
     32#include "PageClientLegacyImpl.h"
    3133#include "PageLoadClientEfl.h"
    3234#include "PagePolicyClientEfl.h"
    3335#include "PageUIClientEfl.h"
    34 #include "PageViewportController.h"
    35 #include "PageViewportControllerClientEfl.h"
    3636#include "ResourceLoadClientEfl.h"
    3737#include "WKString.h"
     
    9797}
    9898
    99 EwkViewImpl::EwkViewImpl(Evas_Object* view, PassRefPtr<Ewk_Context> context, PassRefPtr<WebPageGroup> pageGroup)
     99EwkViewImpl::EwkViewImpl(Evas_Object* view, PassRefPtr<Ewk_Context> context, PassRefPtr<WebPageGroup> pageGroup, ViewBehavior behavior)
    100100    : m_view(view)
    101101    , m_context(context)
    102     , m_pageClient(PageClientImpl::create(this))
     102    , m_pageClient(behavior == DefaultBehavior ? PageClientDefaultImpl::create(this) : PageClientLegacyImpl::create(this))
    103103    , m_pageProxy(toImpl(m_context->wkContext())->createWebPage(m_pageClient.get(), pageGroup.get()))
    104104    , m_pageLoadClient(PageLoadClientEfl::create(this))
     
    110110    , m_backForwardList(Ewk_Back_Forward_List::create(toAPI(m_pageProxy->backForwardList())))
    111111#if USE(TILED_BACKING_STORE)
    112     , m_pageViewportControllerClient(PageViewportControllerClientEfl::create(this))
    113     , m_pageViewportController(adoptPtr(new PageViewportController(m_pageProxy.get(), m_pageViewportControllerClient.get())))
     112    , m_scaleFactor(1)
    114113#endif
    115114    , m_settings(Ewk_Settings::create(this))
     
    132131    m_pageProxy->pageGroup()->preferences()->setWebGLEnabled(true);
    133132#endif
    134     m_pageProxy->setUseFixedLayout(true);
     133    if (behavior == DefaultBehavior)
     134        m_pageProxy->setUseFixedLayout(true);
    135135#endif
    136136
    137137    m_pageProxy->initializeWebPage();
    138 
    139 #if USE(TILED_BACKING_STORE)
    140     m_pageClient->setPageViewportController(m_pageViewportController.get());
    141 #endif
    142138
    143139#if ENABLE(FULLSCREEN_API)
     
    246242
    247243#if USE(TILED_BACKING_STORE)
    248     IntPoint scrollPos = pageViewportControllerClient()->scrollPosition();
    249     transform.translate(scrollPos.x(), scrollPos.y());
    250     transform.scale(1 / pageViewportControllerClient()->scaleFactor());
     244    transform.translate(m_scrollPosition.x(), m_scrollPosition.y());
     245    transform.scale(1 / m_scaleFactor);
    251246#endif
    252247
     
    371366void EwkViewImpl::informLoadCommitted()
    372367{
    373     m_pageViewportController->didCommitLoad();
     368    m_pageClient->didCommitLoad();
    374369}
    375370#endif
     
    560555    }
    561556
    562     m_pageViewportControllerClient->setRendererActive(true);
     557    page()->drawingArea()->layerTreeCoordinatorProxy()->layerTreeRenderer()->setActive(true);
    563558    return true;
    564559}
     
    619614{
    620615#if USE(COORDINATED_GRAPHICS)
    621     m_pageViewportControllerClient->didChangeContentsSize(size);
     616    m_pageClient->didChangeContentsSize(size);
    622617#else
    623618    UNUSED_PARAM(size);
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h

    r133457 r133464  
    4949class FormClientEfl;
    5050class InputMethodContextEfl;
    51 class PageClientImpl;
     51class PageClientBase;
    5252class PageLoadClientEfl;
    5353class PagePolicyClientEfl;
    5454class PageUIClientEfl;
    55 class PageViewportControllerClientEfl;
    56 class PageViewportController;
    5755class ResourceLoadClientEfl;
    5856class WebPageGroup;
     
    9189class EwkViewImpl {
    9290public:
    93     EwkViewImpl(Evas_Object* view, PassRefPtr<Ewk_Context> context, PassRefPtr<WebKit::WebPageGroup> pageGroup);
     91
     92    enum ViewBehavior {
     93        LegacyBehavior,
     94        DefaultBehavior
     95    };
     96    EwkViewImpl(Evas_Object* view, PassRefPtr<Ewk_Context> context, PassRefPtr<WebKit::WebPageGroup> pageGroup, ViewBehavior);
    9497    ~EwkViewImpl();
    9598
     
    178181
    179182#if USE(TILED_BACKING_STORE)
    180     WebKit::PageViewportControllerClientEfl* pageViewportControllerClient() const { return m_pageViewportControllerClient.get(); }
    181     WebKit::PageViewportController* pageViewportController() const { return m_pageViewportController.get(); }
     183    WebKit::PageClientBase* pageClient() { return m_pageClient.get(); }
     184
     185    void setScaleFactor(float scaleFactor) { m_scaleFactor = scaleFactor; }
     186    float scaleFactor() const { return m_scaleFactor; }
     187
     188    void setScrollPosition(WebCore::IntPoint position) { m_scrollPosition = position; }
     189    const WebCore::IntPoint scrollPosition() const { return m_scrollPosition; }
    182190#endif
    183191#if USE(ACCELERATED_COMPOSITING)
     
    216224    OwnPtr<WebKit::EvasGLSurface> m_evasGLSurface;
    217225#endif
    218     OwnPtr<WebKit::PageClientImpl> m_pageClient;
     226    OwnPtr<WebKit::PageClientBase> m_pageClient;
    219227    RefPtr<WebKit::WebPageProxy> m_pageProxy;
    220228    OwnPtr<WebKit::PageLoadClientEfl> m_pageLoadClient;
     
    226234    OwnPtr<Ewk_Back_Forward_List> m_backForwardList;
    227235#if USE(TILED_BACKING_STORE)
    228     OwnPtr<WebKit::PageViewportControllerClientEfl> m_pageViewportControllerClient;
    229     OwnPtr<WebKit::PageViewportController> m_pageViewportController;
     236    float m_scaleFactor;
     237    WebCore::IntPoint m_scrollPosition;
    230238#endif
    231239    OwnPtr<Ewk_Settings> m_settings;
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

    r133423 r133464  
    2929#include "NativeWebMouseEvent.h"
    3030#include "NativeWebWheelEvent.h"
    31 #include "PageClientImpl.h"
     31#include "PageClientBase.h"
    3232#include "PageLoadClientEfl.h"
    3333#include "PagePolicyClientEfl.h"
     
    393393        }
    394394#endif
    395 #if USE(COORDINATED_GRAPHICS)
    396         impl->pageViewportControllerClient()->updateViewportSize(IntSize(width, height));
     395#if USE(TILED_BACKING_STORE)
     396        impl->pageClient()->updateViewportSize(IntSize(width, height));
    397397#endif
    398398    }
     
    495495}
    496496
    497 static inline Evas_Object* createEwkView(Evas* canvas, Evas_Smart* smart, PassRefPtr<Ewk_Context> context, WKPageGroupRef pageGroupRef = 0)
     497static inline Evas_Object* createEwkView(Evas* canvas, Evas_Smart* smart, PassRefPtr<Ewk_Context> context, WKPageGroupRef pageGroupRef = 0, EwkViewImpl::ViewBehavior behavior = EwkViewImpl::DefaultBehavior)
    498498{
    499499    EINA_SAFETY_ON_NULL_RETURN_VAL(canvas, 0);
     
    512512    ASSERT(!smartData->priv);
    513513    RefPtr<WebPageGroup> pageGroup = pageGroupRef ? toImpl(pageGroupRef) : WebPageGroup::create();
    514     smartData->priv = new EwkViewImpl(ewkView, context, pageGroup);
    515 
     514    smartData->priv = new EwkViewImpl(ewkView, context, pageGroup, behavior);
    516515    return ewkView;
    517516}
     
    523522Evas_Object* ewk_view_base_add(Evas* canvas, WKContextRef contextRef, WKPageGroupRef pageGroupRef)
    524523{
    525     return createEwkView(canvas, createEwkViewSmartClass(), Ewk_Context::create(contextRef), pageGroupRef);
     524    return createEwkView(canvas, createEwkViewSmartClass(), Ewk_Context::create(contextRef), pageGroupRef, EwkViewImpl::LegacyBehavior);
    526525}
    527526
  • trunk/Source/WebKit2/UIProcess/efl/PageClientBase.cpp

    r133463 r133464  
    2525
    2626#include "config.h"
    27 #include "PageClientImpl.h"
     27#include "PageClientBase.h"
    2828
    2929#include "DrawingAreaProxyImpl.h"
     
    4545#include "ewk_view.h"
    4646
    47 #if USE(TILED_BACKING_STORE)
    48 #include "PageViewportController.h"
    49 #endif
    50 
    5147using namespace WebCore;
    5248using namespace EwkViewCallbacks;
     
    5450namespace WebKit {
    5551
    56 PageClientImpl::PageClientImpl(EwkViewImpl* viewImpl)
     52PageClientBase::PageClientBase(EwkViewImpl* viewImpl)
    5753    : m_viewImpl(viewImpl)
    5854{
    5955}
    6056
    61 PageClientImpl::~PageClientImpl()
    62 {
    63 }
    64 
    65 EwkViewImpl* PageClientImpl::viewImpl() const
     57PageClientBase::~PageClientBase()
     58{
     59}
     60
     61EwkViewImpl* PageClientBase::viewImpl() const
    6662{
    6763    return m_viewImpl;
     
    6965
    7066// PageClient
    71 PassOwnPtr<DrawingAreaProxy> PageClientImpl::createDrawingAreaProxy()
     67PassOwnPtr<DrawingAreaProxy> PageClientBase::createDrawingAreaProxy()
    7268{
    7369    return DrawingAreaProxyImpl::create(m_viewImpl->page());
    7470}
    7571
    76 void PageClientImpl::setViewNeedsDisplay(const WebCore::IntRect& rect)
     72void PageClientBase::setViewNeedsDisplay(const WebCore::IntRect& rect)
    7773{
    7874    m_viewImpl->update(rect);
    7975}
    8076
    81 void PageClientImpl::displayView()
    82 {
    83     notImplemented();
    84 }
    85 
    86 void PageClientImpl::scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize&)
     77void PageClientBase::displayView()
     78{
     79    notImplemented();
     80}
     81
     82void PageClientBase::scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize&)
    8783{
    8884    setViewNeedsDisplay(scrollRect);
    8985}
    9086
    91 WebCore::IntSize PageClientImpl::viewSize()
     87WebCore::IntSize PageClientBase::viewSize()
    9288{
    9389    return m_viewImpl->size();
    9490}
    9591
    96 bool PageClientImpl::isViewWindowActive()
     92bool PageClientBase::isViewWindowActive()
    9793{
    9894    notImplemented();
     
    10096}
    10197
    102 bool PageClientImpl::isViewFocused()
     98bool PageClientBase::isViewFocused()
    10399{
    104100    return m_viewImpl->isFocused();
    105101}
    106102
    107 bool PageClientImpl::isViewVisible()
     103bool PageClientBase::isViewVisible()
    108104{
    109105    return m_viewImpl->isVisible();
    110106}
    111107
    112 bool PageClientImpl::isViewInWindow()
     108bool PageClientBase::isViewInWindow()
    113109{
    114110    notImplemented();
     
    116112}
    117113
    118 void PageClientImpl::processDidCrash()
     114void PageClientBase::processDidCrash()
    119115{
    120116    // Check if loading was ongoing, when web process crashed.
     
    137133}
    138134
    139 void PageClientImpl::didRelaunchProcess()
     135void PageClientBase::didRelaunchProcess()
    140136{
    141137    const char* themePath = m_viewImpl->themePath();
     
    144140}
    145141
    146 void PageClientImpl::pageClosed()
    147 {
    148     notImplemented();
    149 }
    150 
    151 void PageClientImpl::toolTipChanged(const String&, const String& newToolTip)
     142void PageClientBase::pageClosed()
     143{
     144    notImplemented();
     145}
     146
     147void PageClientBase::toolTipChanged(const String&, const String& newToolTip)
    152148{
    153149    if (newToolTip.isEmpty())
     
    157153}
    158154
    159 void PageClientImpl::setCursor(const Cursor& cursor)
     155void PageClientBase::setCursor(const Cursor& cursor)
    160156{
    161157    m_viewImpl->setCursor(cursor);
    162158}
    163159
    164 void PageClientImpl::setCursorHiddenUntilMouseMoves(bool)
    165 {
    166     notImplemented();
    167 }
    168 
    169 void PageClientImpl::didChangeViewportProperties(const WebCore::ViewportAttributes& attr)
    170 {
    171 #if USE(TILED_BACKING_STORE)
    172     m_pageViewportController->didChangeViewportAttributes(attr);
    173 #else
    174     UNUSED_PARAM(attr);
     160void PageClientBase::setCursorHiddenUntilMouseMoves(bool)
     161{
     162    notImplemented();
     163}
     164
     165void PageClientBase::registerEditCommand(PassRefPtr<WebEditCommandProxy> command, WebPageProxy::UndoOrRedo undoOrRedo)
     166{
     167    m_undoController.registerEditCommand(command, undoOrRedo);
     168}
     169
     170void PageClientBase::clearAllEditCommands()
     171{
     172    m_undoController.clearAllEditCommands();
     173}
     174
     175bool PageClientBase::canUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo)
     176{
     177    return m_undoController.canUndoRedo(undoOrRedo);
     178}
     179
     180void PageClientBase::executeUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo)
     181{
     182    m_undoController.executeUndoRedo(undoOrRedo);
     183}
     184
     185FloatRect PageClientBase::convertToDeviceSpace(const FloatRect& viewRect)
     186{
     187    notImplemented();
     188    return viewRect;
     189}
     190
     191FloatRect PageClientBase::convertToUserSpace(const FloatRect& viewRect)
     192{
     193    notImplemented();
     194    return viewRect;
     195}
     196
     197IntPoint PageClientBase::screenToWindow(const IntPoint& point)
     198{
     199    notImplemented();
     200    return point;
     201}
     202
     203IntRect PageClientBase::windowToScreen(const IntRect&)
     204{
     205    notImplemented();
     206    return IntRect();
     207}
     208
     209void PageClientBase::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool)
     210{
     211    notImplemented();
     212}
     213
     214#if ENABLE(TOUCH_EVENTS)
     215void PageClientBase::doneWithTouchEvent(const NativeWebTouchEvent&, bool /*wasEventHandled*/)
     216{
     217    notImplemented();
     218}
    175219#endif
    176 }
    177 
    178 void PageClientImpl::registerEditCommand(PassRefPtr<WebEditCommandProxy> command, WebPageProxy::UndoOrRedo undoOrRedo)
    179 {
    180     m_undoController.registerEditCommand(command, undoOrRedo);
    181 }
    182 
    183 void PageClientImpl::clearAllEditCommands()
    184 {
    185     m_undoController.clearAllEditCommands();
    186 }
    187 
    188 bool PageClientImpl::canUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo)
    189 {
    190     return m_undoController.canUndoRedo(undoOrRedo);
    191 }
    192 
    193 void PageClientImpl::executeUndoRedo(WebPageProxy::UndoOrRedo undoOrRedo)
    194 {
    195     m_undoController.executeUndoRedo(undoOrRedo);
    196 }
    197 
    198 FloatRect PageClientImpl::convertToDeviceSpace(const FloatRect& viewRect)
    199 {
    200     notImplemented();
    201     return viewRect;
    202 }
    203 
    204 FloatRect PageClientImpl::convertToUserSpace(const FloatRect& viewRect)
    205 {
    206     notImplemented();
    207     return viewRect;
    208 }
    209 
    210 IntPoint PageClientImpl::screenToWindow(const IntPoint& point)
    211 {
    212     notImplemented();
    213     return point;
    214 }
    215 
    216 IntRect PageClientImpl::windowToScreen(const IntRect&)
    217 {
    218     notImplemented();
    219     return IntRect();
    220 }
    221 
    222 void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent&, bool)
    223 {
    224     notImplemented();
    225 }
    226 
    227 #if ENABLE(TOUCH_EVENTS)
    228 void PageClientImpl::doneWithTouchEvent(const NativeWebTouchEvent&, bool /*wasEventHandled*/)
    229 {
    230     notImplemented();
     220
     221PassRefPtr<WebPopupMenuProxy> PageClientBase::createPopupMenuProxy(WebPageProxy* page)
     222{
     223    return WebPopupMenuProxyEfl::create(m_viewImpl, page);
     224}
     225
     226PassRefPtr<WebContextMenuProxy> PageClientBase::createContextMenuProxy(WebPageProxy*)
     227{
     228    notImplemented();
     229    return 0;
     230}
     231
     232#if ENABLE(INPUT_TYPE_COLOR)
     233PassRefPtr<WebColorChooserProxy> PageClientBase::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
     234{
     235    notImplemented();
     236    return 0;
    231237}
    232238#endif
    233239
    234 PassRefPtr<WebPopupMenuProxy> PageClientImpl::createPopupMenuProxy(WebPageProxy* page)
    235 {
    236     return WebPopupMenuProxyEfl::create(m_viewImpl, page);
    237 }
    238 
    239 PassRefPtr<WebContextMenuProxy> PageClientImpl::createContextMenuProxy(WebPageProxy*)
     240void PageClientBase::setFindIndicator(PassRefPtr<FindIndicator>, bool, bool)
     241{
     242    notImplemented();
     243}
     244
     245#if USE(ACCELERATED_COMPOSITING)
     246void PageClientBase::enterAcceleratedCompositingMode(const LayerTreeContext&)
     247{
     248    m_viewImpl->enterAcceleratedCompositingMode();
     249}
     250
     251void PageClientBase::exitAcceleratedCompositingMode()
     252{
     253    m_viewImpl->exitAcceleratedCompositingMode();
     254}
     255
     256void PageClientBase::updateAcceleratedCompositingMode(const LayerTreeContext&)
     257{
     258    notImplemented();
     259}
     260#endif // USE(ACCELERATED_COMPOSITING)
     261
     262void PageClientBase::didChangeScrollbarsForMainFrame() const
     263{
     264    notImplemented();
     265}
     266
     267void PageClientBase::didCommitLoadForMainFrame(bool)
     268{
     269    notImplemented();
     270}
     271
     272void PageClientBase::didFinishLoadingDataForCustomRepresentation(const String&, const CoreIPC::DataReference&)
     273{
     274    notImplemented();
     275}
     276
     277double PageClientBase::customRepresentationZoomFactor()
    240278{
    241279    notImplemented();
     
    243281}
    244282
    245 #if ENABLE(INPUT_TYPE_COLOR)
    246 PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
    247 {
    248     notImplemented();
    249     return 0;
    250 }
    251 #endif
    252 
    253 void PageClientImpl::setFindIndicator(PassRefPtr<FindIndicator>, bool, bool)
    254 {
    255     notImplemented();
    256 }
    257 
    258 #if USE(ACCELERATED_COMPOSITING)
    259 void PageClientImpl::enterAcceleratedCompositingMode(const LayerTreeContext&)
    260 {
    261     m_viewImpl->enterAcceleratedCompositingMode();
    262 }
    263 
    264 void PageClientImpl::exitAcceleratedCompositingMode()
    265 {
    266     m_viewImpl->exitAcceleratedCompositingMode();
    267 }
    268 
    269 void PageClientImpl::updateAcceleratedCompositingMode(const LayerTreeContext&)
    270 {
    271     notImplemented();
    272 }
    273 #endif // USE(ACCELERATED_COMPOSITING)
    274 
    275 void PageClientImpl::didChangeScrollbarsForMainFrame() const
    276 {
    277     notImplemented();
    278 }
    279 
    280 void PageClientImpl::didCommitLoadForMainFrame(bool)
    281 {
    282     notImplemented();
    283 }
    284 
    285 void PageClientImpl::didFinishLoadingDataForCustomRepresentation(const String&, const CoreIPC::DataReference&)
    286 {
    287     notImplemented();
    288 }
    289 
    290 double PageClientImpl::customRepresentationZoomFactor()
    291 {
    292     notImplemented();
    293     return 0;
    294 }
    295 
    296 void PageClientImpl::setCustomRepresentationZoomFactor(double)
    297 {
    298     notImplemented();
    299 }
    300 
    301 void PageClientImpl::flashBackingStoreUpdates(const Vector<IntRect>&)
    302 {
    303     notImplemented();
    304 }
    305 
    306 void PageClientImpl::findStringInCustomRepresentation(const String&, FindOptions, unsigned)
    307 {
    308     notImplemented();
    309 }
    310 
    311 void PageClientImpl::countStringMatchesInCustomRepresentation(const String&, FindOptions, unsigned)
    312 {
    313     notImplemented();
    314 }
    315 
    316 void PageClientImpl::updateTextInputState()
     283void PageClientBase::setCustomRepresentationZoomFactor(double)
     284{
     285    notImplemented();
     286}
     287
     288void PageClientBase::flashBackingStoreUpdates(const Vector<IntRect>&)
     289{
     290    notImplemented();
     291}
     292
     293void PageClientBase::findStringInCustomRepresentation(const String&, FindOptions, unsigned)
     294{
     295    notImplemented();
     296}
     297
     298void PageClientBase::countStringMatchesInCustomRepresentation(const String&, FindOptions, unsigned)
     299{
     300    notImplemented();
     301}
     302
     303void PageClientBase::updateTextInputState()
    317304{
    318305    InputMethodContextEfl* inputMethodContext = m_viewImpl->inputMethodContext();
     
    321308}
    322309
    323 void PageClientImpl::handleDownloadRequest(DownloadProxy* download)
     310void PageClientBase::handleDownloadRequest(DownloadProxy* download)
    324311{
    325312    Ewk_Context* context = m_viewImpl->ewkContext();
     
    327314}
    328315
    329 #if USE(TILED_BACKING_STORE)
    330 void PageClientImpl::pageDidRequestScroll(const IntPoint& position)
    331 {
    332     m_pageViewportController->pageDidRequestScroll(position);
    333 }
    334 #endif
    335 
    336 void PageClientImpl::didChangeContentsSize(const WebCore::IntSize& size)
    337 {
    338 #if USE(TILED_BACKING_STORE)
    339     m_pageViewportController->didChangeContentsSize(size);
    340 #else
    341     m_viewImpl->informContentsSizeChange(size);
    342 #endif
    343 }
    344 
    345 #if USE(TILED_BACKING_STORE)
    346 void PageClientImpl::didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect)
    347 {
    348     m_pageViewportController->didRenderFrame(contentsSize, coveredRect);
    349 }
    350 
    351 void PageClientImpl::pageTransitionViewportReady()
    352 {
    353     m_pageViewportController->pageTransitionViewportReady();
    354 }
    355 #endif
    356 
    357316} // namespace WebKit
  • trunk/Source/WebKit2/UIProcess/efl/PageClientBase.h

    r133463 r133464  
    2424 */
    2525
    26 #ifndef PageClientImpl_h
    27 #define PageClientImpl_h
     26#ifndef PageClientBase_h
     27#define PageClientBase_h
    2828
    2929#include "DefaultUndoController.h"
     
    3535namespace WebKit {
    3636
    37 class PageViewportController;
     37class PageClientBase : public PageClient {
     38public:
     39    virtual ~PageClientBase();
    3840
    39 class PageClientImpl : public PageClient {
    40 public:
    41     static PassOwnPtr<PageClientImpl> create(EwkViewImpl* viewImpl)
    42     {
    43         return adoptPtr(new PageClientImpl(viewImpl));
    44     }
    45     ~PageClientImpl();
     41    // Called from the view
     42    virtual void didCommitLoad() = 0;
     43    virtual void updateViewportSize(const WebCore::IntSize&) = 0;
     44    virtual void didChangeContentsSize(const WebCore::IntSize&) = 0;
    4645
    4746    EwkViewImpl* viewImpl() const;
    48 #if USE(TILED_BACKING_STORE)
    49     void setPageViewportController(PageViewportController* controller) { m_pageViewportController = controller; }
    50 #endif
    5147
    52 private:
    53     explicit PageClientImpl(EwkViewImpl*);
     48protected:
     49    explicit PageClientBase(EwkViewImpl*);
    5450
    5551    // PageClient
     
    7268    virtual void setCursor(const WebCore::Cursor&);
    7369    virtual void setCursorHiddenUntilMouseMoves(bool);
    74     virtual void didChangeViewportProperties(const WebCore::ViewportAttributes&);
     70    virtual void didChangeViewportProperties(const WebCore::ViewportAttributes&) = 0;
    7571
    7672    virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo);
     
    117113
    118114#if USE(TILED_BACKING_STORE)
    119     virtual void pageDidRequestScroll(const WebCore::IntPoint&);
     115    virtual void pageDidRequestScroll(const WebCore::IntPoint&) = 0;
     116    virtual void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) = 0;
     117    virtual void pageTransitionViewportReady() = 0;
    120118#endif
    121119
    122     virtual void didChangeContentsSize(const WebCore::IntSize&);
    123 
    124 #if USE(TILED_BACKING_STORE)
    125     virtual void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect);
    126     virtual void pageTransitionViewportReady();
    127 #endif
    128 
    129 private:
     120protected:
    130121    EwkViewImpl* m_viewImpl;
    131122    DefaultUndoController m_undoController;
    132 #if USE(TILED_BACKING_STORE)
    133     PageViewportController* m_pageViewportController;
    134 #endif
    135123};
    136124
    137125} // namespace WebKit
    138126
    139 #endif // PageClientImpl_h
     127#endif // PageClientBase_h
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp

    r133161 r133464  
    6565{
    6666    m_viewportSize = viewportSize;
    67     m_viewImpl->page()->setViewportSize(viewportSize);
    6867
    6968    ASSERT(m_controller);
     
    8079}
    8180
    82 void PageViewportControllerClientEfl::didChangeContentsSize(const WebCore::IntSize& size)
     81void PageViewportControllerClientEfl::didChangeContentsSize(const WebCore::IntSize&)
    8382{
    8483    m_viewImpl->update();
     
    8786void PageViewportControllerClientEfl::setViewportPosition(const WebCore::FloatPoint& contentsPoint)
    8887{
    89     setVisibleContentsRect(IntPoint(contentsPoint.x(), contentsPoint.y()), m_scaleFactor, FloatPoint());
     88    IntPoint position(contentsPoint.x(), contentsPoint.y());
     89    setVisibleContentsRect(position, m_scaleFactor, FloatPoint());
     90    m_viewImpl->setScrollPosition(position);
    9091}
    9192
    9293void PageViewportControllerClientEfl::setContentsScale(float newScale, bool treatAsInitialValue)
    9394{
    94     if (treatAsInitialValue)
     95    if (treatAsInitialValue) {
    9596        m_scrollPosition = IntPoint();
     97        m_viewImpl->setScrollPosition(IntPoint());
     98    }
    9699    m_scaleFactor = newScale;
     100    m_viewImpl->setScaleFactor(newScale);
    97101}
    98102
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.h

    r133161 r133464  
    2929#if USE(TILED_BACKING_STORE)
    3030
    31 #include "PageClientImpl.h"
     31#include "PageClientBase.h"
    3232#include "PageViewportControllerClient.h"
    3333#include <wtf/PassOwnPtr.h>
  • trunk/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp

    r132405 r133464  
    3030#include "NativeWebKeyboardEvent.h"
    3131#include "NotImplemented.h"
    32 #include "PageClientImpl.h"
     32#include "PageClientBase.h"
    3333#include "WebKitVersion.h"
    3434#include "WebPageMessages.h"
     
    4141Evas_Object* WebPageProxy::viewWidget()
    4242{
    43     return static_cast<PageClientImpl*>(m_pageClient)->viewImpl()->view();
     43    return static_cast<PageClientBase*>(m_pageClient)->viewImpl()->view();
    4444}
    4545
Note: See TracChangeset for help on using the changeset viewer.