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

Changeset 181468 in webkit


Ignore:
Timestamp:
Mar 12, 2015, 7:01:42 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Remove DrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=142641

Patch by Zan Dobersek <zdobersek@igalia.com> on 2015-03-12
Reviewed by Darin Adler.

Remove the DrawingBuffer class. Objects of this type were only held in the
WebGLRenderingContext (later renamed to WebGLRenderingContextBase) on the
Chromium port, with the relevant code removed in r147888. Since then, the
m_drawingBuffer member variable has always been null.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::copyTexImage2D):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::copyTexImage2D):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::destroyGraphicsContext3D):
(WebCore::WebGLRenderingContextBase::markContextChanged):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContextBase::reshape):
(WebCore::WebGLRenderingContextBase::drawingBufferWidth):
(WebCore::WebGLRenderingContextBase::drawingBufferHeight):
(WebCore::WebGLRenderingContextBase::activeTexture):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::deleteFramebuffer):
(WebCore::WebGLRenderingContextBase::disable):
(WebCore::WebGLRenderingContextBase::enable):
(WebCore::WebGLRenderingContextBase::getContextAttributes):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::getBoundFramebufferWidth):
(WebCore::WebGLRenderingContextBase::getBoundFramebufferHeight):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::ScopedDrawingBufferBinder::ScopedDrawingBufferBinder): Deleted.
(WebCore::ScopedDrawingBufferBinder::~ScopedDrawingBufferBinder): Deleted.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/cairo/DrawingBufferCairo.cpp: Removed.
  • platform/graphics/gpu/DrawingBuffer.cpp: Removed.
  • platform/graphics/gpu/DrawingBuffer.h: Removed.
  • platform/graphics/gpu/mac/DrawingBufferMac.mm: Removed.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):

Location:
trunk/Source/WebCore
Files:
4 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r181408 r181468  
    30753075        platform/graphics/GraphicsContext3D.cpp
    30763076        platform/graphics/FormatConverter.cpp
    3077 
    3078         platform/graphics/gpu/DrawingBuffer.cpp
    30793077    )
    30803078endif ()
  • trunk/Source/WebCore/ChangeLog

    r181465 r181468  
     12015-03-12  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        Remove DrawingBuffer
     4        https://bugs.webkit.org/show_bug.cgi?id=142641
     5
     6        Reviewed by Darin Adler.
     7
     8        Remove the DrawingBuffer class. Objects of this type were only held in the
     9        WebGLRenderingContext (later renamed to WebGLRenderingContextBase) on the
     10        Chromium port, with the relevant code removed in r147888. Since then, the
     11        m_drawingBuffer member variable has always been null.
     12
     13        * CMakeLists.txt:
     14        * PlatformEfl.cmake:
     15        * PlatformGTK.cmake:
     16        * WebCore.vcxproj/WebCore.vcxproj:
     17        * WebCore.vcxproj/WebCore.vcxproj.filters:
     18        * WebCore.xcodeproj/project.pbxproj:
     19        * html/canvas/WebGL2RenderingContext.cpp:
     20        (WebCore::WebGL2RenderingContext::copyTexImage2D):
     21        * html/canvas/WebGLRenderingContext.cpp:
     22        (WebCore::WebGLRenderingContext::copyTexImage2D):
     23        * html/canvas/WebGLRenderingContextBase.cpp:
     24        (WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
     25        (WebCore::WebGLRenderingContextBase::initializeNewContext):
     26        (WebCore::WebGLRenderingContextBase::destroyGraphicsContext3D):
     27        (WebCore::WebGLRenderingContextBase::markContextChanged):
     28        (WebCore::WebGLRenderingContextBase::clearIfComposited):
     29        (WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
     30        (WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
     31        (WebCore::WebGLRenderingContextBase::reshape):
     32        (WebCore::WebGLRenderingContextBase::drawingBufferWidth):
     33        (WebCore::WebGLRenderingContextBase::drawingBufferHeight):
     34        (WebCore::WebGLRenderingContextBase::activeTexture):
     35        (WebCore::WebGLRenderingContextBase::bindFramebuffer):
     36        (WebCore::WebGLRenderingContextBase::bindTexture):
     37        (WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
     38        (WebCore::WebGLRenderingContextBase::deleteFramebuffer):
     39        (WebCore::WebGLRenderingContextBase::disable):
     40        (WebCore::WebGLRenderingContextBase::enable):
     41        (WebCore::WebGLRenderingContextBase::getContextAttributes):
     42        (WebCore::WebGLRenderingContextBase::readPixels):
     43        (WebCore::WebGLRenderingContextBase::loseContextImpl):
     44        (WebCore::WebGLRenderingContextBase::getBoundFramebufferWidth):
     45        (WebCore::WebGLRenderingContextBase::getBoundFramebufferHeight):
     46        (WebCore::WebGLRenderingContextBase::maybeRestoreContext):
     47        * html/canvas/WebGLRenderingContextBase.h:
     48        (WebCore::ScopedDrawingBufferBinder::ScopedDrawingBufferBinder): Deleted.
     49        (WebCore::ScopedDrawingBufferBinder::~ScopedDrawingBufferBinder): Deleted.
     50        * platform/graphics/GraphicsContext.h:
     51        * platform/graphics/GraphicsContext3D.h:
     52        * platform/graphics/cairo/DrawingBufferCairo.cpp: Removed.
     53        * platform/graphics/gpu/DrawingBuffer.cpp: Removed.
     54        * platform/graphics/gpu/DrawingBuffer.h: Removed.
     55        * platform/graphics/gpu/mac/DrawingBufferMac.mm: Removed.
     56        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
     57        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
     58        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
     59
    1602015-03-12  Ryosuke Niwa  <rniwa@webkit.org>
    261
  • trunk/Source/WebCore/PlatformEfl.cmake

    r181385 r181468  
    114114    platform/graphics/cairo/BitmapImageCairo.cpp
    115115    platform/graphics/cairo/CairoUtilities.cpp
    116     platform/graphics/cairo/DrawingBufferCairo.cpp
    117116    platform/graphics/cairo/FontCairo.cpp
    118117    platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
  • trunk/Source/WebCore/PlatformGTK.cmake

    r181385 r181468  
    7272    platform/graphics/cairo/BitmapImageCairo.cpp
    7373    platform/graphics/cairo/CairoUtilities.cpp
    74     platform/graphics/cairo/DrawingBufferCairo.cpp
    7574    platform/graphics/cairo/FloatRectCairo.cpp
    7675    platform/graphics/cairo/FontCairo.cpp
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r181408 r181468  
    74337433    </ClCompile>
    74347434    <ClCompile Include="..\platform\graphics\egl\GLContextEGL.cpp" />
    7435     <ClCompile Include="..\platform\graphics\gpu\DrawingBuffer.cpp" />
    74367435    <ClCompile Include="..\platform\graphics\gpu\Texture.cpp" />
    74377436    <ClCompile Include="..\platform\graphics\gpu\TilingData.cpp" />
     
    1945019449    </ClInclude>
    1945119450    <ClInclude Include="..\platform\graphics\egl\GLContextEGL.h" />
    19452     <ClInclude Include="..\platform\graphics\gpu\DrawingBuffer.h" />
    1945319451    <ClInclude Include="..\platform\graphics\gpu\Texture.h" />
    1945419452    <ClInclude Include="..\platform\graphics\gpu\TilingData.h" />
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters

    r181408 r181468  
    65126512      <Filter>platform\graphics</Filter>
    65136513    </ClCompile>
    6514     <ClCompile Include="..\platform\graphics\gpu\DrawingBuffer.cpp">
    6515       <Filter>platform\graphics\gpu</Filter>
    6516     </ClCompile>
    65176514    <ClCompile Include="..\platform\graphics\gpu\Texture.cpp">
    65186515      <Filter>platform\graphics\gpu</Filter>
     
    1388913886    <ClInclude Include="..\platform\graphics\OpenGLShims.h">
    1389013887      <Filter>platform\graphics</Filter>
    13891     </ClInclude>
    13892     <ClInclude Include="..\platform\graphics\gpu\DrawingBuffer.h">
    13893       <Filter>platform\graphics\gpu</Filter>
    1389413888    </ClInclude>
    1389513889    <ClInclude Include="..\platform\graphics\gpu\Texture.h">
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r181423 r181468  
    16661666                498391580F1E776900C23782 /* WebKitCSSMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498391550F1E776900C23782 /* WebKitCSSMatrix.cpp */; };
    16671667                498391590F1E776900C23782 /* WebKitCSSMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 498391560F1E776900C23782 /* WebKitCSSMatrix.h */; };
    1668                 498770DB1242C535002226BA /* DrawingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770C21242C535002226BA /* DrawingBuffer.cpp */; };
    1669                 498770DC1242C535002226BA /* DrawingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770C31242C535002226BA /* DrawingBuffer.h */; };
    16701668                498770F01242C535002226BA /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770D71242C535002226BA /* Texture.cpp */; };
    16711669                498770F11242C535002226BA /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770D81242C535002226BA /* Texture.h */; };
    16721670                498770F21242C535002226BA /* TilingData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770D91242C535002226BA /* TilingData.cpp */; };
    16731671                498770F31242C535002226BA /* TilingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770DA1242C535002226BA /* TilingData.h */; };
    1674                 498771531243F9FA002226BA /* DrawingBufferMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 498771521243F9FA002226BA /* DrawingBufferMac.mm */; };
    16751672                4998AEC613F9D0EA0090B1AA /* RequestAnimationFrameCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 4998AEC413F9D0EA0090B1AA /* RequestAnimationFrameCallback.h */; };
    16761673                4998AECD13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4998AECB13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp */; };
     
    87998796                498391560F1E776900C23782 /* WebKitCSSMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSMatrix.h; sourceTree = "<group>"; };
    88008797                498391570F1E776900C23782 /* WebKitCSSMatrix.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitCSSMatrix.idl; sourceTree = "<group>"; };
    8801                 498770C21242C535002226BA /* DrawingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DrawingBuffer.cpp; path = gpu/DrawingBuffer.cpp; sourceTree = "<group>"; };
    8802                 498770C31242C535002226BA /* DrawingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DrawingBuffer.h; path = gpu/DrawingBuffer.h; sourceTree = "<group>"; };
    88038798                498770D71242C535002226BA /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Texture.cpp; path = gpu/Texture.cpp; sourceTree = "<group>"; };
    88048799                498770D81242C535002226BA /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Texture.h; path = gpu/Texture.h; sourceTree = "<group>"; };
    88058800                498770D91242C535002226BA /* TilingData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TilingData.cpp; path = gpu/TilingData.cpp; sourceTree = "<group>"; };
    88068801                498770DA1242C535002226BA /* TilingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TilingData.h; path = gpu/TilingData.h; sourceTree = "<group>"; };
    8807                 498771521243F9FA002226BA /* DrawingBufferMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DrawingBufferMac.mm; path = gpu/mac/DrawingBufferMac.mm; sourceTree = "<group>"; };
    88088802                4998AEC413F9D0EA0090B1AA /* RequestAnimationFrameCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RequestAnimationFrameCallback.h; sourceTree = "<group>"; };
    88098803                4998AEC513F9D0EA0090B1AA /* RequestAnimationFrameCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RequestAnimationFrameCallback.idl; sourceTree = "<group>"; };
     
    1607316067                        children = (
    1607416068                                498771161242CD7F002226BA /* mac */,
    16075                                 498770C21242C535002226BA /* DrawingBuffer.cpp */,
    16076                                 498770C31242C535002226BA /* DrawingBuffer.h */,
    1607716069                                498770D71242C535002226BA /* Texture.cpp */,
    1607816070                                498770D81242C535002226BA /* Texture.h */,
     
    1608116073                        );
    1608216074                        name = gpu;
    16083                         sourceTree = "<group>";
    16084                 };
    16085                 498771161242CD7F002226BA /* mac */ = {
    16086                         isa = PBXGroup;
    16087                         children = (
    16088                                 498771521243F9FA002226BA /* DrawingBufferMac.mm */,
    16089                         );
    16090                         name = mac;
    1609116075                        sourceTree = "<group>";
    1609216076                };
     
    2444524429                                A7CFB3D20B7ED10A0070C32D /* DragImage.h in Headers */,
    2444624430                                81F65FF613788FAA00FF6F2D /* DragState.h in Headers */,
    24447                                 498770DC1242C535002226BA /* DrawingBuffer.h in Headers */,
    2444824431                                E1BA66F11742BD8600C20251 /* DynamicLinkerInterposing.h in Headers */,
    2444924432                                CE1252451A16C22500864480 /* DynamicLinkerSPI.h in Headers */,
     
    2795927942                                0FDA7C23188330A900C954B5 /* DragImageIOS.mm in Sources */,
    2796027943                                A7CFB3D50B7ED1180070C32D /* DragImageMac.mm in Sources */,
    27961                                 498770DB1242C535002226BA /* DrawingBuffer.cpp in Sources */,
    27962                                 498771531243F9FA002226BA /* DrawingBufferMac.mm in Sources */,
    2796327944                                FD6ED2C7136B8E66003CF072 /* DynamicsCompressor.cpp in Sources */,
    2796427945                                FD537356137B653B00008DCE /* DynamicsCompressorKernel.cpp in Sources */,
  • trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp

    r180285 r181468  
    10931093    }
    10941094    clearIfComposited();
    1095     if (isResourceSafe()) {
    1096         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     1095    if (isResourceSafe())
    10971096        m_context->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
    1098     } else {
    1099         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     1097    else {
    11001098        GC3Dint clippedX, clippedY;
    11011099        GC3Dsizei clippedWidth, clippedHeight;
  • trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp

    r180285 r181468  
    442442    }
    443443    clearIfComposited();
    444     if (isResourceSafe()) {
    445         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     444    if (isResourceSafe())
    446445        m_context->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
    447     } else {
    448         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     446    else {
    449447        GC3Dint clippedX, clippedY;
    450448        GC3Dsizei clippedWidth, clippedHeight;
  • trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp

    r180839 r181468  
    430430    , ActiveDOMObject(&passedCanvas->document())
    431431    , m_context(0)
    432     , m_drawingBuffer(0)
    433432    , m_dispatchContextLostEventTimer(*this, &WebGLRenderingContextBase::dispatchContextLostEvent)
    434433    , m_restoreAllowed(false)
     
    449448    , ActiveDOMObject(&passedCanvas->document())
    450449    , m_context(context)
    451     , m_drawingBuffer(0)
    452450    , m_dispatchContextLostEventTimer(*this, &WebGLRenderingContextBase::dispatchContextLostEvent)
    453451    , m_restoreAllowed(false)
     
    470468    m_maxViewportDims[0] = m_maxViewportDims[1] = 0;
    471469    m_context->getIntegerv(GraphicsContext3D::MAX_VIEWPORT_DIMS, m_maxViewportDims);
    472 
    473     if (m_drawingBuffer)
    474         m_drawingBuffer->bind();
    475470
    476471    setupFlags();
     
    548543
    549544    IntSize canvasSize = clampedCanvasSize();
    550     if (m_drawingBuffer)
    551         m_drawingBuffer->reset(canvasSize);
    552 
    553545    m_context->reshape(canvasSize.width(), canvasSize.height());
    554546    m_context->viewport(0, 0, canvasSize.width(), canvasSize.height());
     
    624616        return;
    625617
    626     // The drawing buffer holds a context reference. It must also be destroyed
    627     // in order for the context to be released.
    628     if (m_drawingBuffer)
    629         m_drawingBuffer.clear();
    630 
    631618    if (m_context) {
    632619        m_context->setContextLostCallback(nullptr);
     
    642629
    643630    m_context->markContextChanged();
    644 
    645     if (m_drawingBuffer)
    646         m_drawingBuffer->markContentsChanged();
    647631
    648632    m_layerCleared = false;
     
    698682        m_context->stencilMaskSeparate(GraphicsContext3D::FRONT, 0xFFFFFFFF);
    699683    }
    700     if (m_drawingBuffer)
    701         m_drawingBuffer->clearFramebuffers(clearMask);
    702     else {
    703         if (m_framebufferBinding)
    704             m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
    705         m_context->clear(clearMask);
    706     }
     684    if (m_framebufferBinding)
     685        m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
     686    m_context->clear(clearMask);
    707687
    708688    restoreStateAfterClear();
     
    760740    m_markedCanvasDirty = false;
    761741
    762     if (m_drawingBuffer)
    763         m_drawingBuffer->commit();
    764     m_context->paintRenderingResultsToCanvas(canvas()->buffer(), m_drawingBuffer.get());
    765 
    766     if (m_drawingBuffer) {
    767         if (m_framebufferBinding)
    768             m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, objectOrZero(m_framebufferBinding.get()));
    769         else
    770             m_drawingBuffer->bind();
    771     }
     742    m_context->paintRenderingResultsToCanvas(canvas()->buffer());
    772743}
    773744
     
    777748        return nullptr;
    778749    clearIfComposited();
    779     if (m_drawingBuffer)
    780         m_drawingBuffer->commit();
    781     RefPtr<ImageData> imageData = m_context->paintRenderingResultsToImageData(m_drawingBuffer.get());
    782 
    783     if (m_drawingBuffer) {
    784         if (m_framebufferBinding)
    785             m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, objectOrZero(m_framebufferBinding.get()));
    786         else
    787             m_drawingBuffer->bind();
    788     }
    789 
    790     return imageData;
     750    return m_context->paintRenderingResultsToImageData();
    791751}
    792752
     
    816776    // We don't have to mark the canvas as dirty, since the newly created image buffer will also start off
    817777    // clear (and this matches what reshape will do).
    818     if (m_drawingBuffer) {
    819         m_drawingBuffer->reset(IntSize(width, height));
    820         restoreStateAfterClear();
    821     } else
    822         m_context->reshape(width, height);
     778    m_context->reshape(width, height);
    823779
    824780    m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, objectOrZero(m_textureUnits[m_activeTextureUnit].texture2DBinding.get()));
     
    830786int WebGLRenderingContextBase::drawingBufferWidth() const
    831787{
    832     if (m_drawingBuffer)
    833         return m_drawingBuffer->size().width();
    834 
    835788    return m_context->getInternalFramebufferSize().width();
    836789}
     
    838791int WebGLRenderingContextBase::drawingBufferHeight() const
    839792{
    840     if (m_drawingBuffer)
    841         return m_drawingBuffer->size().height();
    842 
    843793    return m_context->getInternalFramebufferSize().height();
    844794}
     
    877827    m_activeTextureUnit = texture - GraphicsContext3D::TEXTURE0;
    878828    m_context->activeTexture(texture);
    879 
    880     if (m_drawingBuffer)
    881         m_drawingBuffer->setActiveTextureUnit(texture);
    882829}
    883830
     
    969916    }
    970917    m_framebufferBinding = buffer;
    971     if (m_drawingBuffer)
    972         m_drawingBuffer->setFramebufferBinding(objectOrZero(m_framebufferBinding.get()));
    973     if (!m_framebufferBinding && m_drawingBuffer) {
    974         // Instead of binding fb 0, bind the drawing buffer.
    975         m_drawingBuffer->bind();
    976     } else
    977         m_context->bindFramebuffer(target, objectOrZero(buffer));
     918    m_context->bindFramebuffer(target, objectOrZero(buffer));
    978919    if (buffer)
    979920        buffer->setHasEverBeenBound();
     
    1015956        m_textureUnits[m_activeTextureUnit].texture2DBinding = texture;
    1016957        maxLevel = m_maxTextureLevel;
    1017 
    1018         if (m_drawingBuffer && !m_activeTextureUnit)
    1019             m_drawingBuffer->setTexture2DBinding(objectOrZero(texture));
    1020 
    1021958    } else if (target == GraphicsContext3D::TEXTURE_CUBE_MAP) {
    1022959        m_textureUnits[m_activeTextureUnit].textureCubeMapBinding = texture;
     
    14311368    }
    14321369    clearIfComposited();
    1433     if (isResourceSafe()) {
    1434         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     1370    if (isResourceSafe())
    14351371        m_context->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
    1436     } else {
     1372    else {
    14371373        GC3Dint clippedX, clippedY;
    14381374        GC3Dsizei clippedWidth, clippedHeight;
     
    14561392            }
    14571393            m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, zero.get());
    1458             if (clippedWidth > 0 && clippedHeight > 0) {
    1459                 ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     1394            if (clippedWidth > 0 && clippedHeight > 0)
    14601395                m_context->copyTexSubImage2D(target, level, xoffset + clippedX - x, yoffset + clippedY - y,
    14611396                                             clippedX, clippedY, clippedWidth, clippedHeight);
    1462             }
    1463         } else {
    1464             ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
     1397        } else
    14651398            m_context->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
    1466         }
    14671399    }
    14681400}
     
    15661498    if (framebuffer == m_framebufferBinding) {
    15671499        m_framebufferBinding = 0;
    1568         if (m_drawingBuffer) {
    1569             m_drawingBuffer->setFramebufferBinding(0);
    1570             // Have to call bindFramebuffer here to bind back to internal fbo.
    1571             m_drawingBuffer->bind();
    1572         } else
    1573             m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
     1500        m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
    15741501    }
    15751502}
     
    16591586        return;
    16601587    }
    1661     if (cap == GraphicsContext3D::SCISSOR_TEST) {
     1588    if (cap == GraphicsContext3D::SCISSOR_TEST)
    16621589        m_scissorEnabled = false;
    1663         if (m_drawingBuffer)
    1664             m_drawingBuffer->setScissorEnabled(m_scissorEnabled);
    1665     }
    16661590    m_context->disable(cap);
    16671591}
     
    19531877        return;
    19541878    }
    1955     if (cap == GraphicsContext3D::SCISSOR_TEST) {
     1879    if (cap == GraphicsContext3D::SCISSOR_TEST)
    19561880        m_scissorEnabled = true;
    1957         if (m_drawingBuffer)
    1958             m_drawingBuffer->setScissorEnabled(m_scissorEnabled);
    1959     }
    19601881    m_context->enable(cap);
    19611882}
     
    22042125    // Also, we need to enforce requested values of "false" for depth
    22052126    // and stencil, regardless of the properties of the underlying
    2206     // GraphicsContext3D or DrawingBuffer.
     2127    // GraphicsContext3D.
    22072128    RefPtr<WebGLContextAttributes> attributes = WebGLContextAttributes::create(m_context->getContextAttributes());
    22082129    if (!m_attributes.depth)
     
    22102131    if (!m_attributes.stencil)
    22112132        attributes->setStencil(false);
    2212     if (m_drawingBuffer) {
    2213         // The DrawingBuffer obtains its parameters from GraphicsContext3D::getContextAttributes(),
    2214         // but it makes its own determination of whether multisampling is supported.
    2215         attributes->setAntialias(m_drawingBuffer->multisample());
    2216     }
    22172133    return attributes.release();
    22182134}
     
    28682784
    28692785    {
    2870         ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
    28712786        if (m_isRobustnessEXTSupported)
    28722787            m_context->getExtensions()->readnPixelsEXT(x, y, width, height, format, type, pixels->byteLength(), data);
     
    38283743
    38293744    detachAndRemoveAllObjects();
    3830 
    3831     if (m_drawingBuffer) {
    3832         // Make absolutely sure we do not refer to an already-deleted texture or framebuffer.
    3833         m_drawingBuffer->setTexture2DBinding(0);
    3834         m_drawingBuffer->setFramebufferBinding(0);
    3835     }
    38363745
    38373746    // There is no direct way to clear errors from a GL implementation and
     
    41194028    if (m_framebufferBinding && m_framebufferBinding->object())
    41204029        return m_framebufferBinding->getColorBufferWidth();
    4121     return m_drawingBuffer ? m_drawingBuffer->size().width() : m_context->getInternalFramebufferSize().width();
     4030    return m_context->getInternalFramebufferSize().width();
    41224031}
    41234032
     
    41264035    if (m_framebufferBinding && m_framebufferBinding->object())
    41274036        return m_framebufferBinding->getColorBufferHeight();
    4128     return m_drawingBuffer ? m_drawingBuffer->size().height() : m_context->getInternalFramebufferSize().height();
     4037    return m_context->getInternalFramebufferSize().height();
    41294038}
    41304039
     
    48414750            synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, "", "error restoring context");
    48424751        return;
    4843     }
    4844 
    4845     // Construct a new drawing buffer with the new GraphicsContext3D.
    4846     if (m_drawingBuffer) {
    4847         m_drawingBuffer->discardResources();
    4848         DrawingBuffer::PreserveDrawingBuffer preserve = m_attributes.preserveDrawingBuffer ? DrawingBuffer::Preserve : DrawingBuffer::Discard;
    4849         DrawingBuffer::AlphaRequirement alpha = m_attributes.alpha ? DrawingBuffer::Alpha : DrawingBuffer::Opaque;
    4850         m_drawingBuffer = DrawingBuffer::create(context.get(), m_drawingBuffer->size(), preserve, alpha);
    4851         m_drawingBuffer->bind();
    48524752    }
    48534753
  • trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h

    r180801 r181468  
    2929#include "ActiveDOMObject.h"
    3030#include "CanvasRenderingContext.h"
    31 #include "DrawingBuffer.h"
    3231#include "GraphicsContext3D.h"
    3332#include "ImageBuffer.h"
     
    8786typedef int ExceptionCode;
    8887
    89 class ScopedDrawingBufferBinder {
    90 public:
    91     ScopedDrawingBufferBinder(DrawingBuffer* drawingBuffer, WebGLFramebuffer* framebufferBinding)
    92         : m_drawingBuffer(drawingBuffer)
    93         , m_framebufferBinding(framebufferBinding)
    94     {
    95         // Commit DrawingBuffer if needed (e.g., for multisampling)
    96         if (!m_framebufferBinding && m_drawingBuffer)
    97             m_drawingBuffer->commit();
    98     }
    99    
    100     ~ScopedDrawingBufferBinder()
    101     {
    102         // Restore DrawingBuffer if needed
    103         if (!m_framebufferBinding && m_drawingBuffer)
    104             m_drawingBuffer->bind();
    105     }
    106    
    107 private:
    108     DrawingBuffer* m_drawingBuffer;
    109     WebGLFramebuffer* m_framebufferBinding;
    110 };
    111 
    11288inline void clip1D(GC3Dint start, GC3Dsizei range, GC3Dsizei sourceRange, GC3Dint* clippedStart, GC3Dsizei* clippedRange)
    11389{
     
    456432    RefPtr<GraphicsContext3D> m_context;
    457433    RefPtr<WebGLContextGroup> m_contextGroup;
    458 
    459     // Optional structure for rendering to a DrawingBuffer, instead of directly
    460     // to the back-buffer of m_context.
    461     RefPtr<DrawingBuffer> m_drawingBuffer;
    462434
    463435    // Dispatches a context lost event once it is determined that one is needed.
  • trunk/Source/WebCore/platform/graphics/GraphicsContext.h

    r180523 r181468  
    7474
    7575    class AffineTransform;
    76     class DrawingBuffer;
    7776    class FloatRoundedRect;
    7877    class Gradient;
  • trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h

    r180609 r181468  
    8585
    8686namespace WebCore {
    87 class DrawingBuffer;
    8887class Extensions3D;
    8988#if USE(OPENGL_ES_2)
     
    11331132    void forceContextLost();
    11341133
    1135     void paintRenderingResultsToCanvas(ImageBuffer*, DrawingBuffer*);
    1136     PassRefPtr<ImageData> paintRenderingResultsToImageData(DrawingBuffer*);
     1134    void paintRenderingResultsToCanvas(ImageBuffer*);
     1135    PassRefPtr<ImageData> paintRenderingResultsToImageData();
    11371136    bool paintCompositedResultsToCanvas(ImageBuffer*);
    11381137
  • trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp

    r181323 r181468  
    146146}
    147147
    148 void GraphicsContext3D::paintRenderingResultsToCanvas(ImageBuffer* imageBuffer, DrawingBuffer*)
     148void GraphicsContext3D::paintRenderingResultsToCanvas(ImageBuffer* imageBuffer)
    149149{
    150150    int rowBytes = m_currentWidth * 4;
     
    185185}
    186186
    187 PassRefPtr<ImageData> GraphicsContext3D::paintRenderingResultsToImageData(DrawingBuffer*)
     187PassRefPtr<ImageData> GraphicsContext3D::paintRenderingResultsToImageData()
    188188{
    189189    // Reading premultiplied alpha would involve unpremultiplying, which is
Note: See TracChangeset for help on using the changeset viewer.