<!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>[177002] trunk</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/177002">177002</a></dd>
<dt>Author</dt> <dd>roger_fong@apple.com</dd>
<dt>Date</dt> <dd>2014-12-08 18:04:38 -0800 (Mon, 08 Dec 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Implementation EXT_sRGB as a WebGL1 extension.
https://bugs.webkit.org/show_bug.cgi?id=109332.
<rdar://problem/17363470>
Reviewed by Dean Jackson.
Tested by:
webgl/1.0.3/conformance/webgl/ext-sRGB.html
fast/canvas/webgl/constants.html
This patch implements the SRGB extension for WebGL1.
Details of the extension specification are outlined here:
https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* html/canvas/EXTsRGB.cpp: Added.
(WebCore::EXTsRGB::EXTsRGB):
(WebCore::EXTsRGB::~EXTsRGB):
(WebCore::EXTsRGB::getName):
* html/canvas/EXTsRGB.h: Added.
* html/canvas/EXTsRGB.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::checkStatus):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/Extensions3D.h:
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
(WebCore::GraphicsContext3D::getClearBitsByFormat):
(WebCore::GraphicsContext3D::getChannelBitsByFormat):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastcanvaswebglconstantshtml">trunk/LayoutTests/fast/canvas/webgl/constants.html</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</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="#trunkSourceWebCorebindingsjsJSWebGLRenderingContextCustomcpp">trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLExtensionh">trunk/Source/WebCore/html/canvas/WebGLExtension.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLFramebuffercpp">trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContexth">trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextidl">trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsExtensions3Dh">trunk/Source/WebCore/platform/graphics/Extensions3D.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContext3Dcpp">trunk/Source/WebCore/platform/graphics/GraphicsContext3D.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopenglExtensions3DOpenGLcpp">trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopenglGraphicsContext3DOpenGLcpp">trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorehtmlcanvasEXTsRGBcpp">trunk/Source/WebCore/html/canvas/EXTsRGB.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasEXTsRGBh">trunk/Source/WebCore/html/canvas/EXTsRGB.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasEXTsRGBidl">trunk/Source/WebCore/html/canvas/EXTsRGB.idl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/LayoutTests/ChangeLog        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-12-05 Roger Fong <roger_fong@apple.com>
+
+ Implementation EXT_sRGB as a WebGL1 extension.
+ https://bugs.webkit.org/show_bug.cgi?id=109332.
+ <rdar://problem/17363470>
+
+ Reviewed by Dean Jackson.
+
+ * fast/canvas/webgl/constants.html:
+
</ins><span class="cx"> 2014-12-08 Geoffrey Garen <ggaren@apple.com>
</span><span class="cx">
</span><span class="cx"> Removed the custom allocator for ParserArena
</span></span></pre></div>
<a id="trunkLayoutTestsfastcanvaswebglconstantshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/canvas/webgl/constants.html (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/canvas/webgl/constants.html        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/LayoutTests/fast/canvas/webgl/constants.html        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -432,7 +432,13 @@
</span><span class="cx"> UNPACK_PREMULTIPLY_ALPHA_WEBGL : 0x9241,
</span><span class="cx"> CONTEXT_LOST_WEBGL : 0x9242,
</span><span class="cx"> UNPACK_COLORSPACE_CONVERSION_WEBGL : 0x9243,
</span><del>-BROWSER_DEFAULT_WEBGL : 0x9244
</del><ins>+BROWSER_DEFAULT_WEBGL : 0x9244,
+
+/* EXT_SRGB extension */
+SRGB_EXT : 0x8C40,
+SRGB_ALPHA_EXT : 0x8C42,
+SRGB8_ALPHA8_EXT : 0x8C43,
+FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT : 0x8210
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // Constants removed from the WebGL spec compared to ES 2.0
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -534,6 +534,7 @@
</span><span class="cx"> html/canvas/DOMPath.idl
</span><span class="cx"> html/canvas/EXTShaderTextureLOD.idl
</span><span class="cx"> html/canvas/EXTTextureFilterAnisotropic.idl
</span><ins>+ html/canvas/EXTsRGB.idl
</ins><span class="cx"> html/canvas/OESElementIndexUint.idl
</span><span class="cx"> html/canvas/OESStandardDerivatives.idl
</span><span class="cx"> html/canvas/OESTextureFloat.idl
</span><span class="lines">@@ -1675,6 +1676,7 @@
</span><span class="cx"> html/canvas/CanvasStyle.cpp
</span><span class="cx"> html/canvas/EXTShaderTextureLOD.cpp
</span><span class="cx"> html/canvas/EXTTextureFilterAnisotropic.cpp
</span><ins>+ html/canvas/EXTsRGB.cpp
</ins><span class="cx"> html/canvas/OESElementIndexUint.cpp
</span><span class="cx"> html/canvas/OESStandardDerivatives.cpp
</span><span class="cx"> html/canvas/OESTextureFloat.cpp
</span><span class="lines">@@ -2807,6 +2809,7 @@
</span><span class="cx"> html/canvas/ANGLEInstancedArrays.cpp
</span><span class="cx"> html/canvas/EXTShaderTextureLOD.cpp
</span><span class="cx"> html/canvas/EXTTextureFilterAnisotropic.cpp
</span><ins>+ html/canvas/EXTsRGB.cpp
</ins><span class="cx"> html/canvas/OESElementIndexUint.cpp
</span><span class="cx"> html/canvas/OESStandardDerivatives.cpp
</span><span class="cx"> html/canvas/OESTextureFloat.cpp
</span><span class="lines">@@ -2845,6 +2848,7 @@
</span><span class="cx"> html/canvas/ANGLEInstancedArrays.idl
</span><span class="cx"> html/canvas/EXTShaderTextureLOD.idl
</span><span class="cx"> html/canvas/EXTTextureFilterAnisotropic.idl
</span><ins>+ html/canvas/EXTsRGB.idl
</ins><span class="cx"> html/canvas/OESElementIndexUint.idl
</span><span class="cx"> html/canvas/OESStandardDerivatives.idl
</span><span class="cx"> html/canvas/OESTextureFloat.idl
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/ChangeLog        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2014-12-07 Roger Fong <roger_fong@apple.com>
+
+ Implementation EXT_sRGB as a WebGL1 extension.
+ https://bugs.webkit.org/show_bug.cgi?id=109332.
+ <rdar://problem/17363470>
+
+ Reviewed by Dean Jackson.
+
+ Tested by:
+ webgl/1.0.3/conformance/webgl/ext-sRGB.html
+ fast/canvas/webgl/constants.html
+
+ This patch implements the SRGB extension for WebGL1.
+ Details of the extension specification are outlined here:
+ https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
+
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::toJS):
+ * html/canvas/EXTsRGB.cpp: Added.
+ (WebCore::EXTsRGB::EXTsRGB):
+ (WebCore::EXTsRGB::~EXTsRGB):
+ (WebCore::EXTsRGB::getName):
+ * html/canvas/EXTsRGB.h: Added.
+ * html/canvas/EXTsRGB.idl: Added.
+ * html/canvas/WebGLExtension.h:
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::checkStatus):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getExtension):
+ (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
+ (WebCore::WebGLRenderingContext::getSupportedExtensions):
+ (WebCore::WebGLRenderingContext::renderbufferStorage):
+ (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebGLRenderingContext.idl:
+ * platform/graphics/Extensions3D.h:
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
+ (WebCore::GraphicsContext3D::getClearBitsByFormat):
+ (WebCore::GraphicsContext3D::getChannelBitsByFormat):
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp:
+ (WebCore::Extensions3DOpenGL::supportsExtension):
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ (WebCore::GraphicsContext3D::texImage2D):
+
</ins><span class="cx"> 2014-12-08 Dean Jackson <dino@apple.com>
</span><span class="cx">
</span><span class="cx"> [Apple] Use Accelerate framework to speed-up FEGaussianBlur
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/DerivedSources.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx"> #include "JSEXTShaderTextureLOD.cpp"
</span><span class="cx"> #include "JSEXTTextureFilterAnisotropic.cpp"
</span><ins>+#include "JSEXTsRGB.cpp"
</ins><span class="cx"> #include "JSOESElementIndexUint.cpp"
</span><span class="cx"> #include "JSOESStandardDerivatives.cpp"
</span><span class="cx"> #include "JSOESTextureFloat.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/DerivedSources.make        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -424,6 +424,7 @@
</span><span class="cx"> $(WebCore)/html/canvas/DOMPath.idl \
</span><span class="cx"> $(WebCore)/html/canvas/EXTShaderTextureLOD.idl \
</span><span class="cx"> $(WebCore)/html/canvas/EXTTextureFilterAnisotropic.idl \
</span><ins>+ $(WebCore)/html/canvas/EXTsRGB.idl \
</ins><span class="cx"> $(WebCore)/html/canvas/OESElementIndexUint.idl \
</span><span class="cx"> $(WebCore)/html/canvas/OESStandardDerivatives.idl \
</span><span class="cx"> $(WebCore)/html/canvas/OESTextureFloat.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-<?xml version="1.0" encoding="utf-8"?>
</del><ins>+<?xml version="1.0" encoding="utf-8"?>
</ins><span class="cx"> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</span><span class="cx"> <ItemGroup Label="ProjectConfigurations">
</span><span class="cx"> <ProjectConfiguration Include="DebugSuffix|Win32">
</span><span class="lines">@@ -720,6 +720,20 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSEXTsRGB.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="..\accessibility\AccessibilityNodeObject.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -6655,6 +6669,7 @@
</span><span class="cx"> <ClCompile Include="..\html\canvas\CanvasContextAttributes.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\CanvasPathMethods.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\EXTShaderTextureLOD.cpp" />
</span><ins>+ <ClCompile Include="..\html\canvas\EXTsRGB.cpp" />
</ins><span class="cx"> <ClCompile Include="..\html\canvas\EXTTextureFilterAnisotropic.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\OESElementIndexUint.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\OESStandardDerivatives.cpp" />
</span><span class="lines">@@ -14933,7 +14948,7 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\editing\win\EditorWin.cpp"/>
</del><ins>+ <ClCompile Include="..\editing\win\EditorWin.cpp" />
</ins><span class="cx"> <ClCompile Include="..\fileapi\AsyncFileStream.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\BaseButtonInputType.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\BaseCheckableInputType.cpp" />
</span><span class="lines">@@ -18852,6 +18867,7 @@
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSVTTRegion.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSVTTRegionList.cpp" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSVTTRegionList.h" />
</span><ins>+ <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEXTsRGB.h" />
</ins><span class="cx"> <ClInclude Include="..\accessibility\AccessibilityNodeObject.h" />
</span><span class="cx"> <ClInclude Include="..\css\CSSImageSetValue.h" />
</span><span class="cx"> <ClInclude Include="..\css\WebKitCSSResourceValue.h" />
</span><span class="lines">@@ -18940,6 +18956,7 @@
</span><span class="cx"> <ClInclude Include="..\html\canvas\CanvasContextAttributes.h" />
</span><span class="cx"> <ClInclude Include="..\html\canvas\CanvasPathMethods.h" />
</span><span class="cx"> <ClInclude Include="..\html\canvas\EXTShaderTextureLOD.h" />
</span><ins>+ <ClInclude Include="..\html\canvas\EXTsRGB.h" />
</ins><span class="cx"> <ClInclude Include="..\html\canvas\EXTTextureFilterAnisotropic.h" />
</span><span class="cx"> <ClInclude Include="..\html\canvas\OESElementIndexUint.h" />
</span><span class="cx"> <ClInclude Include="..\html\canvas\OESStandardDerivatives.h" />
</span><span class="lines">@@ -21403,4 +21420,4 @@
</span><span class="cx"> <ImportGroup Label="ExtensionTargets">
</span><span class="cx"> <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
</span><span class="cx"> </ImportGroup>
</span><del>-</Project>
</del><ins>+</Project>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -4995,9 +4995,6 @@
</span><span class="cx"> <ClCompile Include="..\page\Page.cpp">
</span><span class="cx"> <Filter>page</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\page\PageActivityAssertionToken.cpp">
- <Filter>page</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\page\PageConsoleClient.cpp">
</span><span class="cx"> <Filter>page</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -7261,6 +7258,15 @@
</span><span class="cx"> <ClCompile Include="..\css\WebKitCSSResourceValue.cpp">
</span><span class="cx"> <Filter>css</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\page\PageConfiguration.cpp" />
+ <ClCompile Include="..\loader\cache\CacheValidation.cpp" />
+ <ClCompile Include="..\html\HTMLWBRElement.cpp" />
+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSEXTsRGB.cpp">
+ <Filter>DerivedSources</Filter>
+ </ClCompile>
+ <ClCompile Include="..\html\canvas\EXTsRGB.cpp">
+ <Filter>html\canvas</Filter>
+ </ClCompile>
</ins><span class="cx"> </ItemGroup>
</span><span class="cx"> <ItemGroup>
</span><span class="cx"> <ClInclude Include="..\Modules\geolocation\Coordinates.h">
</span><span class="lines">@@ -15251,7 +15257,7 @@
</span><span class="cx"> <ClInclude Include="..\platform\graphics\avfoundation\MediaTimeAVFoundation.h">
</span><span class="cx"> <Filter>platform\graphics\avfoundation</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\platform\graphics\MaskImageOperation.h">
</del><ins>+ <ClInclude Include="..\platform\graphics\MaskImageOperation.h">
</ins><span class="cx"> <Filter>platform\graphics</Filter>
</span><span class="cx"> </ClInclude>
</span><span class="cx"> <ClInclude Include="..\rendering\RenderLayerMaskImageInfo.h">
</span><span class="lines">@@ -15260,6 +15266,15 @@
</span><span class="cx"> <ClInclude Include="..\css\WebKitCSSResourceValue.h">
</span><span class="cx"> <Filter>css</Filter>
</span><span class="cx"> </ClInclude>
</span><ins>+ <ClInclude Include="..\loader\cache\CacheValidation.h" />
+ <ClInclude Include="..\html\HTMLWBRElement.h" />
+ <ClInclude Include="..\storage\StorageNamespaceProvider.h" />
+ <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEXTsRGB.h">
+ <Filter>DerivedSources</Filter>
+ </ClInclude>
+ <ClInclude Include="..\html\canvas\EXTsRGB.h">
+ <Filter>html\canvas</Filter>
+ </ClInclude>
</ins><span class="cx"> </ItemGroup>
</span><span class="cx"> <ItemGroup>
</span><span class="cx"> <None Include="..\css\CSSGrammar.y.in">
</span><span class="lines">@@ -15473,4 +15488,4 @@
</span><span class="cx"> <Filter>platform\win</Filter>
</span><span class="cx"> </MASM>
</span><span class="cx"> </ItemGroup>
</span><del>-</Project>
</del><ins>+</Project>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -2312,6 +2312,9 @@
</span><span class="cx">                 71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E623CF151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h */; };
</span><span class="cx">                 71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h in Headers */ = {isa = PBXBuildFile; fileRef = 71FB967A1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 72626E020EF022FE00A07E20 /* FontFastPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72626E010EF022FE00A07E20 /* FontFastPath.cpp */; };
</span><ins>+                727AFED41A2EA6AE000442E8 /* EXTsRGB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */; };
+                72E417631A2E8D2F004C562A /* JSEXTsRGB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72E417611A2E8D2F004C562A /* JSEXTsRGB.cpp */; };
+                72E417651A2E8D50004C562A /* JSEXTsRGB.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E417621A2E8D2F004C562A /* JSEXTsRGB.h */; };
</ins><span class="cx">                 754133A8102E00E800075D00 /* InspectorTimelineAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 754133A7102E00E800075D00 /* InspectorTimelineAgent.h */; };
</span><span class="cx">                 754133AA102E00F400075D00 /* InspectorTimelineAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 754133A9102E00F400075D00 /* InspectorTimelineAgent.cpp */; };
</span><span class="cx">                 7553CFE8108F473F00EA281E /* TimelineRecordFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */; };
</span><span class="lines">@@ -9490,6 +9493,11 @@
</span><span class="cx">                 71E623CF151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedIntegerOptionalInteger.h; sourceTree = "<group>"; };
</span><span class="cx">                 71FB967A1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedEnumerationPropertyTearOff.h; sourceTree = "<group>"; };
</span><span class="cx">                 72626E010EF022FE00A07E20 /* FontFastPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontFastPath.cpp; sourceTree = "<group>"; };
</span><ins>+                727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EXTsRGB.cpp; path = canvas/EXTsRGB.cpp; sourceTree = "<group>"; };
+                727AFED21A2EA6A0000442E8 /* EXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EXTsRGB.h; path = canvas/EXTsRGB.h; sourceTree = "<group>"; };
+                727AFED31A2EA6A0000442E8 /* EXTsRGB.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = EXTsRGB.idl; path = canvas/EXTsRGB.idl; sourceTree = "<group>"; };
+                72E417611A2E8D2F004C562A /* JSEXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEXTsRGB.cpp; sourceTree = "<group>"; };
+                72E417621A2E8D2F004C562A /* JSEXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEXTsRGB.h; sourceTree = "<group>"; };
</ins><span class="cx">                 754133A7102E00E800075D00 /* InspectorTimelineAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorTimelineAgent.h; sourceTree = "<group>"; };
</span><span class="cx">                 754133A9102E00F400075D00 /* InspectorTimelineAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorTimelineAgent.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimelineRecordFactory.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -15816,6 +15824,9 @@
</span><span class="cx">                                 7728694B14F8882500F484DC /* EXTTextureFilterAnisotropic.cpp */,
</span><span class="cx">                                 7728694C14F8882500F484DC /* EXTTextureFilterAnisotropic.h */,
</span><span class="cx">                                 7728694D14F8882500F484DC /* EXTTextureFilterAnisotropic.idl */,
</span><ins>+                                727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */,
+                                727AFED21A2EA6A0000442E8 /* EXTsRGB.h */,
+                                727AFED31A2EA6A0000442E8 /* EXTsRGB.idl */,
</ins><span class="cx">                                 7E5D7A73161D3F8F00896C34 /* OESElementIndexUint.cpp */,
</span><span class="cx">                                 7E5D7A74161D3F8F00896C34 /* OESElementIndexUint.h */,
</span><span class="cx">                                 E176580C180DF3A0005A96D1 /* OESElementIndexUint.idl */,
</span><span class="lines">@@ -18717,6 +18728,8 @@
</span><span class="cx">                 A83B79080CCAFF2B000B0825 /* HTML */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                72E417611A2E8D2F004C562A /* JSEXTsRGB.cpp */,
+                                72E417621A2E8D2F004C562A /* JSEXTsRGB.h */,
</ins><span class="cx">                                 31A795C41888BAD100382F90 /* JSANGLEInstancedArrays.cpp */,
</span><span class="cx">                                 31A795C51888BAD100382F90 /* JSANGLEInstancedArrays.h */,
</span><span class="cx">                                 BE8EF03E171C8FF9009B48C3 /* JSAudioTrack.cpp */,
</span><span class="lines">@@ -23481,6 +23494,7 @@
</span><span class="cx">                                 FD315FFC12B0267600C1A359 /* AudioBufferSourceNode.h in Headers */,
</span><span class="cx">                                 FD31607C12B026F700C1A359 /* AudioBus.h in Headers */,
</span><span class="cx">                                 FD31607E12B026F700C1A359 /* AudioChannel.h in Headers */,
</span><ins>+                                72E417651A2E8D50004C562A /* JSEXTsRGB.h in Headers */,
</ins><span class="cx">                                 FD31600512B0267600C1A359 /* AudioContext.h in Headers */,
</span><span class="cx">                                 FD31607F12B026F700C1A359 /* AudioDestination.h in Headers */,
</span><span class="cx">                                 070F549E17F2402700169E04 /* AudioDestinationConsumer.h in Headers */,
</span><span class="lines">@@ -27937,6 +27951,7 @@
</span><span class="cx">                                 974A862214B7ADBB003FDC76 /* FrameDestructionObserver.cpp in Sources */,
</span><span class="cx">                                 FED13D3D0CEA936A00D89466 /* FrameIOS.mm in Sources */,
</span><span class="cx">                                 932E16090AF578340025F408 /* FrameLoader.cpp in Sources */,
</span><ins>+                                72E417631A2E8D2F004C562A /* JSEXTsRGB.cpp in Sources */,
</ins><span class="cx">                                 D000EBA211BDAFD400C47726 /* FrameLoaderStateMachine.cpp in Sources */,
</span><span class="cx">                                 86BA766E166427A8005BE5D1 /* FrameLoadRequest.cpp in Sources */,
</span><span class="cx">                                 93309E0D099E64920056E581 /* FrameSelection.cpp in Sources */,
</span><span class="lines">@@ -29719,6 +29734,7 @@
</span><span class="cx">                                 B22279E50D00BF220071B782 /* SVGFEFuncGElement.cpp in Sources */,
</span><span class="cx">                                 B22279E80D00BF220071B782 /* SVGFEFuncRElement.cpp in Sources */,
</span><span class="cx">                                 B22279EB0D00BF220071B782 /* SVGFEGaussianBlurElement.cpp in Sources */,
</span><ins>+                                727AFED41A2EA6AE000442E8 /* EXTsRGB.cpp in Sources */,
</ins><span class="cx">                                 B25599840D00D8BA00BB825C /* SVGFEImage.cpp in Sources */,
</span><span class="cx">                                 B22279EE0D00BF220071B782 /* SVGFEImageElement.cpp in Sources */,
</span><span class="cx">                                 B22279F10D00BF220071B782 /* SVGFELightElement.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebGLRenderingContextCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -32,12 +32,14 @@
</span><span class="cx"> #include "ANGLEInstancedArrays.h"
</span><span class="cx"> #include "EXTShaderTextureLOD.h"
</span><span class="cx"> #include "EXTTextureFilterAnisotropic.h"
</span><ins>+#include "EXTsRGB.h"
</ins><span class="cx"> #include "ExceptionCode.h"
</span><span class="cx"> #include "HTMLCanvasElement.h"
</span><span class="cx"> #include "HTMLImageElement.h"
</span><span class="cx"> #include "JSANGLEInstancedArrays.h"
</span><span class="cx"> #include "JSEXTShaderTextureLOD.h"
</span><span class="cx"> #include "JSEXTTextureFilterAnisotropic.h"
</span><ins>+#include "JSEXTsRGB.h"
</ins><span class="cx"> #include "JSHTMLCanvasElement.h"
</span><span class="cx"> #include "JSHTMLImageElement.h"
</span><span class="cx"> #include "JSImageData.h"
</span><span class="lines">@@ -211,6 +213,8 @@
</span><span class="cx"> return toJS(exec, globalObject, static_cast<EXTShaderTextureLOD*>(extension));
</span><span class="cx"> case WebGLExtension::EXTTextureFilterAnisotropicName:
</span><span class="cx"> return toJS(exec, globalObject, static_cast<EXTTextureFilterAnisotropic*>(extension));
</span><ins>+ case WebGLExtension::EXTsRGBName:
+ return toJS(exec, globalObject, static_cast<EXTsRGB*>(extension));
</ins><span class="cx"> case WebGLExtension::OESStandardDerivativesName:
</span><span class="cx"> return toJS(exec, globalObject, static_cast<OESStandardDerivatives*>(extension));
</span><span class="cx"> case WebGLExtension::OESTextureFloatName:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasEXTsRGBcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/EXTsRGB.cpp (0 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/EXTsRGB.cpp         (rev 0)
+++ trunk/Source/WebCore/html/canvas/EXTsRGB.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+/*
+ * Copyright (C) 2014 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 AND ITS CONTRIBUTORS "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 OR ITS 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 "config.h"
+
+#if ENABLE(WEBGL)
+#include "EXTsRGB.h"
+
+namespace WebCore {
+
+EXTsRGB::EXTsRGB(WebGLRenderingContext* context)
+ : WebGLExtension(context)
+{
+}
+
+EXTsRGB::~EXTsRGB()
+{
+}
+
+WebGLExtension::ExtensionName EXTsRGB::getName() const
+{
+ return EXTsRGBName;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEBGL)
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasEXTsRGBh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/EXTsRGB.h (0 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/EXTsRGB.h         (rev 0)
+++ trunk/Source/WebCore/html/canvas/EXTsRGB.h        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2014 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 AND ITS CONTRIBUTORS "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 OR ITS 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 EXTsRGB_h
+#define EXTsRGB_h
+
+#include "WebGLExtension.h"
+
+namespace WebCore {
+
+class EXTsRGB final : public WebGLExtension {
+public:
+ explicit EXTsRGB(WebGLRenderingContext*);
+ virtual ~EXTsRGB();
+
+ virtual ExtensionName getName() const override;
+};
+
+} // namespace WebCore
+
+#endif // EXTsRGB_h
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasEXTsRGBidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/EXTsRGB.idl (0 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/EXTsRGB.idl         (rev 0)
+++ trunk/Source/WebCore/html/canvas/EXTsRGB.idl        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+* Copyright (C) 2014 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 AND ITS CONTRIBUTORS "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 OR ITS 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.
+*/
+
+[
+ NoInterfaceObject,
+ Conditional=WEBGL,
+ GenerateIsReachable=ImplWebGLRenderingContext
+] interface EXTsRGB {
+ const unsigned int SRGB_EXT = 0x8C40;
+ const unsigned int SRGB_ALPHA_EXT = 0x8C42;
+ const unsigned int SRGB8_ALPHA8_EXT = 0x8C43;
+ const unsigned int FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLExtensionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLExtension.h (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLExtension.h        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/html/canvas/WebGLExtension.h        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> WebGLLoseContextName,
</span><span class="cx"> EXTShaderTextureLODName,
</span><span class="cx"> EXTTextureFilterAnisotropicName,
</span><ins>+ EXTsRGBName,
</ins><span class="cx"> OESTextureFloatName,
</span><span class="cx"> OESTextureFloatLinearName,
</span><span class="cx"> OESTextureHalfFloatName,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLFramebuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -431,7 +431,13 @@
</span><span class="cx"> *reason = "attachment is not valid";
</span><span class="cx"> return GraphicsContext3D::FRAMEBUFFER_UNSUPPORTED;
</span><span class="cx"> }
</span><del>- if (!attachment->getFormat()) {
</del><ins>+ GC3Denum attachmentFormat = attachment->getFormat();
+
+ // Attaching an SRGB_EXT format attachment to a framebuffer is invalid.
+ if (attachmentFormat == Extensions3D::SRGB_EXT)
+ attachmentFormat = 0;
+
+ if (!attachmentFormat) {
</ins><span class="cx"> *reason = "attachment is an unsupported format";
</span><span class="cx"> return GraphicsContext3D::FRAMEBUFFER_INCOMPLETE_ATTACHMENT;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "EXTShaderTextureLOD.h"
</span><span class="cx"> #include "EXTTextureFilterAnisotropic.h"
</span><ins>+#include "EXTsRGB.h"
</ins><span class="cx"> #include "ExceptionCode.h"
</span><span class="cx"> #include "Extensions3D.h"
</span><span class="cx"> #include "Frame.h"
</span><span class="lines">@@ -2430,6 +2431,15 @@
</span><span class="cx"> if (isContextLostOrPending())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><ins>+ if (equalIgnoringCase(name, "EXT_sRGB")
+ && m_context->getExtensions()->supports("GL_EXT_sRGB")) {
+ if (!m_extsRGB) {
+ m_context->getExtensions()->ensureEnabled("GL_EXT_sRGB");
+ m_extsRGB = std::make_unique<EXTsRGB>(this);
+ }
+ return m_extsRGB.get();
+ }
+
</ins><span class="cx"> if (equalIgnoringCase(name, "EXT_shader_texture_lod")
</span><span class="cx"> && (m_context->getExtensions()->supports("GL_EXT_shader_texture_lod") || m_context->getExtensions()->supports("GL_ARB_shader_texture_lod"))) {
</span><span class="cx"> if (!m_extShaderTextureLOD) {
</span><span class="lines">@@ -2594,11 +2604,11 @@
</span><span class="cx"> return WebGLGetInfo(PassRefPtr<WebGLTexture>(reinterpret_cast<WebGLTexture*>(object)));
</span><span class="cx"> case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
</span><span class="cx"> case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:
</span><del>- {
- GC3Dint value = 0;
- m_context->getFramebufferAttachmentParameteriv(target, attachment, pname, &value);
- return WebGLGetInfo(value);
- }
</del><ins>+ case Extensions3D::FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: {
+ GC3Dint value = 0;
+ m_context->getFramebufferAttachmentParameteriv(target, attachment, pname, &value);
+ return WebGLGetInfo(value);
+ }
</ins><span class="cx"> default:
</span><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_ENUM, "getFramebufferAttachmentParameter", "invalid parameter name for texture attachment");
</span><span class="cx"> return WebGLGetInfo();
</span><span class="lines">@@ -2609,6 +2619,14 @@
</span><span class="cx"> return WebGLGetInfo(GraphicsContext3D::RENDERBUFFER);
</span><span class="cx"> case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
</span><span class="cx"> return WebGLGetInfo(PassRefPtr<WebGLRenderbuffer>(reinterpret_cast<WebGLRenderbuffer*>(object)));
</span><ins>+ case Extensions3D::FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: {
+ WebGLRenderbuffer* renderBuffer = reinterpret_cast<WebGLRenderbuffer*>(object);
+ GC3Denum renderBufferFormat = renderBuffer->getInternalFormat();
+ ASSERT(renderBufferFormat != Extensions3D::SRGB_EXT && renderBufferFormat != Extensions3D::SRGB_ALPHA_EXT);
+ if (renderBufferFormat == Extensions3D::SRGB8_ALPHA8_EXT)
+ return WebGLGetInfo(Extensions3D::SRGB_EXT);
+ return WebGLGetInfo(GraphicsContext3D::LINEAR);
+ }
</ins><span class="cx"> default:
</span><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_ENUM, "getFramebufferAttachmentParameter", "invalid parameter name for renderbuffer attachment");
</span><span class="cx"> return WebGLGetInfo();
</span><span class="lines">@@ -3038,6 +3056,8 @@
</span><span class="cx"> if (m_isPendingPolicyResolution)
</span><span class="cx"> return result;
</span><span class="cx">
</span><ins>+ if (m_context->getExtensions()->supports("GL_EXT_sRGB"))
+ result.append("EXT_sRGB");
</ins><span class="cx"> if (m_context->getExtensions()->supports("GL_OES_texture_float"))
</span><span class="cx"> result.append("OES_texture_float");
</span><span class="cx"> if (m_context->getExtensions()->supports("GL_OES_texture_float_linear"))
</span><span class="lines">@@ -3625,6 +3645,11 @@
</span><span class="cx"> case GraphicsContext3D::RGB5_A1:
</span><span class="cx"> case GraphicsContext3D::RGB565:
</span><span class="cx"> case GraphicsContext3D::STENCIL_INDEX8:
</span><ins>+ case Extensions3D::SRGB8_ALPHA8_EXT:
+ if (internalformat == Extensions3D::SRGB8_ALPHA8_EXT && !m_extsRGB) {
+ synthesizeGLError(GraphicsContext3D::INVALID_ENUM, "renderbufferStorage", "invalid internalformat");
+ return;
+ }
</ins><span class="cx"> m_context->renderbufferStorage(target, internalformat, width, height);
</span><span class="cx"> m_renderbufferBinding->setInternalFormat(internalformat);
</span><span class="cx"> m_renderbufferBinding->setIsValid(true);
</span><span class="lines">@@ -5088,7 +5113,12 @@
</span><span class="cx"> break;
</span><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_ENUM, functionName, "depth texture formats not enabled");
</span><span class="cx"> return false;
</span><ins>+ case Extensions3D::SRGB_EXT:
+ case Extensions3D::SRGB_ALPHA_EXT:
</ins><span class="cx"> default:
</span><ins>+ if ((format == Extensions3D::SRGB_EXT || format == Extensions3D::SRGB_ALPHA_EXT)
+ && m_extsRGB)
+ break;
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_ENUM, functionName, "invalid texture format");
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -5134,6 +5164,7 @@
</span><span class="cx"> }
</span><span class="cx"> break;
</span><span class="cx"> case GraphicsContext3D::RGB:
</span><ins>+ case Extensions3D::SRGB_EXT:
</ins><span class="cx"> if (type != GraphicsContext3D::UNSIGNED_BYTE
</span><span class="cx"> && type != GraphicsContext3D::UNSIGNED_SHORT_5_6_5
</span><span class="cx"> && type != GraphicsContext3D::FLOAT
</span><span class="lines">@@ -5143,6 +5174,7 @@
</span><span class="cx"> }
</span><span class="cx"> break;
</span><span class="cx"> case GraphicsContext3D::RGBA:
</span><ins>+ case Extensions3D::SRGB_ALPHA_EXT:
</ins><span class="cx"> if (type != GraphicsContext3D::UNSIGNED_BYTE
</span><span class="cx"> && type != GraphicsContext3D::UNSIGNED_SHORT_4_4_4_4
</span><span class="cx"> && type != GraphicsContext3D::UNSIGNED_SHORT_5_5_5_1
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> class ANGLEInstancedArrays;
</span><span class="cx"> class EXTTextureFilterAnisotropic;
</span><span class="cx"> class EXTShaderTextureLOD;
</span><ins>+class EXTsRGB;
</ins><span class="cx"> class HTMLImageElement;
</span><span class="cx"> class HTMLVideoElement;
</span><span class="cx"> class ImageBuffer;
</span><span class="lines">@@ -538,6 +539,7 @@
</span><span class="cx"> bool isContextLostOrPending();
</span><span class="cx">
</span><span class="cx"> // Enabled extension objects.
</span><ins>+ std::unique_ptr<EXTsRGB> m_extsRGB;
</ins><span class="cx"> std::unique_ptr<EXTTextureFilterAnisotropic> m_extTextureFilterAnisotropic;
</span><span class="cx"> std::unique_ptr<EXTShaderTextureLOD> m_extShaderTextureLOD;
</span><span class="cx"> std::unique_ptr<OESTextureFloat> m_oesTextureFloat;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -418,6 +418,11 @@
</span><span class="cx"> const GLenum STENCIL_INDEX8 = 0x8D48;
</span><span class="cx"> const GLenum DEPTH_STENCIL = 0x84F9;
</span><span class="cx">
</span><ins>+ const GLenum SRGB_EXT = 0x8C40;
+ const GLenum SRGB_ALPHA_EXT = 0x8C42;
+ const GLenum SRGB8_ALPHA8_EXT = 0x8C43;
+ const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210;
+
</ins><span class="cx"> const GLenum RENDERBUFFER_WIDTH = 0x8D42;
</span><span class="cx"> const GLenum RENDERBUFFER_HEIGHT = 0x8D43;
</span><span class="cx"> const GLenum RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsExtensions3Dh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Extensions3D.h (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Extensions3D.h        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/platform/graphics/Extensions3D.h        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -90,6 +90,12 @@
</span><span class="cx"> virtual bool isEnabled(const String&) = 0;
</span><span class="cx">
</span><span class="cx"> enum ExtensionsEnumType {
</span><ins>+ // EXT_sRGB formats
+ SRGB_EXT = 0x8C40,
+ SRGB_ALPHA_EXT = 0x8C42,
+ SRGB8_ALPHA8_EXT = 0x8C43,
+ FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210,
+
</ins><span class="cx"> // GL_EXT_texture_format_BGRA8888 enums
</span><span class="cx"> BGRA_EXT = 0x80E1,
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContext3Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3D.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext3D.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3D.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -159,10 +159,12 @@
</span><span class="cx"> *componentsPerPixel = 2;
</span><span class="cx"> break;
</span><span class="cx"> case GraphicsContext3D::RGB:
</span><ins>+ case Extensions3D::SRGB_EXT:
</ins><span class="cx"> *componentsPerPixel = 3;
</span><span class="cx"> break;
</span><span class="cx"> case GraphicsContext3D::RGBA:
</span><span class="cx"> case Extensions3D::BGRA_EXT: // GL_EXT_texture_format_BGRA8888
</span><ins>+ case Extensions3D::SRGB_ALPHA_EXT:
</ins><span class="cx"> *componentsPerPixel = 4;
</span><span class="cx"> break;
</span><span class="cx"> default:
</span><span class="lines">@@ -412,6 +414,9 @@
</span><span class="cx"> case GraphicsContext3D::RGBA:
</span><span class="cx"> case GraphicsContext3D::RGBA4:
</span><span class="cx"> case GraphicsContext3D::RGB5_A1:
</span><ins>+ case Extensions3D::SRGB_EXT:
+ case Extensions3D::SRGB_ALPHA_EXT:
+ case Extensions3D::SRGB8_ALPHA8_EXT:
</ins><span class="cx"> return GraphicsContext3D::COLOR_BUFFER_BIT;
</span><span class="cx"> case GraphicsContext3D::DEPTH_COMPONENT16:
</span><span class="cx"> case GraphicsContext3D::DEPTH_COMPONENT:
</span><span class="lines">@@ -436,10 +441,12 @@
</span><span class="cx"> return ChannelRGBA;
</span><span class="cx"> case GraphicsContext3D::RGB:
</span><span class="cx"> case GraphicsContext3D::RGB565:
</span><ins>+ case Extensions3D::SRGB_EXT:
</ins><span class="cx"> return ChannelRGB;
</span><span class="cx"> case GraphicsContext3D::RGBA:
</span><span class="cx"> case GraphicsContext3D::RGBA4:
</span><span class="cx"> case GraphicsContext3D::RGB5_A1:
</span><ins>+ case Extensions3D::SRGB_ALPHA_EXT:
</ins><span class="cx"> return ChannelRGBA;
</span><span class="cx"> case GraphicsContext3D::DEPTH_COMPONENT16:
</span><span class="cx"> case GraphicsContext3D::DEPTH_COMPONENT:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsopenglExtensions3DOpenGLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -169,6 +169,13 @@
</span><span class="cx"> && (m_availableExtensions.contains("GL_ARB_draw_instanced") || m_availableExtensions.contains("GL_EXT_draw_instanced"));
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ if (name == "GL_EXT_sRGB")
+#if PLATFORM(IOS)
+ return m_availableExtensions.contians("GL_EXT_sRGB")
+#else
+ return m_availableExtensions.contains("GL_EXT_texture_sRGB") && (m_availableExtensions.contains("GL_EXT_framebuffer_sRGB") || m_availableExtensions.contains("GL_ARB_framebuffer_sRGB"));
+#endif
+
</ins><span class="cx"> // Desktop GL always supports GL_OES_rgb8_rgba8.
</span><span class="cx"> if (name == "GL_OES_rgb8_rgba8")
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsopenglGraphicsContext3DOpenGLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp (177001 => 177002)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp        2014-12-09 01:53:53 UTC (rev 177001)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp        2014-12-09 02:04:38 UTC (rev 177002)
</span><span class="lines">@@ -322,6 +322,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ GC3Denum openGLFormat = format;
</ins><span class="cx"> GC3Denum openGLInternalFormat = internalformat;
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> if (type == GL_FLOAT) {
</span><span class="lines">@@ -342,8 +343,13 @@
</span><span class="cx"> openGLInternalFormat = GL_LUMINANCE_ALPHA16F_ARB;
</span><span class="cx"> type = GL_HALF_FLOAT_ARB;
</span><span class="cx"> }
</span><ins>+
+ if (format == Extensions3D::SRGB_ALPHA_EXT)
+ openGLFormat = GL_RGBA;
+ else if (format == Extensions3D::SRGB_EXT)
+ openGLFormat = GL_RGB;
</ins><span class="cx"> #endif
</span><del>- texImage2DDirect(target, level, openGLInternalFormat, width, height, border, format, type, pixels);
</del><ins>+ texImage2DDirect(target, level, openGLInternalFormat, width, height, border, openGLFormat, type, pixels);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>