Changeset 139675 in webkit


Ignore:
Timestamp:
Jan 14, 2013 3:13:13 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL] REGRESSION(r139189): MiniBrowser renders abnormally with -r option.
https://bugs.webkit.org/show_bug.cgi?id=106512

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-14
Reviewed by Kenneth Rohde Christiansen.

PageViewportController handles only pageScaleFactor after r139189. So
PageViewportControllerClientEFL calls EwkView::setScaleFactor() with
pageScaleFactor instead of pageScaleFactor * deviceScaleFactor.

This patch makes EwkView handle pageScaleFactor.

  1. EwkView uses pageScaleFactor * deviceScaleFactor when drawing in

the device unit.

  1. EwkView uses pageScaleFactor when notifying the scale to

PageViewportController.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::deviceScaleFactor):
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):
(EwkViewImpl::setPageScaleFactor):
(EwkViewImpl::pageScaleFactor):

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didRenderFrame):

  • UIProcess/PageViewportControllerClient.h:

(PageViewportControllerClient):

  • UIProcess/efl/PageClientLegacyImpl.cpp:

(WebKit::PageClientLegacyImpl::updateViewportSize):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
(WebKit::PageViewportControllerClientEfl::didResumeContent):

  • UIProcess/efl/PageViewportControllerClientEfl.h:

(PageViewportControllerClientEfl):

  • UIProcess/qt/PageViewportControllerClientQt.cpp:

(WebKit::PageViewportControllerClientQt::setPageScaleFactor):

  • UIProcess/qt/PageViewportControllerClientQt.h:

(PageViewportControllerClientQt):

Location:
trunk/Source/WebKit2
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r139665 r139675  
     12013-01-14  Huang Dongsung  <luxtella@company100.net>
     2
     3        [EFL] REGRESSION(r139189): MiniBrowser renders abnormally with -r option.
     4        https://bugs.webkit.org/show_bug.cgi?id=106512
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        PageViewportController handles only pageScaleFactor after r139189. So
     9        PageViewportControllerClientEFL calls EwkView::setScaleFactor() with
     10        pageScaleFactor instead of pageScaleFactor * deviceScaleFactor.
     11
     12        This patch makes EwkView handle pageScaleFactor.
     13        1. EwkView uses pageScaleFactor * deviceScaleFactor when drawing in
     14        the device unit.
     15        2. EwkView uses pageScaleFactor when notifying the scale to
     16        PageViewportController.
     17
     18        * UIProcess/API/efl/EwkViewImpl.cpp:
     19        (EwkViewImpl::EwkViewImpl):
     20        (EwkViewImpl::deviceScaleFactor):
     21        (EwkViewImpl::transformFromScene):
     22        (EwkViewImpl::displayTimerFired):
     23        * UIProcess/API/efl/EwkViewImpl.h:
     24        (EwkViewImpl):
     25        (EwkViewImpl::setPageScaleFactor):
     26        (EwkViewImpl::pageScaleFactor):
     27        * UIProcess/PageViewportController.cpp:
     28        (WebKit::PageViewportController::didRenderFrame):
     29        * UIProcess/PageViewportControllerClient.h:
     30        (PageViewportControllerClient):
     31        * UIProcess/efl/PageClientLegacyImpl.cpp:
     32        (WebKit::PageClientLegacyImpl::updateViewportSize):
     33        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
     34        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
     35        (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
     36        (WebKit::PageViewportControllerClientEfl::didResumeContent):
     37        * UIProcess/efl/PageViewportControllerClientEfl.h:
     38        (PageViewportControllerClientEfl):
     39        * UIProcess/qt/PageViewportControllerClientQt.cpp:
     40        (WebKit::PageViewportControllerClientQt::setPageScaleFactor):
     41        * UIProcess/qt/PageViewportControllerClientQt.h:
     42        (PageViewportControllerClientQt):
     43
    1442013-01-14  Max Vujovic  <mvujovic@adobe.com>
    245
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp

    r138780 r139675  
    132132    , m_backForwardList(EwkBackForwardList::create(toAPI(m_pageProxy->backForwardList())))
    133133#if USE(TILED_BACKING_STORE)
    134     , m_scaleFactor(1)
     134    , m_pageScaleFactor(1)
    135135#endif
    136136    , m_settings(EwkSettings::create(this))
     
    298298}
    299299
     300float EwkViewImpl::deviceScaleFactor() const
     301{
     302    return m_pageProxy->deviceScaleFactor();
     303}
     304
    300305AffineTransform EwkViewImpl::transformFromScene() const
    301306{
     
    303308
    304309#if USE(TILED_BACKING_STORE)
    305     // Note that the scale factor incl page and device scale for now.
    306     transform.scale(1 / m_scaleFactor);
     310    // Note that we apply both page and device scale factors.
     311    transform.scale(1 / pageScaleFactor());
     312    transform.scale(1 / deviceScaleFactor());
    307313    transform.translate(pagePosition().x(), pagePosition().y());
    308314#endif
     
    405411        RefPtr<cairo_t> graphicsContext = adoptRef(cairo_create(surface.get()));
    406412        cairo_translate(graphicsContext.get(), - pagePosition().x(), - pagePosition().y());
    407         cairo_scale(graphicsContext.get(), m_scaleFactor, m_scaleFactor);
     413        cairo_scale(graphicsContext.get(), pageScaleFactor(), pageScaleFactor());
     414        cairo_scale(graphicsContext.get(), deviceScaleFactor(), deviceScaleFactor());
    408415        renderer->paintToGraphicsContext(graphicsContext.get());
    409416        evas_object_image_data_update_add(sd->image, 0, 0, viewport.width(), viewport.height());
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h

    r138780 r139675  
    123123
    124124    void setDeviceScaleFactor(float scale);
     125    float deviceScaleFactor() const;
    125126
    126127    WebCore::AffineTransform transformToScene() const;
     
    200201    WebKit::PageClientBase* pageClient() { return m_pageClient.get(); }
    201202
    202     void setScaleFactor(float scaleFactor) { m_scaleFactor = scaleFactor; }
    203     float scaleFactor() const { return m_scaleFactor; }
     203    void setPageScaleFactor(float scaleFactor) { m_pageScaleFactor = scaleFactor; }
     204    float pageScaleFactor() const { return m_pageScaleFactor; }
    204205
    205206    void setPagePosition(const WebCore::FloatPoint& position) { m_pagePosition = position; }
     
    264265    OwnPtr<EwkBackForwardList> m_backForwardList;
    265266#if USE(TILED_BACKING_STORE)
    266     float m_scaleFactor;
     267    float m_pageScaleFactor;
    267268    WebCore::FloatPoint m_pagePosition;
    268269#endif
  • trunk/Source/WebKit2/UIProcess/PageViewportController.cpp

    r139312 r139675  
    191191    if (m_pendingScaleChange) {
    192192        m_pendingScaleChange = false;
    193         m_client->setContentsScale(m_pageScaleFactor);
     193        m_client->setPageScaleFactor(m_pageScaleFactor);
    194194
    195195        // The scale changed, we have to re-pixel align.
  • trunk/Source/WebKit2/UIProcess/PageViewportControllerClient.h

    r137149 r139675  
    4040
    4141    virtual void setViewportPosition(const WebCore::FloatPoint& contentsPoint) = 0;
    42     virtual void setContentsScale(float) = 0;
     42    virtual void setPageScaleFactor(float) = 0;
    4343
    4444    virtual void didResumeContent() = 0;
  • trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.cpp

    r137746 r139675  
    5151{
    5252#if USE(TILED_BACKING_STORE)
    53     m_viewImpl->page()->drawingArea()->setVisibleContentsRect(IntRect(roundedIntPoint(m_viewImpl->pagePosition()), m_viewImpl->size()), m_viewImpl->scaleFactor(), FloatPoint());
     53    m_viewImpl->page()->drawingArea()->setVisibleContentsRect(IntRect(roundedIntPoint(m_viewImpl->pagePosition()), m_viewImpl->size()), m_viewImpl->pageScaleFactor(), FloatPoint());
    5454#endif
    5555}
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.cpp

    r139274 r139675  
    8080
    8181    FloatPoint pos(contentsPoint);
    82     pos.scale(scaleFactor(), scaleFactor());
     82    pos.scale(m_viewImpl->pageScaleFactor(), m_viewImpl->pageScaleFactor());
     83    pos.scale(m_viewImpl->deviceScaleFactor(), m_viewImpl->deviceScaleFactor());
    8384    m_viewImpl->setPagePosition(pos);
    8485
    85     m_controller->didChangeContentsVisibility(m_contentPosition, scaleFactor());
     86    m_controller->didChangeContentsVisibility(m_contentPosition, m_viewImpl->pageScaleFactor());
    8687}
    8788
    88 void PageViewportControllerClientEfl::setContentsScale(float newScale)
     89void PageViewportControllerClientEfl::setPageScaleFactor(float newScale)
    8990{
    90     m_viewImpl->setScaleFactor(newScale);
     91    m_viewImpl->setPageScaleFactor(newScale);
    9192}
    9293
     
    9495{
    9596    ASSERT(m_controller);
    96     m_controller->didChangeContentsVisibility(m_contentPosition, scaleFactor());
     97    m_controller->didChangeContentsVisibility(m_contentPosition, m_viewImpl->pageScaleFactor());
    9798}
    9899
  • trunk/Source/WebKit2/UIProcess/efl/PageViewportControllerClientEfl.h

    r137718 r139675  
    4646    DrawingAreaProxy* drawingArea() const;
    4747    WebCore::IntSize viewSize() { return m_viewportSize; }
    48     float scaleFactor() const { return m_viewImpl->scaleFactor(); }
    4948    WebCore::FloatPoint contentPosition() const { return m_contentPosition; }
    5049
     
    5352
    5453    virtual void setViewportPosition(const WebCore::FloatPoint& contentsPoint);
    55     virtual void setContentsScale(float);
     54    virtual void setPageScaleFactor(float);
    5655
    5756    virtual void didResumeContent();
  • trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp

    r139380 r139675  
    323323}
    324324
    325 void PageViewportControllerClientQt::setContentsScale(float localScale)
     325void PageViewportControllerClientQt::setPageScaleFactor(float localScale)
    326326{
    327327    scaleContent(localScale);
  • trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.h

    r137149 r139675  
    4949
    5050    virtual void setViewportPosition(const WebCore::FloatPoint& contentsPoint);
    51     virtual void setContentsScale(float);
     51    virtual void setPageScaleFactor(float);
    5252
    5353    virtual void didResumeContent();
Note: See TracChangeset for help on using the changeset viewer.