Changeset 167138 in webkit


Ignore:
Timestamp:
Apr 11, 2014 11:58:07 AM (10 years ago)
Author:
Antti Koivisto
Message:

Pipe initial scale factor to TileController
https://bugs.webkit.org/show_bug.cgi?id=131521

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setZoomedOutPageScaleFactor):

  • page/Page.h:

(WebCore::Page::zoomedOutPageScaleFactor):

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::zoomedOutPageScaleFactor):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsScale):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::TileController):
(WebCore::TileController::setContentsScale):
(WebCore::TileController::setZoomedOutContentsScale):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::zoomedOutPageScaleFactor):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::zoomedOutPageScaleFactor):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportConfigurationChanged):

Location:
trunk/Source
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r167135 r167138  
     12014-04-11  Antti Koivisto  <antti@apple.com>
     2
     3        Pipe initial scale factor to TileController
     4        https://bugs.webkit.org/show_bug.cgi?id=131521
     5
     6        Reviewed by Tim Horton.
     7
     8        * WebCore.exp.in:
     9        * page/Page.cpp:
     10        (WebCore::Page::Page):
     11        (WebCore::Page::setZoomedOutPageScaleFactor):
     12        * page/Page.h:
     13        (WebCore::Page::zoomedOutPageScaleFactor):
     14        * platform/graphics/GraphicsLayerClient.h:
     15        (WebCore::GraphicsLayerClient::zoomedOutPageScaleFactor):
     16        * platform/graphics/TiledBacking.h:
     17        * platform/graphics/ca/GraphicsLayerCA.cpp:
     18        (WebCore::GraphicsLayerCA::updateContentsScale):
     19        * platform/graphics/ca/GraphicsLayerCA.h:
     20        * platform/graphics/ca/mac/TileController.h:
     21        * platform/graphics/ca/mac/TileController.mm:
     22        (WebCore::TileController::TileController):
     23        (WebCore::TileController::setContentsScale):
     24        (WebCore::TileController::setZoomedOutContentsScale):
     25        * rendering/RenderLayerBacking.cpp:
     26        (WebCore::RenderLayerBacking::zoomedOutPageScaleFactor):
     27        * rendering/RenderLayerBacking.h:
     28        * rendering/RenderLayerCompositor.cpp:
     29        (WebCore::RenderLayerCompositor::zoomedOutPageScaleFactor):
     30        * rendering/RenderLayerCompositor.h:
     31
    1322014-04-10  Chris Fleizach  <cfleizach@apple.com>
    233
  • trunk/Source/WebCore/WebCore.exp.in

    r167044 r167138  
    10731073__ZN7WebCore4Page27enableLegacyPrivateBrowsingEb
    10741074__ZN7WebCore4Page27invalidateStylesForAllLinksEv
     1075__ZN7WebCore4Page27setZoomedOutPageScaleFactorEf
    10751076__ZN7WebCore4Page32setMemoryCacheClientCallsEnabledEb
    10761077__ZN7WebCore4Page33synchronousScrollingReasonsAsTextEv
  • trunk/Source/WebCore/page/Page.cpp

    r166937 r167138  
    159159    , m_mediaVolume(1)
    160160    , m_pageScaleFactor(1)
     161    , m_zoomedOutPageScaleFactor(0)
    161162    , m_deviceScaleFactor(1)
    162163    , m_topContentInset(0)
     
    691692}
    692693
     694void Page::setZoomedOutPageScaleFactor(float scale)
     695{
     696    if (m_zoomedOutPageScaleFactor == scale)
     697        return;
     698    m_zoomedOutPageScaleFactor = scale;
     699
     700    mainFrame().deviceOrPageScaleFactorChanged();
     701}
     702
    693703void Page::setPageScaleFactor(float scale, const IntPoint& origin)
    694704{
  • trunk/Source/WebCore/page/Page.h

    r166679 r167138  
    276276    float pageScaleFactor() const { return m_pageScaleFactor; }
    277277
     278    void setZoomedOutPageScaleFactor(float);
     279    float zoomedOutPageScaleFactor() const { return m_zoomedOutPageScaleFactor; }
     280
    278281    float deviceScaleFactor() const { return m_deviceScaleFactor; }
    279282    void setDeviceScaleFactor(float);
     
    491494
    492495    float m_pageScaleFactor;
     496    float m_zoomedOutPageScaleFactor;
    493497    float m_deviceScaleFactor;
    494498
  • trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h

    r166516 r167138  
    8787    // Page scale factor.
    8888    virtual float pageScaleFactor() const { return 1; }
     89    virtual float zoomedOutPageScaleFactor() const { return 0; }
    8990
    9091    virtual float contentsScaleMultiplierForNewTiles(const GraphicsLayer*) const { return 1; }
  • trunk/Source/WebCore/platform/graphics/TiledBacking.h

    r166958 r167138  
    8989    virtual int rightMarginWidth() const = 0;
    9090
     91    virtual void setZoomedOutContentsScale(float) = 0;
     92    virtual float zoomedOutContentsScale() const = 0;
     93
    9194    // Includes margins.
    9295    virtual IntRect bounds() const = 0;
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

    r166990 r167138  
    29832983{
    29842984    float contentsScale = clampedContentsScaleForScale(m_rootRelativeScaleFactor * pageScaleFactor * deviceScaleFactor());
     2985
     2986    if (m_isPageTiledBackingLayer && tiledBacking()) {
     2987        float zoomedOutScale = m_client->zoomedOutPageScaleFactor() * deviceScaleFactor();
     2988        tiledBacking()->setZoomedOutContentsScale(zoomedOutScale);
     2989    }
     2990
    29852991    if (contentsScale == m_layer->contentsScale())
    29862992        return;
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h

    r166542 r167138  
    3131#include "PlatformCALayer.h"
    3232#include "PlatformCALayerClient.h"
     33#include "TileController.h"
    3334#include <wtf/HashMap.h>
    3435#include <wtf/HashSet.h>
  • trunk/Source/WebCore/platform/graphics/ca/mac/TileController.h

    r167041 r167138  
    148148    virtual void setScrollingModeIndication(ScrollingModeIndication) override;
    149149    virtual void setTileMargins(int marginTop, int marginBottom, int marginLeft, int marginRight) override;
     150    virtual void setZoomedOutContentsScale(float) override;
     151    virtual float zoomedOutContentsScale() const override { return m_zoomedOutContentsScale; }
    150152
    151153    void scheduleTileRevalidation(double interval);
     
    170172
    171173    float m_contentsScale;
     174    float m_zoomedOutContentsScale;
    172175    float m_deviceScaleFactor;
    173176
  • trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm

    r167056 r167138  
    6161    , m_tileRevalidationTimer(this, &TileController::tileRevalidationTimerFired)
    6262    , m_contentsScale(1)
     63    , m_zoomedOutContentsScale(0)
    6364    , m_deviceScaleFactor(1)
    6465    , m_tileCoverage(CoverageForVisibleArea)
     
    105106void TileController::setContentsScale(float scale)
    106107{
     108    ASSERT(owningGraphicsLayer()->isCommittingChanges());
     109
    107110    m_contentsScale = scale;
    108    
    109     ASSERT(owningGraphicsLayer()->isCommittingChanges());
    110111
    111112    float deviceScaleFactor = owningGraphicsLayer()->platformCALayerDeviceScaleFactor();
     
    122123
    123124    tileGrid().setScale(scale);
     125}
     126
     127void TileController::setZoomedOutContentsScale(float scale)
     128{
     129    ASSERT(owningGraphicsLayer()->isCommittingChanges());
     130
     131    if (m_zoomedOutContentsScale == scale)
     132        return;
     133    m_zoomedOutContentsScale = scale;
    124134}
    125135
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r166958 r167138  
    22432243}
    22442244
     2245float RenderLayerBacking::zoomedOutPageScaleFactor() const
     2246{
     2247    return compositor().zoomedOutPageScaleFactor();
     2248}
     2249
    22452250float RenderLayerBacking::deviceScaleFactor() const
    22462251{
  • trunk/Source/WebCore/rendering/RenderLayerBacking.h

    r166526 r167138  
    181181
    182182    virtual float pageScaleFactor() const override;
     183    virtual float zoomedOutPageScaleFactor() const override;
    183184    virtual void didCommitChangesForLayer(const GraphicsLayer*) const override;
    184185    virtual bool getCurrentTransform(const GraphicsLayer*, TransformationMatrix&) const override;
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r166983 r167138  
    27032703}
    27042704
     2705float RenderLayerCompositor::zoomedOutPageScaleFactor() const
     2706{
     2707    Page* page = this->page();
     2708    return page ? page->zoomedOutPageScaleFactor() : 0;
     2709}
     2710
    27052711float RenderLayerCompositor::contentsScaleMultiplierForNewTiles(const GraphicsLayer*) const
    27062712{
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.h

    r166800 r167138  
    243243    virtual float contentsScaleMultiplierForNewTiles(const GraphicsLayer*) const override;
    244244    virtual float pageScaleFactor() const override;
     245    virtual float zoomedOutPageScaleFactor() const override;
     246
    245247    virtual void didCommitChangesForLayer(const GraphicsLayer*) const override;
    246248    virtual void notifyFlushBeforeDisplayRefresh(const GraphicsLayer*) override;
  • trunk/Source/WebKit2/ChangeLog

    r167136 r167138  
     12014-04-11  Antti Koivisto  <antti@apple.com>
     2
     3        Pipe initial scale factor to TileController
     4        https://bugs.webkit.org/show_bug.cgi?id=131521
     5
     6        Reviewed by Tim Horton.
     7
     8        * WebProcess/WebPage/ios/WebPageIOS.mm:
     9        (WebKit::WebPage::viewportConfigurationChanged):
     10
    1112014-04-10  Chris Fleizach  <cfleizach@apple.com>
    212
  • trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm

    r167096 r167138  
    18371837    setFixedLayoutSize(m_viewportConfiguration.layoutSize());
    18381838
     1839    double initialScale = m_viewportConfiguration.initialScale();
    18391840    double scale;
    18401841    if (m_userHasChangedPageScaleFactor)
    18411842        scale = std::max(std::min(pageScaleFactor(), m_viewportConfiguration.maximumScale()), m_viewportConfiguration.minimumScale());
    18421843    else
    1843         scale = m_viewportConfiguration.initialScale();
     1844        scale = initialScale;
     1845
     1846    m_page->setZoomedOutPageScaleFactor(initialScale);
    18441847
    18451848    FrameView& frameView = *m_page->mainFrame().view();
Note: See TracChangeset for help on using the changeset viewer.