Changeset 140808 in webkit


Ignore:
Timestamp:
Jan 25, 2013 3:03:30 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r140774.
http://trac.webkit.org/changeset/140774
https://bugs.webkit.org/show_bug.cgi?id=107932

Tests ScrollingCoordinatorChromiumTest.fastScrollingByDefault

and fastScrollingForFixedPosition are failing (Requested by
keishi on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-25

Source/WebKit/chromium:

  • public/WebWidget.h:

(WebWidget):
(WebKit::WebWidget::isInputThrottled):
(WebKit::WebWidget::renderingStats):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::renderingStats):
(WebKit):
(WebKit::WebViewImpl::setCompositorSurfaceReady):
(WebKit::WebViewImpl::isInputThrottled):
(WebKit::WebViewImpl::setIsTransparent):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

  • src/WebViewImpl.h:

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::initializeLayerTreeView):
(WebViewHost::setWebWidget):

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r140798 r140808  
     12013-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r140774.
     4        http://trac.webkit.org/changeset/140774
     5        https://bugs.webkit.org/show_bug.cgi?id=107932
     6
     7         Tests ScrollingCoordinatorChromiumTest.fastScrollingByDefault
     8        and fastScrollingForFixedPosition are failing (Requested by
     9        keishi on #webkit).
     10
     11        * public/WebWidget.h:
     12        (WebWidget):
     13        (WebKit::WebWidget::isInputThrottled):
     14        (WebKit::WebWidget::renderingStats):
     15        * src/WebViewImpl.cpp:
     16        (WebKit::WebViewImpl::WebViewImpl):
     17        (WebKit::WebViewImpl::~WebViewImpl):
     18        (WebKit::WebViewImpl::renderingStats):
     19        (WebKit):
     20        (WebKit::WebViewImpl::setCompositorSurfaceReady):
     21        (WebKit::WebViewImpl::isInputThrottled):
     22        (WebKit::WebViewImpl::setIsTransparent):
     23        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
     24        * src/WebViewImpl.h:
     25
    1262013-01-25  Eberhard Graether  <egraether@google.com>
    227
  • trunk/Source/WebKit/chromium/public/WebWidget.h

    r140774 r140808  
    130130    // Indicates that the compositing surface associated with this WebWidget is
    131131    // ready to use.
    132     virtual void setCompositorSurfaceReady() { }
     132    virtual void setCompositorSurfaceReady() = 0;
    133133
    134134    // Temporary method for the embedder to notify the WebWidget that the widget
     
    136136    // removed when the WebWidget inversion patch lands --- http://crbug.com/112837
    137137    virtual void setNeedsRedraw() { }
     138
     139    // Temporary method for the embedder to check for throttled input. When this
     140    // is true, the WebWidget is indicating that it would prefer to not receive
     141    // additional input events until
     142    // WebWidgetClient::didBecomeReadyForAdditionalInput is called.
     143    //
     144    // This method will be removed when the WebWidget inversion patch lands ---
     145    // http://crbug.com/112837
     146    virtual bool isInputThrottled() const { return false; }
    138147
    139148    // Called to inform the WebWidget of a change in theme.
     
    239248    virtual void instrumentCancelFrame() { }
    240249
     250    // Fills in a WebRenderingStats struct containing information about rendering, e.g. count of frames rendered, time spent painting.
     251    // This call is relatively expensive in threaded compositing mode, as it blocks on the compositor thread.
     252    // It is safe to call in software mode, but will only give stats for rendering done in compositing mode.
     253    virtual void renderingStats(WebRenderingStats&) const { }
     254
    241255    // The page background color. Can be used for filling in areas without
    242256    // content.
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r140798 r140808  
    419419#if USE(ACCELERATED_COMPOSITING)
    420420    , m_layerTreeView(0)
     421    , m_ownsLayerTreeView(false)
    421422    , m_rootLayer(0)
    422423    , m_rootGraphicsLayer(0)
     
    425426    , m_compositorCreationFailed(false)
    426427    , m_recreatingGraphicsContext(false)
     428    , m_compositorSurfaceReady(false)
    427429    , m_inputHandlerIdentifier(-1)
    428430#endif
     
    510512WebViewImpl::~WebViewImpl()
    511513{
     514    if (m_ownsLayerTreeView)
     515        delete m_layerTreeView;
    512516    ASSERT(!m_page);
    513517}
     
    833837    m_gestureAnimation = WebActiveGestureAnimation::createWithTimeOffset(curve.release(), this, parameters.startTime);
    834838    scheduleAnimation();
     839}
     840
     841void WebViewImpl::renderingStats(WebRenderingStats& stats) const
     842{
     843    if (m_layerTreeView)
     844        m_layerTreeView->renderingStats(stats);
    835845}
    836846
     
    17651775#endif
    17661776
     1777void WebViewImpl::setCompositorSurfaceReady()
     1778{
     1779    m_compositorSurfaceReady = true;
     1780    if (m_layerTreeView)
     1781        m_layerTreeView->setSurfaceReady();
     1782}
     1783
    17671784void WebViewImpl::animate(double)
    17681785{
     
    19421959        m_layerTreeView->setNeedsRedraw();
    19431960#endif
     1961}
     1962
     1963bool WebViewImpl::isInputThrottled() const
     1964{
     1965#if USE(ACCELERATED_COMPOSITING)
     1966    if (m_layerTreeView && isAcceleratedCompositingActive())
     1967        return m_layerTreeView->commitRequested();
     1968#endif
     1969    return false;
    19441970}
    19451971
     
    35803606    if (m_nonCompositedContentHost)
    35813607        m_nonCompositedContentHost->setOpaque(!isTransparent);
     3608
     3609    if (m_layerTreeView)
     3610        m_layerTreeView->setHasTransparentBackground(isTransparent);
    35823611}
    35833612
     
    40634092        m_client->initializeLayerTreeView(this, *m_rootLayer, layerTreeViewSettings);
    40644093        m_layerTreeView = m_client->layerTreeView();
     4094        if (!m_layerTreeView) {
     4095            m_layerTreeView = Platform::current()->compositorSupport()->createLayerTreeView(this, *m_rootLayer, layerTreeViewSettings);
     4096            m_ownsLayerTreeView = true;
     4097        }
    40654098        if (m_layerTreeView) {
    40664099            if (m_webSettings->applyDeviceScaleFactorInCompositor() && page()->deviceScaleFactor() != 1)
     
    40704103            m_layerTreeView->setVisible(visible);
    40714104            m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
     4105            if (m_compositorSurfaceReady)
     4106                m_layerTreeView->setSurfaceReady();
    40724107            m_layerTreeView->setHasTransparentBackground(isTransparent());
    40734108            updateLayerTreeViewport();
  • trunk/Source/WebKit/chromium/src/WebViewImpl.h

    r140798 r140808  
    144144    virtual void willExitFullScreen();
    145145    virtual void didExitFullScreen();
     146    virtual void setCompositorSurfaceReady();
    146147    virtual void animate(double);
    147148    virtual void layout(); // Also implements WebLayerTreeViewClient::layout()
     
    152153    virtual void composite(bool finish);
    153154    virtual void setNeedsRedraw();
     155    virtual bool isInputThrottled() const;
    154156    virtual bool handleInputEvent(const WebInputEvent&);
    155157    virtual bool hasTouchEventHandlersAt(const WebPoint&);
     
    183185    virtual void instrumentBeginFrame();
    184186    virtual void instrumentCancelFrame();
     187    virtual void renderingStats(WebRenderingStats&) const;
    185188
    186189    // WebView methods:
     
    841844    OwnPtr<NonCompositedContentHost> m_nonCompositedContentHost;
    842845    WebLayerTreeView* m_layerTreeView;
     846    bool m_ownsLayerTreeView;
    843847    WebLayer* m_rootLayer;
    844848    WebCore::GraphicsLayer* m_rootGraphicsLayer;
     
    848852    // If true, the graphics context is being restored.
    849853    bool m_recreatingGraphicsContext;
     854    bool m_compositorSurfaceReady;
    850855    int m_inputHandlerIdentifier;
    851856#endif
  • trunk/Tools/ChangeLog

    r140801 r140808  
     12013-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r140774.
     4        http://trac.webkit.org/changeset/140774
     5        https://bugs.webkit.org/show_bug.cgi?id=107932
     6
     7         Tests ScrollingCoordinatorChromiumTest.fastScrollingByDefault
     8        and fastScrollingForFixedPosition are failing (Requested by
     9        keishi on #webkit).
     10
     11        * DumpRenderTree/chromium/WebViewHost.cpp:
     12        (WebViewHost::initializeLayerTreeView):
     13        (WebViewHost::setWebWidget):
     14
    1152013-01-25  Alan Cutter  <alancutter@chromium.org>
    216
  • trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp

    r140774 r140808  
    410410{
    411411    m_layerTreeView = adoptPtr(Platform::current()->compositorSupport()->createLayerTreeView(client, rootLayer, settings));
    412     if (m_layerTreeView)
    413         m_layerTreeView->setSurfaceReady();
    414412}
    415413
     
    11231121    webView()->setSpellCheckClient(proxy()->spellCheckClient());
    11241122    webView()->setPrerendererClient(this);
     1123    webView()->setCompositorSurfaceReady();
    11251124}
    11261125
Note: See TracChangeset for help on using the changeset viewer.