Changeset 83828 in webkit


Ignore:
Timestamp:
Apr 14, 2011 2:27:58 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-04-14 John Bates <jbates@google.com>

Reviewed by Kenneth Russell.

Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
https://bugs.webkit.org/show_bug.cgi?id=58383

  • platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::addChildContext): (WebCore::LayerRendererChromium::removeChildContext):
  • platform/graphics/chromium/LayerRendererChromium.h:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r83821 r83828  
     12011-04-14  John Bates  <jbates@google.com>
     2
     3        Reviewed by Kenneth Russell.
     4
     5        Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
     6        https://bugs.webkit.org/show_bug.cgi?id=58383
     7
     8        * platform/graphics/chromium/LayerRendererChromium.cpp:
     9        (WebCore::LayerRendererChromium::addChildContext):
     10        (WebCore::LayerRendererChromium::removeChildContext):
     11        * platform/graphics/chromium/LayerRendererChromium.h:
     12
    1132011-04-14  Renata Hodovan  <reni@webkit.org>
    214
  • trunk/Source/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.cpp

    r83552 r83828  
    5757        layerRendererContext()->deleteTexture(m_textureId);
    5858    if (m_drawingBuffer && layerRenderer())
    59         layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D());
     59        layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get());
    6060}
    6161
     
    108108    if (drawingBuffer != m_drawingBuffer) {
    109109        if (m_drawingBuffer && layerRenderer())
    110             layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D());
     110            layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get());
    111111
    112112        m_drawingBuffer = drawingBuffer;
     
    114114
    115115        if (drawingBuffer && layerRenderer())
    116             layerRenderer()->addChildContext(m_drawingBuffer->graphicsContext3D());
     116            layerRenderer()->addChildContext(m_drawingBuffer->graphicsContext3D().get());
    117117    }
    118118}
     
    123123        if (m_drawingBuffer->graphicsContext3D()) {
    124124            if (layerRenderer())
    125                 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D());
     125                layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get());
    126126            if (newLayerRenderer)
    127                 newLayerRenderer->addChildContext(m_drawingBuffer->graphicsContext3D());
     127                newLayerRenderer->addChildContext(m_drawingBuffer->graphicsContext3D().get());
    128128        }
    129129
  • trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

    r83820 r83828  
    10351035}
    10361036
    1037 void LayerRendererChromium::addChildContext(PassRefPtr<GraphicsContext3D> pctx)
    1038 {
    1039     RefPtr<GraphicsContext3D> ctx = pctx;
     1037void LayerRendererChromium::addChildContext(GraphicsContext3D* ctx)
     1038{
    10401039    if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch"))
    10411040        return;
     
    10611060}
    10621061
    1063 void LayerRendererChromium::removeChildContext(PassRefPtr<GraphicsContext3D> pctx)
    1064 {
    1065     RefPtr<GraphicsContext3D> ctx = pctx;
     1062void LayerRendererChromium::removeChildContext(GraphicsContext3D* ctx)
     1063{
    10661064    if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch"))
    10671065        return;
  • trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h

    r83820 r83828  
    132132    String layerTreeAsText() const;
    133133
    134     void addChildContext(PassRefPtr<GraphicsContext3D>);
    135     void removeChildContext(PassRefPtr<GraphicsContext3D>);
     134    void addChildContext(GraphicsContext3D*);
     135    void removeChildContext(GraphicsContext3D*);
    136136
    137137private:
    138138    typedef Vector<RefPtr<CCLayerImpl> > LayerList;
    139     typedef HashMap<RefPtr<GraphicsContext3D>, int> ChildContextMap;
     139    typedef HashMap<GraphicsContext3D*, int> ChildContextMap;
    140140
    141141    explicit LayerRendererChromium(PassRefPtr<GraphicsContext3D>, PassOwnPtr<TilePaintInterface> contentPaint);
  • trunk/Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp

    r83552 r83828  
    9898            layerRenderer()->removeChildContext(m_context);
    9999        if (context)
    100             layerRenderer()->addChildContext(m_context);
     100            layerRenderer()->addChildContext(const_cast<GraphicsContext3D*>(context));
    101101    }
    102102
Note: See TracChangeset for help on using the changeset viewer.