Changeset 83828 in webkit
- Timestamp:
- Apr 14, 2011 2:27:58 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r83821 r83828 1 2011-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 1 13 2011-04-14 Renata Hodovan <reni@webkit.org> 2 14 -
trunk/Source/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.cpp
r83552 r83828 57 57 layerRendererContext()->deleteTexture(m_textureId); 58 58 if (m_drawingBuffer && layerRenderer()) 59 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D() );59 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get()); 60 60 } 61 61 … … 108 108 if (drawingBuffer != m_drawingBuffer) { 109 109 if (m_drawingBuffer && layerRenderer()) 110 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D() );110 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get()); 111 111 112 112 m_drawingBuffer = drawingBuffer; … … 114 114 115 115 if (drawingBuffer && layerRenderer()) 116 layerRenderer()->addChildContext(m_drawingBuffer->graphicsContext3D() );116 layerRenderer()->addChildContext(m_drawingBuffer->graphicsContext3D().get()); 117 117 } 118 118 } … … 123 123 if (m_drawingBuffer->graphicsContext3D()) { 124 124 if (layerRenderer()) 125 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D() );125 layerRenderer()->removeChildContext(m_drawingBuffer->graphicsContext3D().get()); 126 126 if (newLayerRenderer) 127 newLayerRenderer->addChildContext(m_drawingBuffer->graphicsContext3D() );127 newLayerRenderer->addChildContext(m_drawingBuffer->graphicsContext3D().get()); 128 128 } 129 129 -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
r83820 r83828 1035 1035 } 1036 1036 1037 void LayerRendererChromium::addChildContext(PassRefPtr<GraphicsContext3D> pctx) 1038 { 1039 RefPtr<GraphicsContext3D> ctx = pctx; 1037 void LayerRendererChromium::addChildContext(GraphicsContext3D* ctx) 1038 { 1040 1039 if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch")) 1041 1040 return; … … 1061 1060 } 1062 1061 1063 void LayerRendererChromium::removeChildContext(PassRefPtr<GraphicsContext3D> pctx) 1064 { 1065 RefPtr<GraphicsContext3D> ctx = pctx; 1062 void LayerRendererChromium::removeChildContext(GraphicsContext3D* ctx) 1063 { 1066 1064 if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch")) 1067 1065 return; -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
r83820 r83828 132 132 String layerTreeAsText() const; 133 133 134 void addChildContext( PassRefPtr<GraphicsContext3D>);135 void removeChildContext( PassRefPtr<GraphicsContext3D>);134 void addChildContext(GraphicsContext3D*); 135 void removeChildContext(GraphicsContext3D*); 136 136 137 137 private: 138 138 typedef Vector<RefPtr<CCLayerImpl> > LayerList; 139 typedef HashMap< RefPtr<GraphicsContext3D>, int> ChildContextMap;139 typedef HashMap<GraphicsContext3D*, int> ChildContextMap; 140 140 141 141 explicit LayerRendererChromium(PassRefPtr<GraphicsContext3D>, PassOwnPtr<TilePaintInterface> contentPaint); -
trunk/Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp
r83552 r83828 98 98 layerRenderer()->removeChildContext(m_context); 99 99 if (context) 100 layerRenderer()->addChildContext( m_context);100 layerRenderer()->addChildContext(const_cast<GraphicsContext3D*>(context)); 101 101 } 102 102
Note: See TracChangeset
for help on using the changeset viewer.