<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[181468] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/181468">181468</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-03-12 19:01:42 -0700 (Thu, 12 Mar 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove DrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=142641

Patch by Zan Dobersek &lt;zdobersek@igalia.com&gt; 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 <a href="http://trac.webkit.org/projects/webkit/changeset/147888">r147888</a>. 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):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorePlatformEflcmake">trunk/Source/WebCore/PlatformEfl.cmake</a></li>
<li><a href="#trunkSourceWebCorePlatformGTKcmake">trunk/Source/WebCore/PlatformGTK.cmake</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseh">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContexth">trunk/Source/WebCore/platform/graphics/GraphicsContext.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContext3Dh">trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopenglGraphicsContext3DOpenGLCommoncpp">trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicscairoDrawingBufferCairocpp">trunk/Source/WebCore/platform/graphics/cairo/DrawingBufferCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpuDrawingBuffercpp">trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpuDrawingBufferh">trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h</a></li>
<li>trunk/Source/WebCore/platform/graphics/gpu/mac/</li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -3074,8 +3074,6 @@
</span><span class="cx">         platform/graphics/ANGLEWebKitBridge.cpp
</span><span class="cx">         platform/graphics/GraphicsContext3D.cpp
</span><span class="cx">         platform/graphics/FormatConverter.cpp
</span><del>-
-        platform/graphics/gpu/DrawingBuffer.cpp
</del><span class="cx">     )
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/ChangeLog        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1,3 +1,62 @@
</span><ins>+2015-03-12  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        Remove DrawingBuffer
+        https://bugs.webkit.org/show_bug.cgi?id=142641
+
+        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):
+
</ins><span class="cx"> 2015-03-12  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r180726): Removing an empty line at the end of textarea clears the entire texture
</span></span></pre></div>
<a id="trunkSourceWebCorePlatformEflcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/PlatformEfl.cmake (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/PlatformEfl.cmake        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/PlatformEfl.cmake        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -113,7 +113,6 @@
</span><span class="cx">     platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp
</span><span class="cx">     platform/graphics/cairo/BitmapImageCairo.cpp
</span><span class="cx">     platform/graphics/cairo/CairoUtilities.cpp
</span><del>-    platform/graphics/cairo/DrawingBufferCairo.cpp
</del><span class="cx">     platform/graphics/cairo/FontCairo.cpp
</span><span class="cx">     platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
</span><span class="cx">     platform/graphics/cairo/GradientCairo.cpp
</span></span></pre></div>
<a id="trunkSourceWebCorePlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/PlatformGTK.cmake (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/PlatformGTK.cmake        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/PlatformGTK.cmake        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -71,7 +71,6 @@
</span><span class="cx">     platform/graphics/cairo/BackingStoreBackendCairoX11.cpp
</span><span class="cx">     platform/graphics/cairo/BitmapImageCairo.cpp
</span><span class="cx">     platform/graphics/cairo/CairoUtilities.cpp
</span><del>-    platform/graphics/cairo/DrawingBufferCairo.cpp
</del><span class="cx">     platform/graphics/cairo/FloatRectCairo.cpp
</span><span class="cx">     platform/graphics/cairo/FontCairo.cpp
</span><span class="cx">     platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -7432,7 +7432,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\egl\GLContextEGL.cpp&quot; /&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\platform\graphics\gpu\DrawingBuffer.cpp&quot; /&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\gpu\Texture.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\gpu\TilingData.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\FormatConverter.cpp&quot; /&gt;
</span><span class="lines">@@ -19449,7 +19448,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\egl\GLContextEGL.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\platform\graphics\gpu\DrawingBuffer.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\gpu\Texture.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\gpu\TilingData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\FormatConverter.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -6511,9 +6511,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\OpenGLShims.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\graphics&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\platform\graphics\gpu\DrawingBuffer.cpp&quot;&gt;
-      &lt;Filter&gt;platform\graphics\gpu&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\gpu\Texture.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\graphics\gpu&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -13889,9 +13886,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\OpenGLShims.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\graphics&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\platform\graphics\gpu\DrawingBuffer.h&quot;&gt;
-      &lt;Filter&gt;platform\graphics\gpu&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\gpu\Texture.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\graphics\gpu&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1665,13 +1665,10 @@
</span><span class="cx">                 498391520F1E76B400C23782 /* DOMWebKitCSSMatrixInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4983914F0F1E76B400C23782 /* DOMWebKitCSSMatrixInternal.h */; };
</span><span class="cx">                 498391580F1E776900C23782 /* WebKitCSSMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498391550F1E776900C23782 /* WebKitCSSMatrix.cpp */; };
</span><span class="cx">                 498391590F1E776900C23782 /* WebKitCSSMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 498391560F1E776900C23782 /* WebKitCSSMatrix.h */; };
</span><del>-                498770DB1242C535002226BA /* DrawingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770C21242C535002226BA /* DrawingBuffer.cpp */; };
-                498770DC1242C535002226BA /* DrawingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770C31242C535002226BA /* DrawingBuffer.h */; };
</del><span class="cx">                 498770F01242C535002226BA /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770D71242C535002226BA /* Texture.cpp */; };
</span><span class="cx">                 498770F11242C535002226BA /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770D81242C535002226BA /* Texture.h */; };
</span><span class="cx">                 498770F21242C535002226BA /* TilingData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 498770D91242C535002226BA /* TilingData.cpp */; };
</span><span class="cx">                 498770F31242C535002226BA /* TilingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 498770DA1242C535002226BA /* TilingData.h */; };
</span><del>-                498771531243F9FA002226BA /* DrawingBufferMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 498771521243F9FA002226BA /* DrawingBufferMac.mm */; };
</del><span class="cx">                 4998AEC613F9D0EA0090B1AA /* RequestAnimationFrameCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 4998AEC413F9D0EA0090B1AA /* RequestAnimationFrameCallback.h */; };
</span><span class="cx">                 4998AECD13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4998AECB13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp */; };
</span><span class="cx">                 4998AECE13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 4998AECC13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.h */; };
</span><span class="lines">@@ -8798,13 +8795,10 @@
</span><span class="cx">                 498391550F1E776900C23782 /* WebKitCSSMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitCSSMatrix.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 498391560F1E776900C23782 /* WebKitCSSMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSMatrix.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 498391570F1E776900C23782 /* WebKitCSSMatrix.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitCSSMatrix.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                498770C21242C535002226BA /* DrawingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DrawingBuffer.cpp; path = gpu/DrawingBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                498770C31242C535002226BA /* DrawingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DrawingBuffer.h; path = gpu/DrawingBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 498770D71242C535002226BA /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Texture.cpp; path = gpu/Texture.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 498770D81242C535002226BA /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Texture.h; path = gpu/Texture.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 498770D91242C535002226BA /* TilingData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TilingData.cpp; path = gpu/TilingData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 498770DA1242C535002226BA /* TilingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TilingData.h; path = gpu/TilingData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                498771521243F9FA002226BA /* DrawingBufferMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DrawingBufferMac.mm; path = gpu/mac/DrawingBufferMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 4998AEC413F9D0EA0090B1AA /* RequestAnimationFrameCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RequestAnimationFrameCallback.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4998AEC513F9D0EA0090B1AA /* RequestAnimationFrameCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RequestAnimationFrameCallback.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4998AECB13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRequestAnimationFrameCallback.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16072,8 +16066,6 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 498771161242CD7F002226BA /* mac */,
</span><del>-                                498770C21242C535002226BA /* DrawingBuffer.cpp */,
-                                498770C31242C535002226BA /* DrawingBuffer.h */,
</del><span class="cx">                                 498770D71242C535002226BA /* Texture.cpp */,
</span><span class="cx">                                 498770D81242C535002226BA /* Texture.h */,
</span><span class="cx">                                 498770D91242C535002226BA /* TilingData.cpp */,
</span><span class="lines">@@ -16082,14 +16074,6 @@
</span><span class="cx">                         name = gpu;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><del>-                498771161242CD7F002226BA /* mac */ = {
-                        isa = PBXGroup;
-                        children = (
-                                498771521243F9FA002226BA /* DrawingBufferMac.mm */,
-                        );
-                        name = mac;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
</del><span class="cx">                 499B3EC0128CCC1800E726C2 /* ca */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -24444,7 +24428,6 @@
</span><span class="cx">                                 A7B6E69F0B291A9600D0529F /* DragData.h in Headers */,
</span><span class="cx">                                 A7CFB3D20B7ED10A0070C32D /* DragImage.h in Headers */,
</span><span class="cx">                                 81F65FF613788FAA00FF6F2D /* DragState.h in Headers */,
</span><del>-                                498770DC1242C535002226BA /* DrawingBuffer.h in Headers */,
</del><span class="cx">                                 E1BA66F11742BD8600C20251 /* DynamicLinkerInterposing.h in Headers */,
</span><span class="cx">                                 CE1252451A16C22500864480 /* DynamicLinkerSPI.h in Headers */,
</span><span class="cx">                                 FD6ED2C8136B8E66003CF072 /* DynamicsCompressor.h in Headers */,
</span><span class="lines">@@ -27958,8 +27941,6 @@
</span><span class="cx">                                 A7CFB3D10B7ED10A0070C32D /* DragImage.cpp in Sources */,
</span><span class="cx">                                 0FDA7C23188330A900C954B5 /* DragImageIOS.mm in Sources */,
</span><span class="cx">                                 A7CFB3D50B7ED1180070C32D /* DragImageMac.mm in Sources */,
</span><del>-                                498770DB1242C535002226BA /* DrawingBuffer.cpp in Sources */,
-                                498771531243F9FA002226BA /* DrawingBufferMac.mm in Sources */,
</del><span class="cx">                                 FD6ED2C7136B8E66003CF072 /* DynamicsCompressor.cpp in Sources */,
</span><span class="cx">                                 FD537356137B653B00008DCE /* DynamicsCompressorKernel.cpp in Sources */,
</span><span class="cx">                                 FD6ED2C3136B8E42003CF072 /* DynamicsCompressorNode.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1092,11 +1092,9 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     clearIfComposited();
</span><del>-    if (isResourceSafe()) {
-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+    if (isResourceSafe())
</ins><span class="cx">         m_context-&gt;copyTexImage2D(target, level, internalformat, x, y, width, height, border);
</span><del>-    } else {
-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+    else {
</ins><span class="cx">         GC3Dint clippedX, clippedY;
</span><span class="cx">         GC3Dsizei clippedWidth, clippedHeight;
</span><span class="cx">         if (clip2D(x, y, width, height, getBoundFramebufferWidth(), getBoundFramebufferHeight(), &amp;clippedX, &amp;clippedY, &amp;clippedWidth, &amp;clippedHeight)) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -441,11 +441,9 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     clearIfComposited();
</span><del>-    if (isResourceSafe()) {
-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+    if (isResourceSafe())
</ins><span class="cx">         m_context-&gt;copyTexImage2D(target, level, internalformat, x, y, width, height, border);
</span><del>-    } else {
-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+    else {
</ins><span class="cx">         GC3Dint clippedX, clippedY;
</span><span class="cx">         GC3Dsizei clippedWidth, clippedHeight;
</span><span class="cx">         if (clip2D(x, y, width, height, getBoundFramebufferWidth(), getBoundFramebufferHeight(), &amp;clippedX, &amp;clippedY, &amp;clippedWidth, &amp;clippedHeight)) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -429,7 +429,6 @@
</span><span class="cx">     : CanvasRenderingContext(passedCanvas)
</span><span class="cx">     , ActiveDOMObject(&amp;passedCanvas-&gt;document())
</span><span class="cx">     , m_context(0)
</span><del>-    , m_drawingBuffer(0)
</del><span class="cx">     , m_dispatchContextLostEventTimer(*this, &amp;WebGLRenderingContextBase::dispatchContextLostEvent)
</span><span class="cx">     , m_restoreAllowed(false)
</span><span class="cx">     , m_restoreTimer(*this, &amp;WebGLRenderingContextBase::maybeRestoreContext)
</span><span class="lines">@@ -448,7 +447,6 @@
</span><span class="cx">     : CanvasRenderingContext(passedCanvas)
</span><span class="cx">     , ActiveDOMObject(&amp;passedCanvas-&gt;document())
</span><span class="cx">     , m_context(context)
</span><del>-    , m_drawingBuffer(0)
</del><span class="cx">     , m_dispatchContextLostEventTimer(*this, &amp;WebGLRenderingContextBase::dispatchContextLostEvent)
</span><span class="cx">     , m_restoreAllowed(false)
</span><span class="cx">     , m_restoreTimer(*this, &amp;WebGLRenderingContextBase::maybeRestoreContext)
</span><span class="lines">@@ -470,9 +468,6 @@
</span><span class="cx">     m_maxViewportDims[0] = m_maxViewportDims[1] = 0;
</span><span class="cx">     m_context-&gt;getIntegerv(GraphicsContext3D::MAX_VIEWPORT_DIMS, m_maxViewportDims);
</span><span class="cx"> 
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;bind();
-
</del><span class="cx">     setupFlags();
</span><span class="cx">     initializeNewContext();
</span><span class="cx"> }
</span><span class="lines">@@ -547,9 +542,6 @@
</span><span class="cx">         initVertexAttrib0();
</span><span class="cx"> 
</span><span class="cx">     IntSize canvasSize = clampedCanvasSize();
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;reset(canvasSize);
-
</del><span class="cx">     m_context-&gt;reshape(canvasSize.width(), canvasSize.height());
</span><span class="cx">     m_context-&gt;viewport(0, 0, canvasSize.width(), canvasSize.height());
</span><span class="cx">     m_context-&gt;scissor(0, 0, canvasSize.width(), canvasSize.height());
</span><span class="lines">@@ -623,11 +615,6 @@
</span><span class="cx">     if (m_isPendingPolicyResolution)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // The drawing buffer holds a context reference. It must also be destroyed
-    // in order for the context to be released.
-    if (m_drawingBuffer)
-        m_drawingBuffer.clear();
-
</del><span class="cx">     if (m_context) {
</span><span class="cx">         m_context-&gt;setContextLostCallback(nullptr);
</span><span class="cx">         m_context-&gt;setErrorMessageCallback(nullptr);
</span><span class="lines">@@ -642,9 +629,6 @@
</span><span class="cx"> 
</span><span class="cx">     m_context-&gt;markContextChanged();
</span><span class="cx"> 
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;markContentsChanged();
-
</del><span class="cx">     m_layerCleared = false;
</span><span class="cx">     RenderBox* renderBox = canvas()-&gt;renderBox();
</span><span class="cx">     if (isAccelerated() &amp;&amp; renderBox &amp;&amp; renderBox-&gt;hasAcceleratedCompositing()) {
</span><span class="lines">@@ -697,13 +681,9 @@
</span><span class="cx">         clearMask |= GraphicsContext3D::STENCIL_BUFFER_BIT;
</span><span class="cx">         m_context-&gt;stencilMaskSeparate(GraphicsContext3D::FRONT, 0xFFFFFFFF);
</span><span class="cx">     }
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;clearFramebuffers(clearMask);
-    else {
-        if (m_framebufferBinding)
-            m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
-        m_context-&gt;clear(clearMask);
-    }
</del><ins>+    if (m_framebufferBinding)
+        m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
+    m_context-&gt;clear(clearMask);
</ins><span class="cx"> 
</span><span class="cx">     restoreStateAfterClear();
</span><span class="cx">     if (m_framebufferBinding)
</span><span class="lines">@@ -759,16 +739,7 @@
</span><span class="cx">     canvas()-&gt;clearCopiedImage();
</span><span class="cx">     m_markedCanvasDirty = false;
</span><span class="cx"> 
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;commit();
-    m_context-&gt;paintRenderingResultsToCanvas(canvas()-&gt;buffer(), m_drawingBuffer.get());
-
-    if (m_drawingBuffer) {
-        if (m_framebufferBinding)
-            m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, objectOrZero(m_framebufferBinding.get()));
-        else
-            m_drawingBuffer-&gt;bind();
-    }
</del><ins>+    m_context-&gt;paintRenderingResultsToCanvas(canvas()-&gt;buffer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;ImageData&gt; WebGLRenderingContextBase::paintRenderingResultsToImageData()
</span><span class="lines">@@ -776,18 +747,7 @@
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return nullptr;
</span><span class="cx">     clearIfComposited();
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;commit();
-    RefPtr&lt;ImageData&gt; imageData = m_context-&gt;paintRenderingResultsToImageData(m_drawingBuffer.get());
-
-    if (m_drawingBuffer) {
-        if (m_framebufferBinding)
-            m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, objectOrZero(m_framebufferBinding.get()));
-        else
-            m_drawingBuffer-&gt;bind();
-    }
-
-    return imageData;
</del><ins>+    return m_context-&gt;paintRenderingResultsToImageData();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::reshape(int width, int height)
</span><span class="lines">@@ -815,11 +775,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We don't have to mark the canvas as dirty, since the newly created image buffer will also start off
</span><span class="cx">     // clear (and this matches what reshape will do).
</span><del>-    if (m_drawingBuffer) {
-        m_drawingBuffer-&gt;reset(IntSize(width, height));
-        restoreStateAfterClear();
-    } else
-        m_context-&gt;reshape(width, height);
</del><ins>+    m_context-&gt;reshape(width, height);
</ins><span class="cx"> 
</span><span class="cx">     m_context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, objectOrZero(m_textureUnits[m_activeTextureUnit].texture2DBinding.get()));
</span><span class="cx">     m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, objectOrZero(m_renderbufferBinding.get()));
</span><span class="lines">@@ -829,17 +785,11 @@
</span><span class="cx"> 
</span><span class="cx"> int WebGLRenderingContextBase::drawingBufferWidth() const
</span><span class="cx"> {
</span><del>-    if (m_drawingBuffer)
-        return m_drawingBuffer-&gt;size().width();
-
</del><span class="cx">     return m_context-&gt;getInternalFramebufferSize().width();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int WebGLRenderingContextBase::drawingBufferHeight() const
</span><span class="cx"> {
</span><del>-    if (m_drawingBuffer)
-        return m_drawingBuffer-&gt;size().height();
-
</del><span class="cx">     return m_context-&gt;getInternalFramebufferSize().height();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -876,9 +826,6 @@
</span><span class="cx">     }
</span><span class="cx">     m_activeTextureUnit = texture - GraphicsContext3D::TEXTURE0;
</span><span class="cx">     m_context-&gt;activeTexture(texture);
</span><del>-
-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;setActiveTextureUnit(texture);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::attachShader(WebGLProgram* program, WebGLShader* shader, ExceptionCode&amp; ec)
</span><span class="lines">@@ -968,13 +915,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     m_framebufferBinding = buffer;
</span><del>-    if (m_drawingBuffer)
-        m_drawingBuffer-&gt;setFramebufferBinding(objectOrZero(m_framebufferBinding.get()));
-    if (!m_framebufferBinding &amp;&amp; m_drawingBuffer) {
-        // Instead of binding fb 0, bind the drawing buffer.
-        m_drawingBuffer-&gt;bind();
-    } else
-        m_context-&gt;bindFramebuffer(target, objectOrZero(buffer));
</del><ins>+    m_context-&gt;bindFramebuffer(target, objectOrZero(buffer));
</ins><span class="cx">     if (buffer)
</span><span class="cx">         buffer-&gt;setHasEverBeenBound();
</span><span class="cx">     applyStencilTest();
</span><span class="lines">@@ -1014,10 +955,6 @@
</span><span class="cx">     if (target == GraphicsContext3D::TEXTURE_2D) {
</span><span class="cx">         m_textureUnits[m_activeTextureUnit].texture2DBinding = texture;
</span><span class="cx">         maxLevel = m_maxTextureLevel;
</span><del>-
-        if (m_drawingBuffer &amp;&amp; !m_activeTextureUnit)
-            m_drawingBuffer-&gt;setTexture2DBinding(objectOrZero(texture));
-
</del><span class="cx">     } else if (target == GraphicsContext3D::TEXTURE_CUBE_MAP) {
</span><span class="cx">         m_textureUnits[m_activeTextureUnit].textureCubeMapBinding = texture;
</span><span class="cx">         maxLevel = m_maxCubeMapTextureLevel;
</span><span class="lines">@@ -1430,10 +1367,9 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     clearIfComposited();
</span><del>-    if (isResourceSafe()) {
-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+    if (isResourceSafe())
</ins><span class="cx">         m_context-&gt;copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
</span><del>-    } else {
</del><ins>+    else {
</ins><span class="cx">         GC3Dint clippedX, clippedY;
</span><span class="cx">         GC3Dsizei clippedWidth, clippedHeight;
</span><span class="cx">         if (clip2D(x, y, width, height, getBoundFramebufferWidth(), getBoundFramebufferHeight(), &amp;clippedX, &amp;clippedY, &amp;clippedWidth, &amp;clippedHeight)) {
</span><span class="lines">@@ -1455,15 +1391,11 @@
</span><span class="cx">                 memset(zero.get(), 0, size);
</span><span class="cx">             }
</span><span class="cx">             m_context-&gt;texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, zero.get());
</span><del>-            if (clippedWidth &gt; 0 &amp;&amp; clippedHeight &gt; 0) {
-                ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+            if (clippedWidth &gt; 0 &amp;&amp; clippedHeight &gt; 0)
</ins><span class="cx">                 m_context-&gt;copyTexSubImage2D(target, level, xoffset + clippedX - x, yoffset + clippedY - y,
</span><span class="cx">                                              clippedX, clippedY, clippedWidth, clippedHeight);
</span><del>-            }
-        } else {
-            ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><ins>+        } else
</ins><span class="cx">             m_context-&gt;copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
</span><del>-        }
</del><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1565,12 +1497,7 @@
</span><span class="cx">         return;
</span><span class="cx">     if (framebuffer == m_framebufferBinding) {
</span><span class="cx">         m_framebufferBinding = 0;
</span><del>-        if (m_drawingBuffer) {
-            m_drawingBuffer-&gt;setFramebufferBinding(0);
-            // Have to call bindFramebuffer here to bind back to internal fbo.
-            m_drawingBuffer-&gt;bind();
-        } else
-            m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
</del><ins>+        m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1658,11 +1585,8 @@
</span><span class="cx">         applyStencilTest();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    if (cap == GraphicsContext3D::SCISSOR_TEST) {
</del><ins>+    if (cap == GraphicsContext3D::SCISSOR_TEST)
</ins><span class="cx">         m_scissorEnabled = false;
</span><del>-        if (m_drawingBuffer)
-            m_drawingBuffer-&gt;setScissorEnabled(m_scissorEnabled);
-    }
</del><span class="cx">     m_context-&gt;disable(cap);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1952,11 +1876,8 @@
</span><span class="cx">         applyStencilTest();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    if (cap == GraphicsContext3D::SCISSOR_TEST) {
</del><ins>+    if (cap == GraphicsContext3D::SCISSOR_TEST)
</ins><span class="cx">         m_scissorEnabled = true;
</span><del>-        if (m_drawingBuffer)
-            m_drawingBuffer-&gt;setScissorEnabled(m_scissorEnabled);
-    }
</del><span class="cx">     m_context-&gt;enable(cap);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2203,17 +2124,12 @@
</span><span class="cx"> 
</span><span class="cx">     // Also, we need to enforce requested values of &quot;false&quot; for depth
</span><span class="cx">     // and stencil, regardless of the properties of the underlying
</span><del>-    // GraphicsContext3D or DrawingBuffer.
</del><ins>+    // GraphicsContext3D.
</ins><span class="cx">     RefPtr&lt;WebGLContextAttributes&gt; attributes = WebGLContextAttributes::create(m_context-&gt;getContextAttributes());
</span><span class="cx">     if (!m_attributes.depth)
</span><span class="cx">         attributes-&gt;setDepth(false);
</span><span class="cx">     if (!m_attributes.stencil)
</span><span class="cx">         attributes-&gt;setStencil(false);
</span><del>-    if (m_drawingBuffer) {
-        // The DrawingBuffer obtains its parameters from GraphicsContext3D::getContextAttributes(),
-        // but it makes its own determination of whether multisampling is supported.
-        attributes-&gt;setAntialias(m_drawingBuffer-&gt;multisample());
-    }
</del><span class="cx">     return attributes.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2867,7 +2783,6 @@
</span><span class="cx">     void* data = pixels-&gt;baseAddress();
</span><span class="cx"> 
</span><span class="cx">     {
</span><del>-        ScopedDrawingBufferBinder binder(m_drawingBuffer.get(), m_framebufferBinding.get());
</del><span class="cx">         if (m_isRobustnessEXTSupported)
</span><span class="cx">             m_context-&gt;getExtensions()-&gt;readnPixelsEXT(x, y, width, height, format, type, pixels-&gt;byteLength(), data);
</span><span class="cx">         else
</span><span class="lines">@@ -3828,12 +3743,6 @@
</span><span class="cx"> 
</span><span class="cx">     detachAndRemoveAllObjects();
</span><span class="cx"> 
</span><del>-    if (m_drawingBuffer) {
-        // Make absolutely sure we do not refer to an already-deleted texture or framebuffer.
-        m_drawingBuffer-&gt;setTexture2DBinding(0);
-        m_drawingBuffer-&gt;setFramebufferBinding(0);
-    }
-
</del><span class="cx">     // There is no direct way to clear errors from a GL implementation and
</span><span class="cx">     // looping until getError() becomes NO_ERROR might cause an infinite loop if
</span><span class="cx">     // the driver or context implementation had a bug. So, loop a reasonably
</span><span class="lines">@@ -4118,14 +4027,14 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_framebufferBinding &amp;&amp; m_framebufferBinding-&gt;object())
</span><span class="cx">         return m_framebufferBinding-&gt;getColorBufferWidth();
</span><del>-    return m_drawingBuffer ? m_drawingBuffer-&gt;size().width() : m_context-&gt;getInternalFramebufferSize().width();
</del><ins>+    return m_context-&gt;getInternalFramebufferSize().width();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int WebGLRenderingContextBase::getBoundFramebufferHeight()
</span><span class="cx"> {
</span><span class="cx">     if (m_framebufferBinding &amp;&amp; m_framebufferBinding-&gt;object())
</span><span class="cx">         return m_framebufferBinding-&gt;getColorBufferHeight();
</span><del>-    return m_drawingBuffer ? m_drawingBuffer-&gt;size().height() : m_context-&gt;getInternalFramebufferSize().height();
</del><ins>+    return m_context-&gt;getInternalFramebufferSize().height();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebGLTexture* WebGLRenderingContextBase::validateTextureBinding(const char* functionName, GC3Denum target, bool useSixEnumsForCubeMap)
</span><span class="lines">@@ -4842,15 +4751,6 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Construct a new drawing buffer with the new GraphicsContext3D.
-    if (m_drawingBuffer) {
-        m_drawingBuffer-&gt;discardResources();
-        DrawingBuffer::PreserveDrawingBuffer preserve = m_attributes.preserveDrawingBuffer ? DrawingBuffer::Preserve : DrawingBuffer::Discard;
-        DrawingBuffer::AlphaRequirement alpha = m_attributes.alpha ? DrawingBuffer::Alpha : DrawingBuffer::Opaque;
-        m_drawingBuffer = DrawingBuffer::create(context.get(), m_drawingBuffer-&gt;size(), preserve, alpha);
-        m_drawingBuffer-&gt;bind();
-    }
-
</del><span class="cx">     m_context = context;
</span><span class="cx">     m_contextLost = false;
</span><span class="cx">     setupFlags();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ActiveDOMObject.h&quot;
</span><span class="cx"> #include &quot;CanvasRenderingContext.h&quot;
</span><del>-#include &quot;DrawingBuffer.h&quot;
</del><span class="cx"> #include &quot;GraphicsContext3D.h&quot;
</span><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="lines">@@ -86,29 +85,6 @@
</span><span class="cx"> 
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx"> 
</span><del>-class ScopedDrawingBufferBinder {
-public:
-    ScopedDrawingBufferBinder(DrawingBuffer* drawingBuffer, WebGLFramebuffer* framebufferBinding)
-        : m_drawingBuffer(drawingBuffer)
-        , m_framebufferBinding(framebufferBinding)
-    {
-        // Commit DrawingBuffer if needed (e.g., for multisampling)
-        if (!m_framebufferBinding &amp;&amp; m_drawingBuffer)
-            m_drawingBuffer-&gt;commit();
-    }
-    
-    ~ScopedDrawingBufferBinder()
-    {
-        // Restore DrawingBuffer if needed
-        if (!m_framebufferBinding &amp;&amp; m_drawingBuffer)
-            m_drawingBuffer-&gt;bind();
-    }
-    
-private:
-    DrawingBuffer* m_drawingBuffer;
-    WebGLFramebuffer* m_framebufferBinding;
-};
-
</del><span class="cx"> inline void clip1D(GC3Dint start, GC3Dsizei range, GC3Dsizei sourceRange, GC3Dint* clippedStart, GC3Dsizei* clippedRange)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(clippedStart &amp;&amp; clippedRange);
</span><span class="lines">@@ -456,10 +432,6 @@
</span><span class="cx">     RefPtr&lt;GraphicsContext3D&gt; m_context;
</span><span class="cx">     RefPtr&lt;WebGLContextGroup&gt; m_contextGroup;
</span><span class="cx"> 
</span><del>-    // Optional structure for rendering to a DrawingBuffer, instead of directly
-    // to the back-buffer of m_context.
-    RefPtr&lt;DrawingBuffer&gt; m_drawingBuffer;
-
</del><span class="cx">     // Dispatches a context lost event once it is determined that one is needed.
</span><span class="cx">     // This is used both for synthetic and real context losses. For real ones, it's
</span><span class="cx">     // likely that there's no JavaScript on the stack, but that might be dependent
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -73,7 +73,6 @@
</span><span class="cx">     const int cMisspellingLinePatternGapWidth = 1;
</span><span class="cx"> 
</span><span class="cx">     class AffineTransform;
</span><del>-    class DrawingBuffer;
</del><span class="cx">     class FloatRoundedRect;
</span><span class="cx">     class Gradient;
</span><span class="cx">     class GraphicsContextPlatformPrivate;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContext3Dh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -84,7 +84,6 @@
</span><span class="cx"> const Platform3DObject NullPlatform3DObject = 0;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class DrawingBuffer;
</del><span class="cx"> class Extensions3D;
</span><span class="cx"> #if USE(OPENGL_ES_2)
</span><span class="cx"> class Extensions3DOpenGLES;
</span><span class="lines">@@ -1132,8 +1131,8 @@
</span><span class="cx">     bool layerComposited() const;
</span><span class="cx">     void forceContextLost();
</span><span class="cx"> 
</span><del>-    void paintRenderingResultsToCanvas(ImageBuffer*, DrawingBuffer*);
-    PassRefPtr&lt;ImageData&gt; paintRenderingResultsToImageData(DrawingBuffer*);
</del><ins>+    void paintRenderingResultsToCanvas(ImageBuffer*);
+    PassRefPtr&lt;ImageData&gt; paintRenderingResultsToImageData();
</ins><span class="cx">     bool paintCompositedResultsToCanvas(ImageBuffer*);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscairoDrawingBufferCairocpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/cairo/DrawingBufferCairo.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cairo/DrawingBufferCairo.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/cairo/DrawingBufferCairo.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include &quot;config.h&quot;
-#include &quot;DrawingBuffer.h&quot;
-
-#if USE(CAIRO) &amp;&amp; (ENABLE(ACCELERATED_2D_CANVAS) || USE(3D_GRAPHICS))
-#include &quot;Extensions3D.h&quot;
-
-namespace WebCore {
-
-unsigned DrawingBuffer::frontColorBuffer() const
-{
-    return colorBuffer();
-}
-
-void DrawingBuffer::paintCompositedResultsToCanvas(ImageBuffer*)
-{
-}
-
-}
-
-#endif // USE(CAIRO) &amp;&amp; (ENABLE(ACCELERATED_2D_CANVAS) || USE(3D_GRAPHICS))
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpuDrawingBuffercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1,466 +0,0 @@
</span><del>-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(ACCELERATED_2D_CANVAS) || USE(3D_GRAPHICS)
-
-#include &quot;DrawingBuffer.h&quot;
-
-#include &quot;Extensions3D.h&quot;
-#include &quot;GraphicsContext3D.h&quot;
-
-namespace WebCore {
-
-#if PLATFORM(WIN) || USE(CAIRO)
-DrawingBuffer::DrawingBuffer(GraphicsContext3D* context, const IntSize&amp; size, bool multisampleExtensionSupported, bool packedDepthStencilExtensionSupported, PreserveDrawingBuffer preserveDrawingBuffer, AlphaRequirement alpha)
-    : m_preserveDrawingBuffer(preserveDrawingBuffer)
-    , m_alpha(alpha)
-    , m_scissorEnabled(false)
-    , m_texture2DBinding(0)
-    , m_framebufferBinding(0)
-    , m_activeTextureUnit(GraphicsContext3D::TEXTURE0)
-    , m_context(context)
-    , m_size(-1, -1)
-    , m_multisampleExtensionSupported(multisampleExtensionSupported)
-    , m_packedDepthStencilExtensionSupported(packedDepthStencilExtensionSupported)
-    , m_fbo(context-&gt;createFramebuffer())
-    , m_colorBuffer(0)
-    , m_frontColorBuffer(0)
-    , m_separateFrontTexture(false)
-    , m_depthStencilBuffer(0)
-    , m_depthBuffer(0)
-    , m_stencilBuffer(0)
-    , m_multisampleFBO(0)
-    , m_multisampleColorBuffer(0)
-{
-    ASSERT(m_fbo);
-    if (!m_fbo) {
-        clear();
-        return;
-    }
-
-    // create a texture to render into
-    m_colorBuffer = context-&gt;createTexture();
-    context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, m_colorBuffer);
-    context-&gt;texParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MAG_FILTER, GraphicsContext3D::LINEAR);
-    context-&gt;texParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MIN_FILTER, GraphicsContext3D::LINEAR);
-    context-&gt;texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_S, GraphicsContext3D::CLAMP_TO_EDGE);
-    context-&gt;texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_T, GraphicsContext3D::CLAMP_TO_EDGE);
-    context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, 0);
-
-    createSecondaryBuffers();
-    reset(size);
-}
-
-DrawingBuffer::~DrawingBuffer()
-{
-    clear();
-}
-#endif
-
-// Global resource ceiling (expressed in terms of pixels) for DrawingBuffer creation and resize.
-// When this limit is set, DrawingBuffer::create() and DrawingBuffer::reset() calls that would
-// exceed the global cap will instead clear the buffer.
-static int s_maximumResourceUsePixels = 0;
-static int s_currentResourceUsePixels = 0;
-static const float s_resourceAdjustedRatio = 0.5;
-
-PassRefPtr&lt;DrawingBuffer&gt; DrawingBuffer::create(GraphicsContext3D* context, const IntSize&amp; size, PreserveDrawingBuffer preserve, AlphaRequirement alpha)
-{
-    Extensions3D* extensions = context-&gt;getExtensions();
-    bool multisampleSupported = extensions-&gt;maySupportMultisampling()
-        &amp;&amp; extensions-&gt;supports(&quot;GL_ANGLE_framebuffer_blit&quot;)
-        &amp;&amp; extensions-&gt;supports(&quot;GL_ANGLE_framebuffer_multisample&quot;)
-        &amp;&amp; extensions-&gt;supports(&quot;GL_OES_rgb8_rgba8&quot;);
-    if (multisampleSupported) {
-        extensions-&gt;ensureEnabled(&quot;GL_ANGLE_framebuffer_blit&quot;);
-        extensions-&gt;ensureEnabled(&quot;GL_ANGLE_framebuffer_multisample&quot;);
-        extensions-&gt;ensureEnabled(&quot;GL_OES_rgb8_rgba8&quot;);
-    }
-    bool packedDepthStencilSupported = extensions-&gt;supports(&quot;GL_OES_packed_depth_stencil&quot;);
-    if (packedDepthStencilSupported)
-        extensions-&gt;ensureEnabled(&quot;GL_OES_packed_depth_stencil&quot;);
-    RefPtr&lt;DrawingBuffer&gt; drawingBuffer = adoptRef(new DrawingBuffer(context, size, multisampleSupported, packedDepthStencilSupported, preserve, alpha));
-    return (drawingBuffer-&gt;m_context) ? drawingBuffer.release() : 0;
-}
-
-void DrawingBuffer::clear()
-{
-    if (!m_context)
-        return;
-
-    m_context-&gt;makeContextCurrent();
-
-    if (!m_size.isEmpty()) {
-        s_currentResourceUsePixels -= m_size.width() * m_size.height();
-        m_size = IntSize();
-    }
-
-    if (m_colorBuffer) {
-        m_context-&gt;deleteTexture(m_colorBuffer);
-        m_colorBuffer = 0;
-    }
-
-    if (m_frontColorBuffer) {
-        m_context-&gt;deleteTexture(m_frontColorBuffer);
-        m_frontColorBuffer = 0;
-    }
-
-    if (m_multisampleColorBuffer) {
-        m_context-&gt;deleteRenderbuffer(m_multisampleColorBuffer);
-        m_multisampleColorBuffer = 0;
-    }
-
-    if (m_depthStencilBuffer) {
-        m_context-&gt;deleteRenderbuffer(m_depthStencilBuffer);
-        m_depthStencilBuffer = 0;
-    }
-
-    if (m_depthBuffer) {
-        m_context-&gt;deleteRenderbuffer(m_depthBuffer);
-        m_depthBuffer = 0;
-    }
-
-    if (m_stencilBuffer) {
-        m_context-&gt;deleteRenderbuffer(m_stencilBuffer);
-        m_stencilBuffer = 0;
-    }
-
-    if (m_multisampleFBO) {
-        m_context-&gt;deleteFramebuffer(m_multisampleFBO);
-        m_multisampleFBO = 0;
-    }
-
-    if (m_fbo) {
-        m_context-&gt;deleteFramebuffer(m_fbo);
-        m_fbo = 0;
-    }
-}
-
-void DrawingBuffer::createSecondaryBuffers()
-{
-    // create a multisample FBO
-    if (multisample()) {
-        m_multisampleFBO = m_context-&gt;createFramebuffer();
-        m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
-        m_multisampleColorBuffer = m_context-&gt;createRenderbuffer();
-    }
-}
-
-void DrawingBuffer::resizeDepthStencil(int sampleCount)
-{
-    const GraphicsContext3D::Attributes&amp; attributes = m_context-&gt;getContextAttributes();
-    if (attributes.depth &amp;&amp; attributes.stencil &amp;&amp; m_packedDepthStencilExtensionSupported) {
-        if (!m_depthStencilBuffer)
-            m_depthStencilBuffer = m_context-&gt;createRenderbuffer();
-        m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_depthStencilBuffer);
-        if (multisample())
-            m_context-&gt;getExtensions()-&gt;renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, Extensions3D::DEPTH24_STENCIL8, m_size.width(), m_size.height());
-        else
-            m_context-&gt;renderbufferStorage(GraphicsContext3D::RENDERBUFFER, Extensions3D::DEPTH24_STENCIL8, m_size.width(), m_size.height());
-        m_context-&gt;framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::STENCIL_ATTACHMENT, GraphicsContext3D::RENDERBUFFER, m_depthStencilBuffer);
-        m_context-&gt;framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::DEPTH_ATTACHMENT, GraphicsContext3D::RENDERBUFFER, m_depthStencilBuffer);
-    } else {
-        if (attributes.depth) {
-            if (!m_depthBuffer)
-                m_depthBuffer = m_context-&gt;createRenderbuffer();
-            m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_depthBuffer);
-            if (multisample())
-                m_context-&gt;getExtensions()-&gt;renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, GraphicsContext3D::DEPTH_COMPONENT16, m_size.width(), m_size.height());
-            else
-                m_context-&gt;renderbufferStorage(GraphicsContext3D::RENDERBUFFER, GraphicsContext3D::DEPTH_COMPONENT16, m_size.width(), m_size.height());
-            m_context-&gt;framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::DEPTH_ATTACHMENT, GraphicsContext3D::RENDERBUFFER, m_depthBuffer);
-        }
-        if (attributes.stencil) {
-            if (!m_stencilBuffer)
-                m_stencilBuffer = m_context-&gt;createRenderbuffer();
-            m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_stencilBuffer);
-            if (multisample())
-                m_context-&gt;getExtensions()-&gt;renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, GraphicsContext3D::STENCIL_INDEX8, m_size.width(), m_size.height());
-            else 
-                m_context-&gt;renderbufferStorage(GraphicsContext3D::RENDERBUFFER, GraphicsContext3D::STENCIL_INDEX8, m_size.width(), m_size.height());
-            m_context-&gt;framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::STENCIL_ATTACHMENT, GraphicsContext3D::RENDERBUFFER, m_stencilBuffer);
-        }
-    }
-    m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, 0);
-}
-
-void DrawingBuffer::clearFramebuffers(GC3Dbitfield clearMask)
-{
-    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO ? m_multisampleFBO : m_fbo);
-
-    m_context-&gt;clear(clearMask);
-
-    // The multisample fbo was just cleared, but we also need to clear the non-multisampled buffer too.
-    if (m_multisampleFBO) {
-        m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
-        m_context-&gt;clear(GraphicsContext3D::COLOR_BUFFER_BIT);
-        m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
-    }
-}
-
-// Only way to ensure that we're not getting a bad framebuffer on some AMD/OSX devices.
-// FIXME: This can be removed once renderbufferStorageMultisample starts reporting GL_OUT_OF_MEMORY properly.
-bool DrawingBuffer::checkBufferIntegrity()
-{
-    if (!m_multisampleFBO)
-        return true;
-
-    if (m_scissorEnabled)
-        m_context-&gt;disable(GraphicsContext3D::SCISSOR_TEST);
-
-    m_context-&gt;colorMask(true, true, true, true);
-
-    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
-    m_context-&gt;clearColor(1.0f, 0.0f, 1.0f, 1.0f);
-    m_context-&gt;clear(GraphicsContext3D::COLOR_BUFFER_BIT);
-
-    commit(0, 0, 1, 1);
-
-    unsigned char pixel[4] = {0, 0, 0, 0};
-    m_context-&gt;readPixels(0, 0, 1, 1, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, &amp;pixel);
-
-    if (m_scissorEnabled)
-        m_context-&gt;enable(GraphicsContext3D::SCISSOR_TEST);
-
-    return (pixel[0] == 0xFF &amp;&amp; pixel[1] == 0x00 &amp;&amp; pixel[2] == 0xFF &amp;&amp; pixel[3] == 0xFF);
-}
-
-bool DrawingBuffer::reset(const IntSize&amp; newSize)
-{
-    if (!m_context)
-        return false;
-
-    m_context-&gt;makeContextCurrent();
-
-    int maxTextureSize = 0;
-    m_context-&gt;getIntegerv(GraphicsContext3D::MAX_TEXTURE_SIZE, &amp;maxTextureSize);
-    if (newSize.height() &gt; maxTextureSize || newSize.width() &gt; maxTextureSize) {
-        clear();
-        return false;
-    }
-
-    int pixelDelta = newSize.width() * newSize.height();
-    int oldSize = 0;
-    if (!m_size.isEmpty()) {
-        oldSize = m_size.width() * m_size.height();
-        pixelDelta -= oldSize;
-    }
-
-    IntSize adjustedSize = newSize;
-    if (s_maximumResourceUsePixels) {
-        while ((s_currentResourceUsePixels + pixelDelta) &gt; s_maximumResourceUsePixels) {
-            adjustedSize.scale(s_resourceAdjustedRatio);
-            if (adjustedSize.isEmpty()) {
-                clear();
-                return false;
-            }
-            pixelDelta = adjustedSize.width() * adjustedSize.height();
-            pixelDelta -= oldSize;
-        }
-     }
-
-    const GraphicsContext3D::Attributes&amp; attributes = m_context-&gt;getContextAttributes();
-
-    if (adjustedSize != m_size) {
-
-        unsigned internalColorFormat, colorFormat, internalRenderbufferFormat;
-        if (attributes.alpha) {
-            internalColorFormat = GraphicsContext3D::RGBA;
-            colorFormat = GraphicsContext3D::RGBA;
-            internalRenderbufferFormat = Extensions3D::RGBA8_OES;
-        } else {
-            internalColorFormat = GraphicsContext3D::RGB;
-            colorFormat = GraphicsContext3D::RGB;
-            internalRenderbufferFormat = Extensions3D::RGB8_OES;
-        }
-
-        do {
-            m_size = adjustedSize;
-            // resize multisample FBO
-            if (multisample()) {
-                int maxSampleCount = 0;
-
-                m_context-&gt;getIntegerv(Extensions3D::MAX_SAMPLES, &amp;maxSampleCount);
-                int sampleCount = std::min(4, maxSampleCount);
-
-                m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
-
-                m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
-                m_context-&gt;getExtensions()-&gt;renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, internalRenderbufferFormat, m_size.width(), m_size.height());
-
-                if (m_context-&gt;getError() == GraphicsContext3D::OUT_OF_MEMORY) {
-                    adjustedSize.scale(s_resourceAdjustedRatio);
-                    continue;
-                }
-
-                m_context-&gt;framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
-                resizeDepthStencil(sampleCount);
-                if (m_context-&gt;checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE) {
-                    adjustedSize.scale(s_resourceAdjustedRatio);
-                    continue;
-                }
-            }
-
-            // resize regular FBO
-            m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
-
-            m_context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, m_colorBuffer);
-            m_context-&gt;texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
-
-            m_context-&gt;framebufferTexture2D(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::TEXTURE_2D, m_colorBuffer, 0);
-
-            // resize the front color buffer
-            if (m_separateFrontTexture) {
-                m_context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, m_frontColorBuffer);
-                m_context-&gt;texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
-            }
-
-            m_context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, 0);
-
-            if (!multisample())
-                resizeDepthStencil(0);
-            if (m_context-&gt;checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE) {
-                adjustedSize.scale(s_resourceAdjustedRatio);
-                continue;
-            }
-
-#if OS(DARWIN)
-            // FIXME: This can be removed once renderbufferStorageMultisample starts reporting GL_OUT_OF_MEMORY properly on OSX.
-            if (!checkBufferIntegrity()) {
-                adjustedSize.scale(s_resourceAdjustedRatio);
-                continue;
-            }
-#endif
-
-            break;
-
-        } while (!adjustedSize.isEmpty());
-
-        pixelDelta = m_size.width() * m_size.height();
-        pixelDelta -= oldSize;
-        s_currentResourceUsePixels += pixelDelta;
-
-        if (!newSize.isEmpty() &amp;&amp; adjustedSize.isEmpty()) {
-            clear();
-            return false;
-        }
-    }
-
-    m_context-&gt;disable(GraphicsContext3D::SCISSOR_TEST);
-    m_context-&gt;clearColor(0, 0, 0, 0);
-    m_context-&gt;colorMask(true, true, true, true);
-
-    GC3Dbitfield clearMask = GraphicsContext3D::COLOR_BUFFER_BIT;
-    if (attributes.depth) {
-        m_context-&gt;clearDepth(1.0f);
-        clearMask |= GraphicsContext3D::DEPTH_BUFFER_BIT;
-        m_context-&gt;depthMask(true);
-    }
-    if (attributes.stencil) {
-        m_context-&gt;clearStencil(0);
-        clearMask |= GraphicsContext3D::STENCIL_BUFFER_BIT;
-        m_context-&gt;stencilMaskSeparate(GraphicsContext3D::FRONT, 0xFFFFFFFF);
-    }
-
-    clearFramebuffers(clearMask);
-
-    return true;
-}
-
-void DrawingBuffer::commit(long x, long y, long width, long height)
-{
-    if (!m_context)
-        return;
-
-    if (width &lt; 0)
-        width = m_size.width();
-    if (height &lt; 0)
-        height = m_size.height();
-
-    m_context-&gt;makeContextCurrent();
-
-    if (m_multisampleFBO) {
-        m_context-&gt;bindFramebuffer(Extensions3D::READ_FRAMEBUFFER, m_multisampleFBO);
-        m_context-&gt;bindFramebuffer(Extensions3D::DRAW_FRAMEBUFFER, m_fbo);
-
-        if (m_scissorEnabled)
-            m_context-&gt;disable(GraphicsContext3D::SCISSOR_TEST);
-
-        // Use NEAREST, because there is no scale performed during the blit.
-        m_context-&gt;getExtensions()-&gt;blitFramebuffer(x, y, width, height, x, y, width, height, GraphicsContext3D::COLOR_BUFFER_BIT, GraphicsContext3D::NEAREST);
-
-        if (m_scissorEnabled)
-            m_context-&gt;enable(GraphicsContext3D::SCISSOR_TEST);
-    }
-
-    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
-}
-
-void DrawingBuffer::restoreFramebufferBinding()
-{
-    if (!m_context || !m_framebufferBinding)
-        return;
-
-    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_framebufferBinding);
-}
-
-bool DrawingBuffer::multisample() const
-{
-    return m_context &amp;&amp; m_context-&gt;getContextAttributes().antialias &amp;&amp; m_multisampleExtensionSupported;
-}
-
-void DrawingBuffer::discardResources()
-{
-    m_colorBuffer = 0;
-    m_frontColorBuffer = 0;
-    m_multisampleColorBuffer = 0;
-
-    m_depthStencilBuffer = 0;
-    m_depthBuffer = 0;
-
-    m_stencilBuffer = 0;
-
-    m_multisampleFBO = 0;
-    m_fbo = 0;
-}
-
-void DrawingBuffer::bind()
-{
-    if (!m_context)
-        return;
-
-    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO ? m_multisampleFBO : m_fbo);
-}
-
-} // namespace WebCore
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpuDrawingBufferh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -1,169 +0,0 @@
</span><del>-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DrawingBuffer_h
-#define DrawingBuffer_h
-
-#include &quot;GraphicsContext3D.h&quot;
-#include &quot;GraphicsTypes3D.h&quot;
-#include &quot;IntSize.h&quot;
-#include &quot;PlatformLayer.h&quot;
-
-#include &lt;wtf/Noncopyable.h&gt;
-#if PLATFORM(COCOA)
-#include &lt;wtf/RetainPtr.h&gt;
-#endif
-
-namespace WebCore {
-class GraphicsContext3D;
-
-// Manages a rendering target (framebuffer + attachment) for a canvas.  Can publish its rendering
-// results to a PlatformLayer for compositing.
-class DrawingBuffer : public RefCounted&lt;DrawingBuffer&gt; {
-public:
-    enum PreserveDrawingBuffer {
-        Preserve,
-        Discard
-    };
-
-    enum AlphaRequirement {
-        Alpha,
-        Opaque
-    };
-
-    static PassRefPtr&lt;DrawingBuffer&gt; create(GraphicsContext3D*, const IntSize&amp;, PreserveDrawingBuffer, AlphaRequirement);
-    friend class GraphicsContext3D;
-
-    ~DrawingBuffer();
-
-    // Issues a glClear() on all framebuffers associated with this DrawingBuffer. The caller is responsible for
-    // making the context current and setting the clear values and masks. Modifies the framebuffer binding.
-    void clearFramebuffers(GC3Dbitfield clearMask);
-
-    // Returns true if the buffer was successfully resized.
-    bool reset(const IntSize&amp;);
-    void bind();
-    IntSize size() const { return m_size; }
-    Platform3DObject colorBuffer() const { return m_colorBuffer; }
-
-    // Clear all resources from this object, as well as context. Called when context is destroyed
-    // to prevent invalid accesses to the resources.
-    void clear();
-
-    // Create the depth/stencil and multisample buffers, if needed.
-    void createSecondaryBuffers();
-    
-    void resizeDepthStencil(int sampleCount);
-
-    // Copies the multisample color buffer to the normal color buffer and leaves m_fbo bound
-    void commit(long x = 0, long y = 0, long width = -1, long height = -1);
-
-    // commit should copy the full multisample buffer, and not respect the
-    // current scissor bounds. Track the state of the scissor test so that it
-    // can be disabled during calls to commit.
-    void setScissorEnabled(bool scissorEnabled) { m_scissorEnabled = scissorEnabled; }
-
-    // The DrawingBuffer needs to track the texture bound to texture unit 0.
-    // The bound texture is tracked to avoid costly queries during rendering.
-    void setTexture2DBinding(Platform3DObject texture) { m_texture2DBinding = texture; }
-
-    // The DrawingBuffer needs to track the currently bound framebuffer so it
-    // restore the binding when needed.
-    void setFramebufferBinding(Platform3DObject fbo) { m_framebufferBinding = fbo; }
-
-    // Bind to the m_framebufferBinding if it's not 0.
-    void restoreFramebufferBinding();
-
-    // Track the currently active texture unit. Texture unit 0 is used as host for a scratch
-    // texture.
-    void setActiveTextureUnit(GC3Dint textureUnit) { m_activeTextureUnit = textureUnit; }
-
-    bool multisample() const;
-
-    Platform3DObject framebuffer() const;
-
-    // Immediately releases ownership of all resources. Call upon loss of the
-    // graphics context to prevent freeing invalid resources.
-    void discardResources();
-
-    void markContentsChanged() { m_contentsChanged = true; }
-
-    PlatformLayer* platformLayer();
-    unsigned frontColorBuffer() const;
-    void paintCompositedResultsToCanvas(ImageBuffer*);
-
-    GraphicsContext3D* graphicsContext3D() const { return m_context.get(); }
-
-private:
-    DrawingBuffer(GraphicsContext3D*, const IntSize&amp;, bool multisampleExtensionSupported,
-                  bool packedDepthStencilExtensionSupported, PreserveDrawingBuffer, AlphaRequirement);
-
-    void initialize(const IntSize&amp;);
-
-    bool checkBufferIntegrity();
-
-    PreserveDrawingBuffer m_preserveDrawingBuffer;
-    AlphaRequirement m_alpha;
-    bool m_scissorEnabled;
-    Platform3DObject m_texture2DBinding;
-    Platform3DObject m_framebufferBinding;
-    GC3Denum m_activeTextureUnit;
-
-    RefPtr&lt;GraphicsContext3D&gt; m_context;
-    IntSize m_size;
-    bool m_multisampleExtensionSupported;
-    bool m_packedDepthStencilExtensionSupported;
-    Platform3DObject m_fbo;
-    Platform3DObject m_colorBuffer;
-    Platform3DObject m_frontColorBuffer;
-    bool m_separateFrontTexture;
-
-    // This is used when we have OES_packed_depth_stencil.
-    Platform3DObject m_depthStencilBuffer;
-
-    // These are used when we don't.
-    Platform3DObject m_depthBuffer;
-    Platform3DObject m_stencilBuffer;
-
-    // For multisampling
-    Platform3DObject m_multisampleFBO;
-    Platform3DObject m_multisampleColorBuffer;
-
-    // True if our contents have been modified since the last presentation of this buffer.
-    bool m_contentsChanged;
-
-#if PLATFORM(COCOA)
-    RetainPtr&lt;WebGLLayer&gt; m_platformLayer;
-#endif
-};
-
-} // namespace WebCore
-
-#endif // DrawingBuffer_h
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsopenglGraphicsContext3DOpenGLCommoncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp (181467 => 181468)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp        2015-03-13 01:57:59 UTC (rev 181467)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp        2015-03-13 02:01:42 UTC (rev 181468)
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void GraphicsContext3D::paintRenderingResultsToCanvas(ImageBuffer* imageBuffer, DrawingBuffer*)
</del><ins>+void GraphicsContext3D::paintRenderingResultsToCanvas(ImageBuffer* imageBuffer)
</ins><span class="cx"> {
</span><span class="cx">     int rowBytes = m_currentWidth * 4;
</span><span class="cx">     int totalBytes = rowBytes * m_currentHeight;
</span><span class="lines">@@ -184,7 +184,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImageData&gt; GraphicsContext3D::paintRenderingResultsToImageData(DrawingBuffer*)
</del><ins>+PassRefPtr&lt;ImageData&gt; GraphicsContext3D::paintRenderingResultsToImageData()
</ins><span class="cx"> {
</span><span class="cx">     // Reading premultiplied alpha would involve unpremultiplying, which is
</span><span class="cx">     // lossy.
</span></span></pre>
</div>
</div>

</body>
</html>