Changeset 143803 in webkit


Ignore:
Timestamp:
Feb 22, 2013, 2:42:58 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[chromium] Register newly-created layers for animation
https://bugs.webkit.org/show_bug.cgi?id=106594

Patch by Ali Juma <ajuma@chromium.org> on 2013-02-22
Reviewed by James Robinson.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):
(WebKit::WebLayerTreeView::registerForAnimations):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::ChromeClientImpl):
(WebKit::ChromeClientImpl::graphicsLayerFactory):

  • src/ChromeClientImpl.h:

(ChromeClientImpl):

  • src/GraphicsLayerFactoryChromium.cpp: Added.

(WebKit):
(WebKit::GraphicsLayerFactoryChromium::GraphicsLayerFactoryChromium):
(WebKit::GraphicsLayerFactoryChromium::~GraphicsLayerFactoryChromium):
(WebKit::GraphicsLayerFactoryChromium::createGraphicsLayer):

  • src/GraphicsLayerFactoryChromium.h: Added.

(WebKit):
(GraphicsLayerFactoryChromium):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::graphicsLayerFactory):
(WebKit):
(WebKit::WebViewImpl::registerForAnimations):

  • src/WebViewImpl.h:

(WebViewImpl):

Location:
trunk/Source
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/Platform/ChangeLog

    r143781 r143803  
     12013-02-22  Ali Juma  <ajuma@chromium.org>
     2
     3        [chromium] Register newly-created layers for animation
     4        https://bugs.webkit.org/show_bug.cgi?id=106594
     5
     6        Reviewed by James Robinson.
     7
     8        * chromium/public/WebLayerTreeView.h:
     9        (WebLayerTreeView):
     10        (WebKit::WebLayerTreeView::registerForAnimations):
     11
    1122013-02-22  Chris Rogers  <crogers@google.com>
    213
  • trunk/Source/Platform/chromium/public/WebLayerTreeView.h

    r142144 r143803  
    173173    virtual void setDeferCommits(bool deferCommits) { }
    174174
     175    // Take responsiblity for this layer's animations, even if this layer hasn't yet
     176    // been added to the tree.
     177    virtual void registerForAnimations(WebLayer* layer) { }
     178
    175179    // Debugging / dangerous ---------------------------------------------
    176180
  • trunk/Source/WebKit/chromium/ChangeLog

    r143793 r143803  
     12013-02-22  Ali Juma  <ajuma@chromium.org>
     2
     3        [chromium] Register newly-created layers for animation
     4        https://bugs.webkit.org/show_bug.cgi?id=106594
     5
     6        Reviewed by James Robinson.
     7
     8        * WebKit.gyp:
     9        * src/ChromeClientImpl.cpp:
     10        (WebKit::ChromeClientImpl::ChromeClientImpl):
     11        (WebKit::ChromeClientImpl::graphicsLayerFactory):
     12        * src/ChromeClientImpl.h:
     13        (ChromeClientImpl):
     14        * src/GraphicsLayerFactoryChromium.cpp: Added.
     15        (WebKit):
     16        (WebKit::GraphicsLayerFactoryChromium::GraphicsLayerFactoryChromium):
     17        (WebKit::GraphicsLayerFactoryChromium::~GraphicsLayerFactoryChromium):
     18        (WebKit::GraphicsLayerFactoryChromium::createGraphicsLayer):
     19        * src/GraphicsLayerFactoryChromium.h: Added.
     20        (WebKit):
     21        (GraphicsLayerFactoryChromium):
     22        * src/WebViewImpl.cpp:
     23        (WebKit::WebViewImpl::WebViewImpl):
     24        (WebKit::WebViewImpl::graphicsLayerFactory):
     25        (WebKit):
     26        (WebKit::WebViewImpl::registerForAnimations):
     27        * src/WebViewImpl.h:
     28        (WebViewImpl):
     29
    1302013-02-22  Fady Samuel  <fsamuel@chromium.org>
    231
  • trunk/Source/WebKit/chromium/WebKit.gyp

    r143674 r143803  
    351351                'src/GeolocationClientProxy.cpp',
    352352                'src/GeolocationClientProxy.h',
     353                'src/GraphicsLayerFactoryChromium.cpp',
     354                'src/GraphicsLayerFactoryChromium.h',
    353355                'src/gtk/WebInputEventFactory.cpp',
    354356                'src/WebHelperPluginImpl.cpp',
  • trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp

    r143735 r143803  
    5959#include "Geolocation.h"
    6060#include "GraphicsLayerChromium.h"
    61 #include "GraphicsLayerFactory.h"
    6261#include "HTMLInputElement.h"
    6362#include "HTMLNames.h"
     
    114113using namespace WebCore;
    115114
    116 namespace {
    117 
    118 class GraphicsLayerFactoryChromium : public GraphicsLayerFactory {
    119 public:
    120     virtual ~GraphicsLayerFactoryChromium() { }
    121 
    122     virtual PassOwnPtr<GraphicsLayer> createGraphicsLayer(GraphicsLayerClient* client) OVERRIDE
    123     {
    124         return adoptPtr(new GraphicsLayerChromium(client));
    125     }
    126 };
    127 
    128 } // namespace
    129 
    130115namespace WebKit {
    131116
     
    161146#if ENABLE(PAGE_POPUP)
    162147    , m_pagePopupDriver(webView)
    163 #endif
    164 #if USE(ACCELERATED_COMPOSITING)
    165     , m_graphicsLayerFactory(adoptPtr(new GraphicsLayerFactoryChromium))
    166148#endif
    167149{
     
    936918GraphicsLayerFactory* ChromeClientImpl::graphicsLayerFactory() const
    937919{
    938     return m_graphicsLayerFactory.get();
     920    return m_webView->graphicsLayerFactory();
    939921}
    940922
  • trunk/Source/WebKit/chromium/src/ChromeClientImpl.h

    r143511 r143803  
    3939#include "WebNavigationPolicy.h"
    4040#include <public/WebColor.h>
    41 #include <wtf/OwnPtr.h>
    4241#include <wtf/PassOwnPtr.h>
    4342
     
    253252    WebCore::PagePopupDriver* m_pagePopupDriver;
    254253#endif
    255 
    256 #if USE(ACCELERATED_COMPOSITING)
    257     OwnPtr<WebCore::GraphicsLayerFactory> m_graphicsLayerFactory;
    258 #endif
    259254};
    260255
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r143735 r143803  
    6969#include "GraphicsContext3D.h"
    7070#include "GraphicsContext3DPrivate.h"
     71#include "GraphicsLayerFactoryChromium.h"
    7172#include "HTMLInputElement.h"
    7273#include "HTMLMediaElement.h"
     
    425426    , m_rootLayer(0)
    426427    , m_rootGraphicsLayer(0)
     428    , m_graphicsLayerFactory(adoptPtr(new GraphicsLayerFactoryChromium(this)))
    427429    , m_isAcceleratedCompositingActive(false)
    428430    , m_layerTreeViewCommitsDeferred(false)
     
    40884090WebCore::GraphicsLayerFactory* WebViewImpl::graphicsLayerFactory() const
    40894091{
    4090     return m_chromeClientImpl.graphicsLayerFactory();
     4092    return m_graphicsLayerFactory.get();
     4093}
     4094
     4095void WebViewImpl::registerForAnimations(WebLayer* layer)
     4096{
     4097    if (m_layerTreeView)
     4098        m_layerTreeView->registerForAnimations(layer);
    40914099}
    40924100
  • trunk/Source/WebKit/chromium/src/WebViewImpl.h

    r143735 r143803  
    549549    void setBackgroundColor(const WebCore::Color&);
    550550    WebCore::GraphicsLayerFactory* graphicsLayerFactory() const;
     551    void registerForAnimations(WebLayer*);
    551552#endif
    552553#if ENABLE(REQUEST_ANIMATION_FRAME)
     
    864865    WebLayer* m_rootLayer;
    865866    WebCore::GraphicsLayer* m_rootGraphicsLayer;
     867    OwnPtr<WebCore::GraphicsLayerFactory> m_graphicsLayerFactory;
    866868    bool m_isAcceleratedCompositingActive;
    867869    bool m_layerTreeViewCommitsDeferred;
Note: See TracChangeset for help on using the changeset viewer.