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

Changeset 127225 in webkit


Ignore:
Timestamp:
Aug 30, 2012, 8:30:56 PM (14 years ago)
Author:
jamesr@google.com
Message:

[chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
​https://bugs.webkit.org/show_bug.cgi?id=95520

Reviewed by Darin Fisher.

Source/Platform:

WebPassOwnPtr<T> isn't quite usable from the chromium side - it needs some more work and isn't worth blocking
WebCompositorSupport for. Also, the d'tor for WebCompositorSupport needs to be protected, not private, so it can
be implemented.

  • Platform.gypi:
  • chromium/public/WebCompositorSupport.h:

(WebKit):
(WebKit::WebCompositorSupport::createLayerTreeView):
(WebKit::WebCompositorSupport::createLayer):
(WebKit::WebCompositorSupport::createContentLayer):
(WebKit::WebCompositorSupport::createExternalTextureLayer):
(WebKit::WebCompositorSupport::createIOSurfaceLayer):
(WebKit::WebCompositorSupport::createImageLayer):
(WebKit::WebCompositorSupport::createSolidColorLayer):
(WebKit::WebCompositorSupport::createVideoLayer):
(WebKit::WebCompositorSupport::createScrollbarLayer):
(WebKit::WebCompositorSupport::createAnimation):
(WebKit::WebCompositorSupport::createFloatAnimationCurve):
(WebKit::WebCompositorSupport::createTransformAnimationCurve):
(WebCompositorSupport):

  • chromium/public/WebPassOwnPtr.h: Removed.

Source/WebCore:

Adopt the return value of WebCompositorSupport explicitly.

  • platform/graphics/chromium/AnimationTranslationUtil.cpp:

(WebCore::createWebAnimation):

  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:

(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):

  • platform/graphics/chromium/DrawingBufferChromium.cpp:

(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

Source/WebKit/chromium:

Adopt the return value of WebCompositorSupport explicitly.

  • src/LinkHighlight.cpp:

(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::startHighlightAnimation):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::readyStateChanged):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):

Location:
trunk/Source
Files:
1 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/Platform/ChangeLog

    r127194 r127225  
     12012-08-30  James Robinson  <jamesr@chromium.org>
     2
     3        [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
     4        https://bugs.webkit.org/show_bug.cgi?id=95520
     5
     6        Reviewed by Darin Fisher.
     7
     8        WebPassOwnPtr<T> isn't quite usable from the chromium side - it needs some more work and isn't worth blocking
     9        WebCompositorSupport for. Also, the d'tor for WebCompositorSupport needs to be protected, not private, so it can
     10        be implemented.
     11
     12        * Platform.gypi:
     13        * chromium/public/WebCompositorSupport.h:
     14        (WebKit):
     15        (WebKit::WebCompositorSupport::createLayerTreeView):
     16        (WebKit::WebCompositorSupport::createLayer):
     17        (WebKit::WebCompositorSupport::createContentLayer):
     18        (WebKit::WebCompositorSupport::createExternalTextureLayer):
     19        (WebKit::WebCompositorSupport::createIOSurfaceLayer):
     20        (WebKit::WebCompositorSupport::createImageLayer):
     21        (WebKit::WebCompositorSupport::createSolidColorLayer):
     22        (WebKit::WebCompositorSupport::createVideoLayer):
     23        (WebKit::WebCompositorSupport::createScrollbarLayer):
     24        (WebKit::WebCompositorSupport::createAnimation):
     25        (WebKit::WebCompositorSupport::createFloatAnimationCurve):
     26        (WebKit::WebCompositorSupport::createTransformAnimationCurve):
     27        (WebCompositorSupport):
     28        * chromium/public/WebPassOwnPtr.h: Removed.
     29
    1302012-08-30  James Robinson  <jamesr@chromium.org>
    231
  • trunk/Source/Platform/Platform.gypi

    r127194 r127225  
    9595            'chromium/public/WebMimeRegistry.h',
    9696            'chromium/public/WebNonCopyable.h',
    97             'chromium/public/WebPassOwnPtr.h',
    9897            'chromium/public/WebPeerConnection00Handler.h',
    9998            'chromium/public/WebPeerConnection00HandlerClient.h',
  • trunk/Source/Platform/chromium/public/WebCompositorSupport.h

    r127172 r127225  
    2929#include "WebAnimation.h"
    3030#include "WebCommon.h"
    31 #include "WebContentLayer.h"
    32 #include "WebExternalTextureLayer.h"
    33 #include "WebFloatAnimationCurve.h"
    34 #include "WebIOSurfaceLayer.h"
    35 #include "WebImageLayer.h"
    36 #include "WebLayer.h"
    3731#include "WebLayerTreeView.h"
    38 #include "WebPassOwnPtr.h"
    39 #include "WebScrollbar.h"
    40 #include "WebScrollbarLayer.h"
    41 #include "WebScrollbarThemeGeometry.h"
    4232#include "WebScrollbarThemePainter.h"
    43 #include "WebSolidColorLayer.h"
    44 #include "WebTransformAnimationCurve.h"
    45 #include "WebVideoLayer.h"
    4633
    4734namespace WebKit {
    4835
     36class WebAnimationCurve;
     37class WebContentLayer;
    4938class WebContentLayerClient;
     39class WebExternalTextureLayer;
    5040class WebExternalTextureLayerClient;
     41class WebFloatAnimationCurve;
     42class WebIOSurfaceLayer;
     43class WebImageLayer;
     44class WebLayer;
     45class WebScrollbar;
     46class WebScrollbarLayer;
     47class WebScrollbarThemeGeometry;
     48class WebSolidColorLayer;
     49class WebTransformAnimationCurve;
    5150class WebVideoFrameProvider;
     51class WebVideoLayer;
    5252
    5353class WebCompositorSupport {
    5454public:
    5555    // May return 0 if initialization fails.
    56     virtual WebPassOwnPtr<WebLayerTreeView> createLayerTreeView(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&) { return WebPassOwnPtr<WebLayerTreeView>(); }
     56    virtual WebLayerTreeView* createLayerTreeView(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&) { return 0; }
    5757
    5858
    5959    // Layers -------------------------------------------------------
    6060
    61     virtual WebPassOwnPtr<WebLayer> createLayer() { return WebPassOwnPtr<WebLayer>(); }
     61    virtual WebLayer* createLayer() { return 0; }
    6262
    63     virtual WebPassOwnPtr<WebContentLayer> createContentLayer(WebContentLayerClient*) { return WebPassOwnPtr<WebContentLayer>(); }
     63    virtual WebContentLayer* createContentLayer(WebContentLayerClient*) { return 0; }
    6464
    65     virtual WebPassOwnPtr<WebExternalTextureLayer> createExternalTextureLayer(WebExternalTextureLayerClient* = 0) { return WebPassOwnPtr<WebExternalTextureLayer>(); }
     65    virtual WebExternalTextureLayer* createExternalTextureLayer(WebExternalTextureLayerClient* = 0) { return 0; }
    6666
    67     virtual WebPassOwnPtr<WebIOSurfaceLayer> createIOSurfaceLayer() { return WebPassOwnPtr<WebIOSurfaceLayer>(); }
     67    virtual WebIOSurfaceLayer* createIOSurfaceLayer() { return 0; }
    6868
    69     virtual WebPassOwnPtr<WebImageLayer> createImageLayer() { return WebPassOwnPtr<WebImageLayer>(); }
     69    virtual WebImageLayer* createImageLayer() { return 0; }
    7070
    71     virtual WebPassOwnPtr<WebSolidColorLayer> createSolidColorLayer() { return WebPassOwnPtr<WebSolidColorLayer>(); }
     71    virtual WebSolidColorLayer* createSolidColorLayer() { return 0; }
    7272
    73     virtual WebPassOwnPtr<WebVideoLayer> createVideoLayer(WebVideoFrameProvider*) { return WebPassOwnPtr<WebVideoLayer>(); }
     73    virtual WebVideoLayer* createVideoLayer(WebVideoFrameProvider*) { return 0; }
    7474
    75     virtual WebPassOwnPtr<WebScrollbarLayer> createScrollbarLayer(WebPassOwnPtr<WebScrollbar>, WebScrollbarThemePainter, WebPassOwnPtr<WebScrollbarThemeGeometry>) { return WebPassOwnPtr<WebScrollbarLayer>(); }
     75    virtual WebScrollbarLayer* createScrollbarLayer(WebScrollbar*, WebScrollbarThemePainter, WebScrollbarThemeGeometry*) { return 0; }
    7676
    7777
    7878    // Animation ----------------------------------------------------
    7979
    80     virtual WebPassOwnPtr<WebAnimation> createAnimation(const WebAnimationCurve&, WebAnimation::TargetProperty, int animationId = 0) { return WebPassOwnPtr<WebAnimation>(); }
     80    virtual WebAnimation* createAnimation(const WebAnimationCurve&, WebAnimation::TargetProperty, int animationId = 0) { return 0; }
    8181
    82     virtual WebPassOwnPtr<WebFloatAnimationCurve> createFloatAnimationCurve() { return WebPassOwnPtr<WebFloatAnimationCurve>(); }
     82    virtual WebFloatAnimationCurve* createFloatAnimationCurve() { return 0; }
    8383
    84     virtual WebPassOwnPtr<WebTransformAnimationCurve> createTransformAnimationCurve() { return WebPassOwnPtr<WebTransformAnimationCurve>(); }
     84    virtual WebTransformAnimationCurve* createTransformAnimationCurve() { return 0; }
    8585
    86 private:
     86protected:
    8787    virtual ~WebCompositorSupport() { }
    8888};
  • trunk/Source/WebCore/ChangeLog

    r127224 r127225  
     12012-08-30  James Robinson  <jamesr@chromium.org>
     2
     3        [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
     4        https://bugs.webkit.org/show_bug.cgi?id=95520
     5
     6        Reviewed by Darin Fisher.
     7
     8        Adopt the return value of WebCompositorSupport explicitly.
     9
     10        * platform/graphics/chromium/AnimationTranslationUtil.cpp:
     11        (WebCore::createWebAnimation):
     12        * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
     13        (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
     14        * platform/graphics/chromium/DrawingBufferChromium.cpp:
     15        (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
     16        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
     17        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
     18        (WebCore::GraphicsLayerChromium::setContentsToImage):
     19        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
     20
    1212012-08-30  Adam Barth  <abarth@webkit.org>
    222
  • trunk/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp

    r127172 r127225  
    244244    OwnPtr<WebKit::WebAnimation> webAnimation;
    245245    if (WebCompositorSupport* compositorSupport = WebKit::Platform::current()->compositorSupport())
    246         webAnimation = compositorSupport->createAnimation(*curve, targetProperty, animationId);
     246        webAnimation = adoptPtr(compositorSupport->createAnimation(*curve, targetProperty, animationId));
    247247    else
    248248        webAnimation = adoptPtr(WebKit::WebAnimation::create(*curve, targetProperty, animationId));
    … …  
    265265        OwnPtr<WebTransformAnimationCurve> curve;
    266266        if (WebCompositorSupport* compositorSupport = WebKit::Platform::current()->compositorSupport())
    267             curve = compositorSupport->createTransformAnimationCurve();
     267            curve = adoptPtr(compositorSupport->createTransformAnimationCurve());
    268268        else
    269269            curve = adoptPtr(WebTransformAnimationCurve::create());
    … …  
    274274        OwnPtr<WebFloatAnimationCurve> curve;
    275275        if (WebCompositorSupport* compositorSupport = WebKit::Platform::current()->compositorSupport())
    276             curve = compositorSupport->createFloatAnimationCurve();
     276            curve = adoptPtr(compositorSupport->createFloatAnimationCurve());
    277277        else
    278278            curve = adoptPtr(WebFloatAnimationCurve::create());
  • trunk/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp

    r127172 r127225  
    7878
    7979    if (WebKit::WebCompositorSupport* compositorSupport = WebKit::Platform::current()->compositorSupport())
    80         m_layer = compositorSupport->createExternalTextureLayer(this);
     80        m_layer = adoptPtr(compositorSupport->createExternalTextureLayer(this));
    8181    else
    8282        m_layer = adoptPtr(WebKit::WebExternalTextureLayer::create(this));
  • trunk/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp

    r127172 r127225  
    168168    {
    169169        if (WebKit::WebCompositorSupport* compositorSupport = WebKit::Platform::current()->compositorSupport())
    170             m_layer = compositorSupport->createExternalTextureLayer(this);
     170            m_layer = adoptPtr(compositorSupport->createExternalTextureLayer(this));
    171171        else
    172172            m_layer = adoptPtr(WebKit::WebExternalTextureLayer::create(this));
  • trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp

    r127172 r127225  
    9595
    9696    if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    97         m_layer = compositorSupport->createContentLayer(m_opaqueRectTrackingContentLayerDelegate.get());
     97        m_layer = adoptPtr(compositorSupport->createContentLayer(m_opaqueRectTrackingContentLayerDelegate.get()));
    9898    else
    9999        m_layer = adoptPtr(WebContentLayer::create(m_opaqueRectTrackingContentLayerDelegate.get()));
    … …  
    478478        if (m_contentsLayerPurpose != ContentsLayerForImage) {
    479479            if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    480                 m_imageLayer = compositorSupport->createImageLayer();
     480                m_imageLayer = adoptPtr(compositorSupport->createImageLayer());
    481481            else
    482482                m_imageLayer = adoptPtr(WebImageLayer::create());
    … …  
    734734    if (m_preserves3D && !m_transformLayer) {
    735735        if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    736             m_transformLayer = compositorSupport->createLayer();
     736            m_transformLayer = adoptPtr(compositorSupport->createLayer());
    737737        else
    738738            m_transformLayer = adoptPtr(WebLayer::create());
  • trunk/Source/WebKit/chromium/ChangeLog

    r127175 r127225  
     12012-08-30  James Robinson  <jamesr@chromium.org>
     2
     3        [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
     4        https://bugs.webkit.org/show_bug.cgi?id=95520
     5
     6        Reviewed by Darin Fisher.
     7
     8        Adopt the return value of WebCompositorSupport explicitly.
     9
     10        * src/LinkHighlight.cpp:
     11        (WebKit::LinkHighlight::LinkHighlight):
     12        (WebKit::LinkHighlight::startHighlightAnimation):
     13        * src/WebMediaPlayerClientImpl.cpp:
     14        (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
     15        * src/WebPluginContainerImpl.cpp:
     16        (WebKit::WebPluginContainerImpl::setBackingTextureId):
     17        (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
     18
    1192012-08-30  James Robinson  <jamesr@chromium.org>
    220
  • trunk/Source/WebKit/chromium/src/LinkHighlight.cpp

    r127172 r127225  
    7070    ASSERT(owningWebViewImpl);
    7171    if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport()) {
    72         m_contentLayer = compositorSupport->createContentLayer(this);
    73         m_clipLayer = compositorSupport->createLayer();
     72        m_contentLayer = adoptPtr(compositorSupport->createContentLayer(this));
     73        m_clipLayer = adoptPtr(compositorSupport->createLayer());
    7474    } else {
    7575        m_contentLayer = adoptPtr(WebContentLayer::create(this));
    … …  
    211211    OwnPtr<WebFloatAnimationCurve> curve;
    212212    if (compositorSupport)
    213         curve = compositorSupport->createFloatAnimationCurve();
     213        curve = adoptPtr(compositorSupport->createFloatAnimationCurve());
    214214    else
    215215        curve = adoptPtr(WebFloatAnimationCurve::create());
    … …  
    221221
    222222    if (compositorSupport)
    223         m_animation = compositorSupport->createAnimation(*curve, WebAnimation::TargetPropertyOpacity);
     223        m_animation = adoptPtr(compositorSupport->createAnimation(*curve, WebAnimation::TargetPropertyOpacity));
    224224    else
    225225        m_animation = adoptPtr(WebAnimation::create(*curve, WebAnimation::TargetPropertyOpacity));
  • trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp

    r127172 r127225  
    120120    if (hasVideo() && supportsAcceleratedRendering() && !m_videoLayer) {
    121121        if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    122             m_videoLayer = compositorSupport->createVideoLayer(this);
     122            m_videoLayer = adoptPtr(compositorSupport->createVideoLayer(this));
    123123        else
    124124            m_videoLayer = adoptPtr(WebVideoLayer::create(this));
  • trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp

    r127172 r127225  
    374374    if (!m_textureLayer) {
    375375        if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    376             m_textureLayer = compositorSupport->createExternalTextureLayer();
     376            m_textureLayer = adoptPtr(compositorSupport->createExternalTextureLayer());
    377377        else
    378378            m_textureLayer = adoptPtr(WebExternalTextureLayer::create());
    … …  
    403403    if (!m_ioSurfaceLayer) {
    404404        if (WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport())
    405             m_ioSurfaceLayer = compositorSupport->createIOSurfaceLayer();
     405            m_ioSurfaceLayer = adoptPtr(compositorSupport->createIOSurfaceLayer());
    406406        else
    407407            m_ioSurfaceLayer = adoptPtr(WebIOSurfaceLayer::create());
Note: See TracChangeset for help on using the changeset viewer.