Changeset 175468 in webkit


Ignore:
Timestamp:
Nov 3, 2014 3:26:50 AM (9 years ago)
Author:
ryuan.choi@gmail.com
Message:

[EFL] Remove dependency of PageViewportController from PageViewportControllerClient
https://bugs.webkit.org/show_bug.cgi?id=138301

Reviewed by Gyuyoung Kim.

PaeViewportControllerClient does not need to keep the instance of PageViewPortController.
This patch removes it to simplify relation between them.
In addition, uses a reference for the client of PageViewportController.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setViewportPosition):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/PageViewportControllerClient.h:
  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setController): Deleted.

  • UIProcess/efl/PageViewportControllerClientEfl.h:
Location:
trunk/Source/WebKit2
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r175466 r175468  
     12014-11-03  Ryuan Choi  <ryuan.choi@gmail.com>
     2
     3        [EFL] Remove dependency of PageViewportController from PageViewportControllerClient
     4        https://bugs.webkit.org/show_bug.cgi?id=138301
     5
     6        Reviewed by Gyuyoung Kim.
     7
     8        PaeViewportControllerClient does not need to keep the instance of PageViewPortController.
     9        This patch removes it to simplify relation between them.
     10        In addition, uses a reference for the client of PageViewportController.
     11
     12        * UIProcess/API/efl/EwkView.cpp:
     13        (EwkView::EwkView):
     14        (EwkView::setViewportPosition):
     15        * UIProcess/API/efl/EwkView.h:
     16        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
     17        (WebKit::PageViewportController::PageViewportController):
     18        (WebKit::PageViewportController::didChangeContentsSize):
     19        (WebKit::PageViewportController::didRenderFrame):
     20        (WebKit::PageViewportController::pageDidRequestScroll):
     21        (WebKit::PageViewportController::syncVisibleContents):
     22        (WebKit::PageViewportController::didChangeViewportAttributes):
     23        * UIProcess/CoordinatedGraphics/PageViewportController.h:
     24        * UIProcess/PageViewportControllerClient.h:
     25        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
     26        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
     27        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
     28        (WebKit::PageViewportControllerClientEfl::setController): Deleted.
     29        * UIProcess/efl/PageViewportControllerClientEfl.h:
     30
    1312014-11-03  Sungmann Cho  <sungmann.cho@navercorp.com>
    232
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp

    r175098 r175468  
    306306#endif
    307307    , m_pageViewportControllerClient(this)
    308     , m_pageViewportController(page(), &m_pageViewportControllerClient)
     308    , m_pageViewportController(page(), m_pageViewportControllerClient)
    309309    , m_isAccelerated(true)
    310310    , m_isWaitingForNewPage(false)
     
    579579    if (!m_displayTimer.isActive())
    580580        m_displayTimer.startOneShot(0);
     581}
     582
     583void EwkView::setViewportPosition(const FloatPoint& contentsPosition)
     584{
     585    WKViewSetContentPosition(wkView(), WKPointMake(contentsPosition.x(), contentsPosition.y()));
     586    m_pageViewportController.didChangeContentsVisibility(contentsPosition, m_pageViewportController.currentScale());
    581587}
    582588
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkView.h

    r175098 r175468  
    7171class CoordinatedGraphicsScene;
    7272class Cursor;
     73class FloatPoint;
    7374class EvasGLContext;
    7475class EvasGLSurface;
     
    144145
    145146    void scheduleUpdateDisplay();
     147    void setViewportPosition(const WebCore::FloatPoint& contentsPosition);
    146148
    147149#if ENABLE(FULLSCREEN_API)
  • trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/PageViewportController.cpp

    r167665 r175468  
    3939}
    4040
    41 PageViewportController::PageViewportController(WebKit::WebPageProxy* proxy, PageViewportControllerClient* client)
     41PageViewportController::PageViewportController(WebKit::WebPageProxy* proxy, PageViewportControllerClient& client)
    4242    : m_webPageProxy(proxy)
    4343    , m_client(client)
     
    6060    // To be able to assert for valid scale we initialize it to -1.
    6161    m_rawAttributes.initialScale = -1;
    62 
    63     ASSERT(m_client);
    64     m_client->setController(this);
    6562}
    6663
     
    161158
    162159    if (minimumScaleUpdated)
    163         m_client->didChangeViewportAttributes();
     160        m_client.didChangeViewportAttributes();
    164161
    165162    // We might have pending position change which is now possible.
     
    174171        // size actually changed since animations on the page trigger DidRenderFrame
    175172        // messages without causing dimension changes.
    176         m_client->didChangeContentsSize(contentsSize);
     173        m_client.didChangeContentsSize(contentsSize);
    177174    }
    178175
     
    188185    if (m_pendingScaleChange) {
    189186        m_pendingScaleChange = false;
    190         m_client->setPageScaleFactor(m_pageScaleFactor);
     187        m_client.setPageScaleFactor(m_pageScaleFactor);
    191188
    192189        // The scale changed, we have to re-pixel align.
     
    202199    FloatRect endVisibleContentRect(m_contentsPosition, visibleContentsSize());
    203200    if (m_pendingPositionChange && endVisibleContentRect.intersects(coveredRect)) {
    204         m_client->setViewportPosition(m_contentsPosition);
     201        m_client.setViewportPosition(m_contentsPosition);
    205202        m_pendingPositionChange = false;
    206203    }
     
    233230
    234231    if (m_lastFrameCoveredRect.intersects(endVisibleContentRect))
    235         m_client->setViewportPosition(alignedPosition);
     232        m_client.setViewportPosition(alignedPosition);
    236233    else {
    237234        // Keep the unbound position in case the contents size is changed later on.
     
    269266    drawingArea->setVisibleContentsRect(visibleContentsRect, trajectoryVector);
    270267
    271     m_client->didChangeVisibleContents();
     268    m_client.didChangeVisibleContents();
    272269}
    273270
     
    292289    m_pendingScaleChange = true;
    293290
    294     m_client->didChangeViewportAttributes();
     291    m_client.didChangeViewportAttributes();
    295292}
    296293
  • trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/PageViewportController.h

    r166138 r175468  
    4444
    4545public:
    46     PageViewportController(WebKit::WebPageProxy*, PageViewportControllerClient*);
     46    PageViewportController(WebKit::WebPageProxy*, PageViewportControllerClient&);
    4747    virtual ~PageViewportController() { }
    4848
     
    8787
    8888    WebPageProxy* const m_webPageProxy;
    89     PageViewportControllerClient* m_client;
     89    PageViewportControllerClient& m_client;
    9090
    9191    WebCore::ViewportAttributes m_rawAttributes;
  • trunk/Source/WebKit2/UIProcess/PageViewportControllerClient.h

    r169003 r175468  
    3131namespace WebKit {
    3232
    33 class PageViewportController;
    34 
    3533class PageViewportControllerClient {
    3634    WTF_MAKE_NONCOPYABLE(PageViewportControllerClient);
     
    4543    virtual void didChangeVisibleContents() = 0;
    4644    virtual void didChangeViewportAttributes() = 0;
    47 
    48     virtual void setController(PageViewportController*) = 0;
    4945};
    5046
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp

    r173617 r175468  
    2929
    3030#include "EwkView.h"
    31 #include "PageViewportController.h"
    3231#include <WebCore/FloatPoint.h>
    3332
     
    3837PageViewportControllerClientEfl::PageViewportControllerClientEfl(EwkView* view)
    3938    : m_view(view)
    40     , m_controller(0)
    4139{
    4240    ASSERT(m_view);
     
    5048void PageViewportControllerClientEfl::setViewportPosition(const WebCore::FloatPoint& contentsPosition)
    5149{
    52     WKViewSetContentPosition(m_view->wkView(), WKPointMake(contentsPosition.x(), contentsPosition.y()));
    53     m_controller->didChangeContentsVisibility(contentsPosition, m_controller->currentScale());
     50    m_view->setViewportPosition(contentsPosition);
    5451}
    5552
     
    7168}
    7269
    73 void PageViewportControllerClientEfl::setController(PageViewportController* controller)
    74 {
    75     m_controller = controller;
    76 }
    77 
    7870} // namespace WebKit
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.h

    r169003 r175468  
    4646    virtual void didChangeViewportAttributes() override;
    4747
    48     virtual void setController(PageViewportController*) override;
    49 
    5048private:
    5149    EwkView* m_view;
    52     PageViewportController* m_controller;
    5350};
    5451
Note: See TracChangeset for help on using the changeset viewer.