⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 100199 in webkit


Ignore:
Timestamp:
Nov 14, 2011, 3:10:16 PM (15 years ago)
Author:
enne@google.com
Message:

[chromium] Pipe compositor commit/swap up to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=72041

Reviewed by Darin Fisher.

Source/WebCore:

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
(WebCore::CCLayerTreeHost::didCompleteSwapBuffers):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::doComposite):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
(WebCore::CCThreadProxy::didCommitAndDrawFrame):
(WebCore::CCThreadProxy::didCompleteSwapBuffers):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

  • public/WebWidgetClient.h:

(WebKit::WebWidgetClient::didCommitAndDrawCompositorFrame):
(WebKit::WebWidgetClient::didCompleteSwapBuffers):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
(WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):

  • src/WebLayerTreeViewImpl.h:
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::didCommitAndDrawFrame):
(WebKit::WebViewImpl::didCompleteSwapBuffers):

  • src/WebViewImpl.h:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::MockLayerTreeHostClient::didCommitAndDrawFrame):
(WTF::MockLayerTreeHostClient::didCompleteSwapBuffers):

Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r100198 r100199  
     12011-11-14  Adrienne Walker  <enne@google.com>
     2
     3        [chromium] Pipe compositor commit/swap up to WebWidgetClient
     4        https://bugs.webkit.org/show_bug.cgi?id=72041
     5
     6        Reviewed by Darin Fisher.
     7
     8        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
     9        (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
     10        (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
     11        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
     12        (WebCore::CCSingleThreadProxy::doComposite):
     13        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
     14        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
     15        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
     16        (WebCore::CCThreadProxy::didCommitAndDrawFrame):
     17        (WebCore::CCThreadProxy::didCompleteSwapBuffers):
     18        * platform/graphics/chromium/cc/CCThreadProxy.h:
     19
    1202011-11-14  Tony Chang  <tony@chromium.org>
    221
  • trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h

    r100146 r100199  
    5858    virtual PassRefPtr<GraphicsContext3D> createLayerTreeHostContext3D() = 0;
    5959    virtual void didRecreateGraphicsContext(bool success) = 0;
    60     virtual void didCommitAndDrawFrame(int frameNumber) = 0;
     60    virtual void didCommitAndDrawFrame() = 0;
     61    virtual void didCompleteSwapBuffers() = 0;
    6162
    6263    // Used only in the single-threaded path.
     
    116117    void didBecomeInvisibleOnImplThread(CCLayerTreeHostImpl*);
    117118    void didRecreateGraphicsContext(bool success);
    118     void didCommitAndDrawFrame(int frameNumber) { m_client->didCommitAndDrawFrame(frameNumber); }
     119    void didCommitAndDrawFrame() { m_client->didCommitAndDrawFrame(); }
     120    void didCompleteSwapBuffers() { m_client->didCompleteSwapBuffers(); }
    119121    void deleteContentsTexturesOnImplThread(TextureAllocator*);
    120122
  • trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp

    r99774 r100199  
    304304    if (m_nextFrameIsNewlyCommittedFrame) {
    305305        m_nextFrameIsNewlyCommittedFrame = false;
    306         m_layerTreeHost->didCommitAndDrawFrame(m_layerTreeHostImpl->sourceFrameNumber());
     306        m_layerTreeHost->didCommitAndDrawFrame();
    307307    }
    308308
  • trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp

    r100099 r100199  
    230230    TRACE_EVENT("CCThreadProxy::onSwapBuffersCompleteOnImplThread", this, 0);
    231231    m_schedulerOnImplThread->didSwapBuffersComplete();
     232    m_mainThreadProxy->postTask(createMainThreadTask(this, &CCThreadProxy::didCompleteSwapBuffers));
    232233}
    233234
     
    488489    if (m_nextFrameIsNewlyCommittedFrameOnImplThread) {
    489490        m_nextFrameIsNewlyCommittedFrameOnImplThread = false;
    490         m_mainThreadProxy->postTask(createMainThreadTask(this, &CCThreadProxy::didCommitAndDrawFrame, m_layerTreeHostImpl->sourceFrameNumber()));
    491     }
    492 }
    493 
    494 void CCThreadProxy::didCommitAndDrawFrame(int frameNumber)
     491        m_mainThreadProxy->postTask(createMainThreadTask(this, &CCThreadProxy::didCommitAndDrawFrame));
     492    }
     493}
     494
     495void CCThreadProxy::didCommitAndDrawFrame()
    495496{
    496497    ASSERT(isMainThread());
    497498    if (!m_layerTreeHost)
    498499        return;
    499     m_layerTreeHost->didCommitAndDrawFrame(frameNumber);
     500    m_layerTreeHost->didCommitAndDrawFrame();
     501}
     502
     503void CCThreadProxy::didCompleteSwapBuffers()
     504{
     505    ASSERT(isMainThread());
     506    if (!m_layerTreeHost)
     507        return;
     508    m_layerTreeHost->didCompleteSwapBuffers();
    500509}
    501510
  • trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h

    r100060 r100199  
    8383    // Called on CCMainThread
    8484    void beginFrameAndCommit(int sequenceNumber, double frameBeginTime, PassOwnPtr<CCScrollAndScaleSet>);
    85     void didCommitAndDrawFrame(int frameNumber);
     85    void didCommitAndDrawFrame();
     86    void didCompleteSwapBuffers();
    8687
    8788    // Called on CCThread
  • trunk/Source/WebKit/chromium/ChangeLog

    r100198 r100199  
     12011-11-14  Adrienne Walker  <enne@google.com>
     2
     3        [chromium] Pipe compositor commit/swap up to WebWidgetClient
     4        https://bugs.webkit.org/show_bug.cgi?id=72041
     5
     6        Reviewed by Darin Fisher.
     7
     8        * public/WebWidgetClient.h:
     9        (WebKit::WebWidgetClient::didCommitAndDrawCompositorFrame):
     10        (WebKit::WebWidgetClient::didCompleteSwapBuffers):
     11        * src/WebLayerTreeViewImpl.cpp:
     12        (WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
     13        (WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):
     14        * src/WebLayerTreeViewImpl.h:
     15        * src/WebViewImpl.cpp:
     16        (WebKit::WebViewImpl::didCommitAndDrawFrame):
     17        (WebKit::WebViewImpl::didCompleteSwapBuffers):
     18        * src/WebViewImpl.h:
     19        * tests/CCLayerTreeHostTest.cpp:
     20        (WTF::MockLayerTreeHostClient::didCommitAndDrawFrame):
     21        (WTF::MockLayerTreeHostClient::didCompleteSwapBuffers):
     22
    1232011-11-14  Tony Chang  <tony@chromium.org>
    224
  • trunk/Source/WebKit/chromium/public/WebWidgetClient.h

    r96878 r100199  
    6161    virtual void didDeactivateCompositor() { }
    6262
     63    // Called for compositing mode when the draw commands for a WebKit-side
     64    // frame have been issued.
     65    virtual void didCommitAndDrawCompositorFrame() { }
     66
     67    // Called for compositing mode when swapbuffers has been posted in the GPU
     68    // process.
     69    virtual void didCompleteSwapBuffers() { }
     70
    6371    // Called when a call to WebWidget::composite is required
    6472    virtual void scheduleComposite() { }
  • trunk/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp

    r99774 r100199  
    9797}
    9898
    99 void WebLayerTreeViewImpl::didCommitAndDrawFrame(int frameNumber)
     99void WebLayerTreeViewImpl::didCommitAndDrawFrame()
     100{
     101    // FIXME: route this up to the WebLayerTreeView client
     102}
     103
     104void WebLayerTreeViewImpl::didCompleteSwapBuffers()
    100105{
    101106    // FIXME: route this up to the WebLayerTreeView client
  • trunk/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h

    r99774 r100199  
    4545    virtual void applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale);
    4646    virtual PassRefPtr<WebCore::GraphicsContext3D> createLayerTreeHostContext3D();
    47     virtual void didCommitAndDrawFrame(int frameNumber);
    4847    virtual void didRecreateGraphicsContext(bool success);
     48    virtual void didCommitAndDrawFrame();
     49    virtual void didCompleteSwapBuffers();
    4950
    5051    // Only used in the single threaded path.
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r100196 r100199  
    28042804}
    28052805
    2806 void WebViewImpl::didCommitAndDrawFrame(int frameNumber)
    2807 {
    2808     // FIXME: route this up to RenderWidget's didFlushPaint.
     2806void WebViewImpl::didCommitAndDrawFrame()
     2807{
     2808    if (m_client)
     2809        m_client->didCommitAndDrawCompositorFrame();
     2810}
     2811
     2812void WebViewImpl::didCompleteSwapBuffers()
     2813{
     2814    if (m_client)
     2815        m_client->didCompleteSwapBuffers();
    28092816}
    28102817
  • trunk/Source/WebKit/chromium/src/WebViewImpl.h

    r100196 r100199  
    225225    virtual void applyScrollAndScale(const WebCore::IntSize&, float);
    226226    virtual PassRefPtr<WebCore::GraphicsContext3D> createLayerTreeHostContext3D();
    227     virtual void didCommitAndDrawFrame(int frameNumber);
     227    virtual void didCommitAndDrawFrame();
     228    virtual void didCompleteSwapBuffers();
    228229    virtual void didRecreateGraphicsContext(bool success);
    229230    virtual void scheduleComposite();
  • trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp

    r100127 r100199  
    166166    }
    167167
    168     virtual void didCommitAndDrawFrame(int frameNumber)
     168    virtual void didCommitAndDrawFrame()
     169    {
     170    }
     171
     172    virtual void didCompleteSwapBuffers()
    169173    {
    170174    }
Note: See TracChangeset for help on using the changeset viewer.