<!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>[200298] 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/200298">200298</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-04-30 15:06:21 -0700 (Sat, 30 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>[Web IDL] Pass even more types by reference
https://bugs.webkit.org/show_bug.cgi?id=157231

Reviewed by Darin Adler.

Source/WebCore:

Pass even more types by reference when the parameters are not marked as
nullable in the IDL.

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateKeyRequest):
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::addKeyTimerFired):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::createSession):
* Modules/encryptedmedia/MediaKeys.h:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::appendBuffer):
(WebCore::SourceBuffer::resetParserState): Deleted.
* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::send):
* Modules/mediastream/RTCDataChannel.h:
* Modules/webaudio/AnalyserNode.h:
(WebCore::AnalyserNode::getFloatFrequencyData):
(WebCore::AnalyserNode::getByteFrequencyData):
(WebCore::AnalyserNode::getByteTimeDomainData):
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createPeriodicWave):
* Modules/webaudio/AudioContext.h:
* Modules/webaudio/AudioParam.h:
(WebCore::AudioParam::setValueCurveAtTime):
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
* Modules/webaudio/BiquadFilterNode.h:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::create):
(WebCore::PeriodicWave::createSine): Deleted.
* Modules/webaudio/PeriodicWave.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
* Modules/websockets/WebSocket.h:
* bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(ShouldPassWrapperByReference):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors2):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitAddKey):
(WebCore::HTMLMediaElement::webkitCancelKeyRequest): Deleted.
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* html/ImageData.cpp:
(WebCore::ImageData::create):
(WebCore::ImageData::ImageData):
* html/ImageData.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::compressedTexImage3D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage3D):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::getActiveUniforms):
(WebCore::WebGL2RenderingContext::texSubImage2D):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::uniform1fv):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::uniform2fv):
(WebCore::WebGLRenderingContextBase::uniform2iv):
(WebCore::WebGLRenderingContextBase::uniform3fv):
(WebCore::WebGLRenderingContextBase::uniform3iv):
(WebCore::WebGLRenderingContextBase::uniform4fv):
(WebCore::WebGLRenderingContextBase::uniform4iv):
(WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib1fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib2fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib3fv):
(WebCore::WebGLRenderingContextBase::vertexAttrib4fv):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateUniformParameters):
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::validateSettableTexFormat): Deleted.
(WebCore::WebGLRenderingContextBase::uniform1i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform2i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform3f): Deleted.
(WebCore::WebGLRenderingContextBase::uniform3i): Deleted.
(WebCore::WebGLRenderingContextBase::uniform4f): Deleted.
(WebCore::WebGLRenderingContextBase::uniform4i): Deleted.
(WebCore::WebGLRenderingContextBase::useProgram): Deleted.
(WebCore::WebGLRenderingContextBase::vertexAttribPointer): Deleted.
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions): Deleted.
(WebCore::WebGLRenderingContextBase::validateBufferDataParameters): Deleted.
* html/canvas/WebGLRenderingContextBase.h:
* html/canvas/WebGLRenderingContextBase.idl:
* testing/Internals.cpp:
(WebCore::Internals::createTimeRanges):
* testing/Internals.h:

LayoutTests:

Update test now that slightly different exceptions are thrown.

* media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxexpectedtxt">trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxhtml">trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeySessioncpp">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeySessionh">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeyscpp">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeysh">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeysidl">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBuffercpp">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBufferh">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCDataChannelcpp">trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCDataChannelh">trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAnalyserNodeh">trunk/Source/WebCore/Modules/webaudio/AnalyserNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAnalyserNodeidl">trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextcpp">trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContexth">trunk/Source/WebCore/Modules/webaudio/AudioContext.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioParamh">trunk/Source/WebCore/Modules/webaudio/AudioParam.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioParamidl">trunk/Source/WebCore/Modules/webaudio/AudioParam.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodecpp">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodeh">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodeidl">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPeriodicWavecpp">trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPeriodicWaveh">trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketcpp">trunk/Source/WebCore/Modules/websockets/WebSocket.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketh">trunk/Source/WebCore/Modules/websockets/WebSocket.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWebGLRenderingContextBaseCustomcpp">trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementh">trunk/Source/WebCore/html/HTMLMediaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementidl">trunk/Source/WebCore/html/HTMLMediaElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDatacpp">trunk/Source/WebCore/html/ImageData.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDatah">trunk/Source/WebCore/html/ImageData.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGL2RenderingContexth">trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGL2RenderingContextidl">trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl</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="#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="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseidl">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/LayoutTests/ChangeLog        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-04-30  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        [Web IDL] Pass even more types by reference
+        https://bugs.webkit.org/show_bug.cgi?id=157231
+
+        Reviewed by Darin Adler.
+
+        Update test now that slightly different exceptions are thrown.
+
+        * media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
+        * media/encrypted-media/encrypted-media-v2-syntax.html:
+
</ins><span class="cx"> 2016-04-30  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Node.prototype.rootNode is not Web compatible
</span></span></pre></div>
<a id="trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax-expected.txt        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> EXPECTED (mediaKeys.keySystem == 'com.webcore.mock') OK
</span><span class="cx"> EXPECTED (typeof mediaKeys.createSession == 'function') OK
</span><span class="cx"> TEST(mediaKeys.createSession(&quot;&quot;, new Uint8Array(1))) THROWS(DOMException.INVALID_ACCESS_ERR) OK
</span><del>-TEST(mediaKeys.createSession(&quot;unsupported/type&quot;)) THROWS(DOMException.INVALID_ACCESS_ERR) OK
</del><ins>+TEST(mediaKeys.createSession(&quot;unsupported/type&quot;)) THROWS('TypeError: Not enough arguments') OK
</ins><span class="cx"> TEST(mediaKeys.createSession(&quot;unsupported/type&quot;, new Uint8Array(1))) THROWS(DOMException.NOT_SUPPORTED_ERR) OK
</span><span class="cx"> 
</span><span class="cx"> Test WebKitMediaKeySession.
</span><span class="lines">@@ -22,6 +22,6 @@
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeyadded == 'null') OK
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeyerror == 'null') OK
</span><span class="cx"> EXPECTED (mediaKeySession.onwebkitkeymessage == 'null') OK
</span><del>-TEST(mediaKeySession.update(null)) THROWS(DOMException.INVALID_ACCESS_ERR) OK
</del><ins>+TEST(mediaKeySession.update(null)) THROWS('TypeError: Type error') OK
</ins><span class="cx"> END OF TEST
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmediaencryptedmediaencryptedmediav2syntaxhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/LayoutTests/media/encrypted-media/encrypted-media-v2-syntax.html        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">                 testExpected('mediaKeys.keySystem', 'com.webcore.mock');
</span><span class="cx">                 testExpected('typeof mediaKeys.createSession', 'function');
</span><span class="cx">                 testDOMException('mediaKeys.createSession(&quot;&quot;, new Uint8Array(1))', &quot;DOMException.INVALID_ACCESS_ERR&quot;);
</span><del>-                testDOMException('mediaKeys.createSession(&quot;unsupported/type&quot;)', &quot;DOMException.INVALID_ACCESS_ERR&quot;);
</del><ins>+                testException('mediaKeys.createSession(&quot;unsupported/type&quot;)', &quot;'TypeError: Not enough arguments'&quot;);
</ins><span class="cx">                 testDOMException('mediaKeys.createSession(&quot;unsupported/type&quot;, new Uint8Array(1))', &quot;DOMException.NOT_SUPPORTED_ERR&quot;);
</span><span class="cx">                 consoleWrite(&quot;&quot;);
</span><span class="cx"> 
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeyadded', null);
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeyerror', null);
</span><span class="cx">                 testExpected('mediaKeySession.onwebkitkeymessage', null);
</span><del>-                testDOMException('mediaKeySession.update(null)', &quot;DOMException.INVALID_ACCESS_ERR&quot;);
</del><ins>+                testException('mediaKeySession.update(null)', &quot;'TypeError: Type error'&quot;);
</ins><span class="cx">                 endTest();
</span><span class="cx">             }
</span><span class="cx">         &lt;/script&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/ChangeLog        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -1,3 +1,144 @@
</span><ins>+2016-04-30  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        [Web IDL] Pass even more types by reference
+        https://bugs.webkit.org/show_bug.cgi?id=157231
+
+        Reviewed by Darin Adler.
+
+        Pass even more types by reference when the parameters are not marked as
+        nullable in the IDL.
+
+        * Modules/encryptedmedia/MediaKeySession.cpp:
+        (WebCore::MediaKeySession::generateKeyRequest):
+        (WebCore::MediaKeySession::keyRequestTimerFired):
+        (WebCore::MediaKeySession::update):
+        (WebCore::MediaKeySession::addKeyTimerFired):
+        * Modules/encryptedmedia/MediaKeySession.h:
+        * Modules/encryptedmedia/MediaKeys.cpp:
+        (WebCore::MediaKeys::createSession):
+        * Modules/encryptedmedia/MediaKeys.h:
+        * Modules/encryptedmedia/MediaKeys.idl:
+        * Modules/mediasource/SourceBuffer.cpp:
+        (WebCore::SourceBuffer::appendBuffer):
+        (WebCore::SourceBuffer::resetParserState): Deleted.
+        * Modules/mediasource/SourceBuffer.h:
+        * Modules/mediastream/RTCDataChannel.cpp:
+        (WebCore::RTCDataChannel::send):
+        * Modules/mediastream/RTCDataChannel.h:
+        * Modules/webaudio/AnalyserNode.h:
+        (WebCore::AnalyserNode::getFloatFrequencyData):
+        (WebCore::AnalyserNode::getByteFrequencyData):
+        (WebCore::AnalyserNode::getByteTimeDomainData):
+        * Modules/webaudio/AnalyserNode.idl:
+        * Modules/webaudio/AudioContext.cpp:
+        (WebCore::AudioContext::createPeriodicWave):
+        * Modules/webaudio/AudioContext.h:
+        * Modules/webaudio/AudioParam.h:
+        (WebCore::AudioParam::setValueCurveAtTime):
+        * Modules/webaudio/AudioParam.idl:
+        * Modules/webaudio/BiquadFilterNode.cpp:
+        (WebCore::BiquadFilterNode::getFrequencyResponse):
+        * Modules/webaudio/BiquadFilterNode.h:
+        * Modules/webaudio/BiquadFilterNode.idl:
+        * Modules/webaudio/PeriodicWave.cpp:
+        (WebCore::PeriodicWave::create):
+        (WebCore::PeriodicWave::createSine): Deleted.
+        * Modules/webaudio/PeriodicWave.h:
+        * Modules/websockets/WebSocket.cpp:
+        (WebCore::WebSocket::send):
+        * Modules/websockets/WebSocket.h:
+        * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
+        (WebCore::dataFunctionf):
+        (WebCore::dataFunctioni):
+        (WebCore::dataFunctionMatrix):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateParametersCheck):
+        (ShouldPassWrapperByReference):
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        (WebCore::constructJSTestOverloadedConstructors2):
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::webkitAddKey):
+        (WebCore::HTMLMediaElement::webkitCancelKeyRequest): Deleted.
+        * html/HTMLMediaElement.h:
+        * html/HTMLMediaElement.idl:
+        * html/ImageData.cpp:
+        (WebCore::ImageData::create):
+        (WebCore::ImageData::ImageData):
+        * html/ImageData.h:
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::getImageData):
+        * html/canvas/WebGL2RenderingContext.cpp:
+        (WebCore::WebGL2RenderingContext::texImage3D):
+        (WebCore::WebGL2RenderingContext::texSubImage3D):
+        (WebCore::WebGL2RenderingContext::compressedTexImage3D):
+        (WebCore::WebGL2RenderingContext::compressedTexSubImage3D):
+        (WebCore::WebGL2RenderingContext::uniform1uiv):
+        (WebCore::WebGL2RenderingContext::uniform2uiv):
+        (WebCore::WebGL2RenderingContext::uniform3uiv):
+        (WebCore::WebGL2RenderingContext::uniform4uiv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
+        (WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
+        (WebCore::WebGL2RenderingContext::vertexAttribI4iv):
+        (WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
+        (WebCore::WebGL2RenderingContext::clearBufferiv):
+        (WebCore::WebGL2RenderingContext::clearBufferuiv):
+        (WebCore::WebGL2RenderingContext::clearBufferfv):
+        (WebCore::WebGL2RenderingContext::getActiveUniforms):
+        (WebCore::WebGL2RenderingContext::texSubImage2D):
+        * html/canvas/WebGL2RenderingContext.h:
+        * html/canvas/WebGL2RenderingContext.idl:
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::texSubImage2D):
+        * html/canvas/WebGLRenderingContext.h:
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::bufferData):
+        (WebCore::WebGLRenderingContextBase::bufferSubData):
+        (WebCore::WebGLRenderingContextBase::compressedTexImage2D):
+        (WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
+        (WebCore::WebGLRenderingContextBase::readPixels):
+        (WebCore::WebGLRenderingContextBase::texImage2D):
+        (WebCore::WebGLRenderingContextBase::uniform1fv):
+        (WebCore::WebGLRenderingContextBase::uniform1iv):
+        (WebCore::WebGLRenderingContextBase::uniform2fv):
+        (WebCore::WebGLRenderingContextBase::uniform2iv):
+        (WebCore::WebGLRenderingContextBase::uniform3fv):
+        (WebCore::WebGLRenderingContextBase::uniform3iv):
+        (WebCore::WebGLRenderingContextBase::uniform4fv):
+        (WebCore::WebGLRenderingContextBase::uniform4iv):
+        (WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
+        (WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
+        (WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
+        (WebCore::WebGLRenderingContextBase::vertexAttrib1fv):
+        (WebCore::WebGLRenderingContextBase::vertexAttrib2fv):
+        (WebCore::WebGLRenderingContextBase::vertexAttrib3fv):
+        (WebCore::WebGLRenderingContextBase::vertexAttrib4fv):
+        (WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
+        (WebCore::WebGLRenderingContextBase::validateUniformParameters):
+        (WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
+        (WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
+        (WebCore::WebGLRenderingContextBase::validateSettableTexFormat): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform1i): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform2i): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform3f): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform3i): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform4f): Deleted.
+        (WebCore::WebGLRenderingContextBase::uniform4i): Deleted.
+        (WebCore::WebGLRenderingContextBase::useProgram): Deleted.
+        (WebCore::WebGLRenderingContextBase::vertexAttribPointer): Deleted.
+        (WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions): Deleted.
+        (WebCore::WebGLRenderingContextBase::validateBufferDataParameters): Deleted.
+        * html/canvas/WebGLRenderingContextBase.h:
+        * html/canvas/WebGLRenderingContextBase.idl:
+        * testing/Internals.cpp:
+        (WebCore::Internals::createTimeRanges):
+        * testing/Internals.h:
+
</ins><span class="cx"> 2016-04-30  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Node.prototype.rootNode is not Web compatible
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeySessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -89,9 +89,9 @@
</span><span class="cx">     return m_session-&gt;sessionId();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaKeySession::generateKeyRequest(const String&amp; mimeType, Uint8Array* initData)
</del><ins>+void MediaKeySession::generateKeyRequest(const String&amp; mimeType, Ref&lt;Uint8Array&gt;&amp;&amp; initData)
</ins><span class="cx"> {
</span><del>-    m_pendingKeyRequests.append(PendingKeyRequest(mimeType, initData));
</del><ins>+    m_pendingKeyRequests.append({ mimeType, WTFMove(initData) });
</ins><span class="cx">     m_keyRequestTimer.startOneShot(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> 
</span><span class="cx">         // 3. Use cdm to generate a key request and follow the steps for the first matching condition from the following list:
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Uint8Array&gt; keyRequest = m_session-&gt;generateKeyRequest(request.mimeType, request.initData.get(), destinationURL, errorCode, systemCode);
</del><ins>+        RefPtr&lt;Uint8Array&gt; keyRequest = m_session-&gt;generateKeyRequest(request.mimeType, request.initData.ptr(), destinationURL, errorCode, systemCode);
</ins><span class="cx"> 
</span><span class="cx">         // Otherwise [if a request is not successfully generated]:
</span><span class="cx">         if (errorCode) {
</span><span class="lines">@@ -138,19 +138,19 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaKeySession::update(Uint8Array* key, ExceptionCode&amp; ec)
</del><ins>+void MediaKeySession::update(Ref&lt;Uint8Array&gt;&amp;&amp; key, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     // From &lt;http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#dom-addkey&gt;:
</span><span class="cx">     // The addKey(key) method must run the following steps:
</span><del>-    // 1. If the first or second argument [sic] is null or an empty array, throw an INVALID_ACCESS_ERR.
</del><ins>+    // 1. If the first or second argument [sic] is an empty array, throw an INVALID_ACCESS_ERR.
</ins><span class="cx">     // NOTE: the reference to a &quot;second argument&quot; is a spec bug.
</span><del>-    if (!key || !key-&gt;length()) {
</del><ins>+    if (!key-&gt;length()) {
</ins><span class="cx">         ec = INVALID_ACCESS_ERR;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // 2. Schedule a task to handle the call, providing key.
</span><del>-    m_pendingKeys.append(key);
</del><ins>+    m_pendingKeys.append(WTFMove(key));
</ins><span class="cx">     m_addKeyTimer.startOneShot(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     while (!m_pendingKeys.isEmpty()) {
</span><del>-        RefPtr&lt;Uint8Array&gt; pendingKey = m_pendingKeys.takeFirst();
</del><ins>+        auto pendingKey = m_pendingKeys.takeFirst();
</ins><span class="cx">         unsigned short errorCode = 0;
</span><span class="cx">         uint32_t systemCode = 0;
</span><span class="cx"> 
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">         // 2.3. Let 'next message' be null.
</span><span class="cx">         RefPtr&lt;Uint8Array&gt; nextMessage;
</span><span class="cx">         // 2.4. Use cdm to handle key.
</span><del>-        didStoreKey = m_session-&gt;update(pendingKey.get(), nextMessage, errorCode, systemCode);
</del><ins>+        didStoreKey = m_session-&gt;update(pendingKey.ptr(), nextMessage, errorCode, systemCode);
</ins><span class="cx">         // 2.5. If did store key is true and the media element is waiting for a key, queue a task to attempt to resume playback.
</span><span class="cx">         // TODO: Find and restart the media element
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeySessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -60,8 +60,8 @@
</span><span class="cx">     void setKeys(MediaKeys* keys) { m_keys = keys; }
</span><span class="cx">     MediaKeys* keys() const { return m_keys; }
</span><span class="cx"> 
</span><del>-    void generateKeyRequest(const String&amp; mimeType, Uint8Array* initData);
-    void update(Uint8Array* key, ExceptionCode&amp;);
</del><ins>+    void generateKeyRequest(const String&amp; mimeType, Ref&lt;Uint8Array&gt;&amp;&amp; initData);
+    void update(Ref&lt;Uint8Array&gt;&amp;&amp; key, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool isClosed() const { return !m_session; }
</span><span class="cx">     void close();
</span><span class="lines">@@ -97,14 +97,13 @@
</span><span class="cx">     std::unique_ptr&lt;CDMSession&gt; m_session;
</span><span class="cx"> 
</span><span class="cx">     struct PendingKeyRequest {
</span><del>-        PendingKeyRequest(const String&amp; mimeType, Uint8Array* initData) : mimeType(mimeType), initData(initData) { }
</del><span class="cx">         String mimeType;
</span><del>-        RefPtr&lt;Uint8Array&gt; initData;
</del><ins>+        Ref&lt;Uint8Array&gt; initData;
</ins><span class="cx">     };
</span><span class="cx">     Deque&lt;PendingKeyRequest&gt; m_pendingKeyRequests;
</span><span class="cx">     Timer m_keyRequestTimer;
</span><span class="cx"> 
</span><del>-    Deque&lt;RefPtr&lt;Uint8Array&gt;&gt; m_pendingKeys;
</del><ins>+    Deque&lt;Ref&lt;Uint8Array&gt;&gt; m_pendingKeys;
</ins><span class="cx">     Timer m_addKeyTimer;
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeyscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;MediaKeySession&gt; MediaKeys::createSession(ScriptExecutionContext&amp; context, const String&amp; type, Uint8Array* initData, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;MediaKeySession&gt; MediaKeys::createSession(ScriptExecutionContext&amp; context, const String&amp; type, Ref&lt;Uint8Array&gt;&amp;&amp; initData, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     // From &lt;http://www.w3.org/TR/2014/WD-encrypted-media-20140218/#dom-createsession&gt;:
</span><span class="cx">     // The createSession(type, initData) method must run the following steps:
</span><span class="lines">@@ -95,8 +95,8 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // 2. If initData is null or an empty array, throw an INVALID_ACCESS_ERR exception and abort these steps.
-    if (!initData || !initData-&gt;length()) {
</del><ins>+    // 2. If initData is an empty array, throw an INVALID_ACCESS_ERR exception and abort these steps.
+    if (!initData-&gt;length()) {
</ins><span class="cx">         ec = INVALID_ACCESS_ERR;
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="lines">@@ -111,15 +111,15 @@
</span><span class="cx">     // 4. Create a new MediaKeySession object.
</span><span class="cx">     // 4.1 Let the keySystem attribute be keySystem.
</span><span class="cx">     // 4.2 Let the sessionId attribute be a unique Session ID string. It may be generated by cdm.
</span><del>-    RefPtr&lt;MediaKeySession&gt; session = MediaKeySession::create(context, this, keySystem());
</del><ins>+    auto session = MediaKeySession::create(context, this, keySystem());
</ins><span class="cx"> 
</span><del>-    m_sessions.append(session);
</del><ins>+    m_sessions.append(session.copyRef());
</ins><span class="cx"> 
</span><span class="cx">     // 5. Schedule a task to initialize the session, providing contentType, initData, and the new object.
</span><del>-    session-&gt;generateKeyRequest(type, initData);
</del><ins>+    session-&gt;generateKeyRequest(type, WTFMove(initData));
</ins><span class="cx"> 
</span><span class="cx">     // 6. Return the new object to the caller.
</span><del>-    return session;
</del><ins>+    return WTFMove(session);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaKeys::isTypeSupported(const String&amp; keySystem, const String&amp; mimeType)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeysh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     static RefPtr&lt;MediaKeys&gt; create(const String&amp; keySystem, ExceptionCode&amp;);
</span><span class="cx">     virtual ~MediaKeys();
</span><span class="cx"> 
</span><del>-    RefPtr&lt;MediaKeySession&gt; createSession(ScriptExecutionContext&amp;, const String&amp; mimeType, Uint8Array* initData, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;MediaKeySession&gt; createSession(ScriptExecutionContext&amp;, const String&amp; mimeType, Ref&lt;Uint8Array&gt;&amp;&amp; initData, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static bool isTypeSupported(const String&amp; keySystem, const String&amp; mimeType);
</span><span class="cx"> 
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     MediaKeys(const String&amp; keySystem, std::unique_ptr&lt;CDM&gt;);
</span><span class="cx"> 
</span><del>-    Vector&lt;RefPtr&lt;MediaKeySession&gt;&gt; m_sessions;
</del><ins>+    Vector&lt;Ref&lt;MediaKeySession&gt;&gt; m_sessions;
</ins><span class="cx"> 
</span><span class="cx">     HTMLMediaElement* m_mediaElement;
</span><span class="cx">     String m_keySystem;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeysidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -29,8 +29,7 @@
</span><span class="cx">     ConstructorRaisesException,
</span><span class="cx">     InterfaceName=WebKitMediaKeys,
</span><span class="cx"> ] interface MediaKeys {
</span><del>-    // FIXME: The default value for the 'type' parameter is wrong.
-    [CallWith=ScriptExecutionContext, RaisesException] MediaKeySession createSession(optional DOMString type = &quot;undefined&quot;, optional Uint8Array initData = null);
</del><ins>+    [CallWith=ScriptExecutionContext, RaisesException] MediaKeySession createSession(DOMString type, Uint8Array initData);
</ins><span class="cx">     static boolean isTypeSupported(DOMString keySystem, optional DOMString type);
</span><span class="cx">     readonly attribute DOMString keySystem;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -252,14 +252,9 @@
</span><span class="cx">     appendBufferInternal(static_cast&lt;unsigned char*&gt;(data.data()), data.byteLength(), ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SourceBuffer::appendBuffer(ArrayBufferView* data, ExceptionCode&amp; ec)
</del><ins>+void SourceBuffer::appendBuffer(ArrayBufferView&amp; data, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (!data) {
-        ec = TypeError;
-        return;
-    }
-
-    appendBufferInternal(static_cast&lt;unsigned char*&gt;(data-&gt;baseAddress()), data-&gt;byteLength(), ec);
</del><ins>+    appendBufferInternal(static_cast&lt;unsigned char*&gt;(data.baseAddress()), data.byteLength(), ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SourceBuffer::resetParserState()
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">     void setAppendWindowEnd(double, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     void appendBuffer(ArrayBuffer&amp;, ExceptionCode&amp;);
</span><del>-    void appendBuffer(ArrayBufferView*, ExceptionCode&amp;);
</del><ins>+    void appendBuffer(ArrayBufferView&amp;, ExceptionCode&amp;);
</ins><span class="cx">     void abort(ExceptionCode&amp;);
</span><span class="cx">     void remove(double start, double end, ExceptionCode&amp;);
</span><span class="cx">     void remove(const MediaTime&amp;, const MediaTime&amp;, ExceptionCode&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCDataChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -221,12 +221,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCDataChannel::send(ArrayBufferView* data, ExceptionCode&amp; ec)
</del><ins>+void RTCDataChannel::send(ArrayBufferView&amp; data, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    ASSERT(data);
-    RefPtr&lt;ArrayBuffer&gt; arrayBuffer(data-&gt;buffer());
-    ASSERT(arrayBuffer);
-    send(*arrayBuffer, ec);
</del><ins>+    send(*data.buffer(), ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RTCDataChannel::send(Blob&amp;, ExceptionCode&amp; ec)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCDataChannelh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     void send(const String&amp;, ExceptionCode&amp;);
</span><span class="cx">     void send(JSC::ArrayBuffer&amp;, ExceptionCode&amp;);
</span><del>-    void send(JSC::ArrayBufferView*, ExceptionCode&amp;);
</del><ins>+    void send(JSC::ArrayBufferView&amp;, ExceptionCode&amp;);
</ins><span class="cx">     void send(Blob&amp;, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     void close();
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAnalyserNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AnalyserNode.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AnalyserNode.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AnalyserNode.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx">     void setSmoothingTimeConstant(double k, ExceptionCode&amp;);
</span><span class="cx">     double smoothingTimeConstant() const { return m_analyser.smoothingTimeConstant(); }
</span><span class="cx"> 
</span><del>-    void getFloatFrequencyData(JSC::Float32Array* array) { m_analyser.getFloatFrequencyData(array); }
-    void getByteFrequencyData(JSC::Uint8Array* array) { m_analyser.getByteFrequencyData(array); }
-    void getByteTimeDomainData(JSC::Uint8Array* array) { m_analyser.getByteTimeDomainData(array); }
</del><ins>+    void getFloatFrequencyData(const RefPtr&lt;JSC::Float32Array&gt;&amp; array) { m_analyser.getFloatFrequencyData(array.get()); }
+    void getByteFrequencyData(const RefPtr&lt;JSC::Uint8Array&gt;&amp; array) { m_analyser.getByteFrequencyData(array.get()); }
+    void getByteTimeDomainData(const RefPtr&lt;JSC::Uint8Array&gt;&amp; array) { m_analyser.getByteTimeDomainData(array.get()); }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     double tailTime() const override { return 0; }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAnalyserNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -38,9 +38,9 @@
</span><span class="cx"> 
</span><span class="cx">     // Copies the current frequency data into the passed array.
</span><span class="cx">     // If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
</span><del>-    void getFloatFrequencyData(Float32Array array);
-    void getByteFrequencyData(Uint8Array array);
</del><ins>+    void getFloatFrequencyData(Float32Array? array); // FIXME: The parameter should not be nullable.
+    void getByteFrequencyData(Uint8Array? array); // FIXME: The parameter should not be nullable.
</ins><span class="cx"> 
</span><span class="cx">     // Real-time waveform data
</span><del>-    void getByteTimeDomainData(Uint8Array array);
</del><ins>+    void getByteTimeDomainData(Uint8Array? array); // FIXME: The parameter should not be nullable.
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -577,17 +577,17 @@
</span><span class="cx">     return node;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;PeriodicWave&gt; AudioContext::createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;PeriodicWave&gt; AudioContext::createPeriodicWave(Float32Array&amp; real, Float32Array&amp; imaginary, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx">     
</span><del>-    if (!real || !imag || (real-&gt;length() != imag-&gt;length() || (real-&gt;length() &gt; MaxPeriodicWaveLength) || (real-&gt;length() &lt;= 0))) {
</del><ins>+    if (real.length() != imaginary.length() || (real.length() &gt; MaxPeriodicWaveLength) || !real.length()) {
</ins><span class="cx">         ec = INDEX_SIZE_ERR;
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     lazyInitialize();
</span><del>-    return PeriodicWave::create(sampleRate(), real, imag);
</del><ins>+    return PeriodicWave::create(sampleRate(), real, imaginary);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AudioContext::notifyNodeFinishedProcessing(AudioNode* node)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     RefPtr&lt;ChannelSplitterNode&gt; createChannelSplitter(size_t numberOfOutputs, ExceptionCode&amp;);
</span><span class="cx">     RefPtr&lt;ChannelMergerNode&gt; createChannelMerger(size_t numberOfInputs, ExceptionCode&amp;);
</span><span class="cx">     Ref&lt;OscillatorNode&gt; createOscillator();
</span><del>-    RefPtr&lt;PeriodicWave&gt; createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;PeriodicWave&gt; createPeriodicWave(Float32Array&amp; real, Float32Array&amp; imaginary, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // When a source node has no more processing to do (has finished playing), then it tells the context to dereference it.
</span><span class="cx">     void notifyNodeFinishedProcessing(AudioNode*);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioParamh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioParam.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     void linearRampToValueAtTime(float value, float time) { m_timeline.linearRampToValueAtTime(value, time); }
</span><span class="cx">     void exponentialRampToValueAtTime(float value, float time) { m_timeline.exponentialRampToValueAtTime(value, time); }
</span><span class="cx">     void setTargetAtTime(float target, float time, float timeConstant) { m_timeline.setTargetAtTime(target, time, timeConstant); }
</span><del>-    void setValueCurveAtTime(Float32Array* curve, float time, float duration) { m_timeline.setValueCurveAtTime(curve, time, duration); }
</del><ins>+    void setValueCurveAtTime(const RefPtr&lt;Float32Array&gt;&amp; curve, float time, float duration) { m_timeline.setValueCurveAtTime(curve.get(), time, duration); }
</ins><span class="cx">     void cancelScheduledValues(float startTime) { m_timeline.cancelScheduledValues(startTime); }
</span><span class="cx"> 
</span><span class="cx">     bool hasSampleAccurateValues() { return m_timeline.hasValues() || numberOfRenderingConnections(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioParamidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioParam.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Sets an array of arbitrary parameter values starting at time for the given duration.
</span><span class="cx">     // The number of values will be scaled to fit into the desired duration.
</span><del>-    void setValueCurveAtTime(Float32Array values, unrestricted float time, unrestricted float duration);
</del><ins>+    void setValueCurveAtTime(Float32Array? values, unrestricted float time, unrestricted float duration); // FIXME: values should not be nullable.
</ins><span class="cx"> 
</span><span class="cx">     // Cancels all scheduled parameter changes with times greater than or equal to startTime.
</span><span class="cx">     void cancelScheduledValues(unrestricted float startTime);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -96,9 +96,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BiquadFilterNode::getFrequencyResponse(const Float32Array* frequencyHz,
-                                            Float32Array* magResponse,
-                                            Float32Array* phaseResponse)
</del><ins>+void BiquadFilterNode::getFrequencyResponse(const RefPtr&lt;Float32Array&gt;&amp; frequencyHz, const RefPtr&lt;Float32Array&gt;&amp; magResponse, const RefPtr&lt;Float32Array&gt;&amp; phaseResponse)
</ins><span class="cx"> {
</span><span class="cx">     if (!frequencyHz || !magResponse || !phaseResponse)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -62,9 +62,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Get the magnitude and phase response of the filter at the given
</span><span class="cx">     // set of frequencies (in Hz). The phase response is in radians.
</span><del>-    void getFrequencyResponse(const Float32Array* frequencyHz,
-                              Float32Array* magResponse,
-                              Float32Array* phaseResponse);
</del><ins>+    void getFrequencyResponse(const RefPtr&lt;Float32Array&gt;&amp; frequencyHz, const RefPtr&lt;Float32Array&gt;&amp; magResponse, const RefPtr&lt;Float32Array&gt;&amp; phaseResponse);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     BiquadFilterNode(AudioContext&amp;, float sampleRate);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx">     readonly attribute AudioParam Q; // Quality factor
</span><span class="cx">     readonly attribute AudioParam gain; // in Decibels
</span><span class="cx"> 
</span><del>-    void getFrequencyResponse(Float32Array frequencyHz,
-                              Float32Array magResponse,
-                              Float32Array phaseResponse);
</del><ins>+    // FIXME: the parameters should not be nullable.
+    void getFrequencyResponse(Float32Array? frequencyHz, Float32Array? magResponse, Float32Array? phaseResponse);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPeriodicWavecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -45,17 +45,13 @@
</span><span class="cx">     
</span><span class="cx"> using namespace VectorMath;
</span><span class="cx"> 
</span><del>-RefPtr&lt;PeriodicWave&gt; PeriodicWave::create(float sampleRate, Float32Array* real, Float32Array* imag)
</del><ins>+Ref&lt;PeriodicWave&gt; PeriodicWave::create(float sampleRate, Float32Array&amp; real, Float32Array&amp; imaginary)
</ins><span class="cx"> {
</span><del>-    bool isGood = real &amp;&amp; imag &amp;&amp; real-&gt;length() == imag-&gt;length();
-    ASSERT(isGood);
-    if (isGood) {
-        RefPtr&lt;PeriodicWave&gt; waveTable = adoptRef(new PeriodicWave(sampleRate));
-        size_t numberOfComponents = real-&gt;length();
-        waveTable-&gt;createBandLimitedTables(real-&gt;data(), imag-&gt;data(), numberOfComponents);
-        return waveTable;
-    }
-    return nullptr;
</del><ins>+    ASSERT(real.length() == imaginary.length());
+
+    auto waveTable = adoptRef(*new PeriodicWave(sampleRate));
+    waveTable-&gt;createBandLimitedTables(real.data(), imaginary.data(), real.length());
+    return waveTable;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;PeriodicWave&gt; PeriodicWave::createSine(float sampleRate)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPeriodicWaveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     static Ref&lt;PeriodicWave&gt; createTriangle(float sampleRate);
</span><span class="cx"> 
</span><span class="cx">     // Creates an arbitrary wave given the frequency components (Fourier coefficients).
</span><del>-    static RefPtr&lt;PeriodicWave&gt; create(float sampleRate, Float32Array* real, Float32Array* imag);
</del><ins>+    static Ref&lt;PeriodicWave&gt; create(float sampleRate, Float32Array&amp; real, Float32Array&amp; imag);
</ins><span class="cx"> 
</span><span class="cx">     // Returns pointers to the lower and higher wave data for the pitch range containing
</span><span class="cx">     // the given fundamental frequency. These two tables are in adjacent &quot;pitch&quot; ranges
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -339,23 +339,22 @@
</span><span class="cx">     m_channel-&gt;send(binaryData, 0, binaryData.byteLength());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebSocket::send(ArrayBufferView* arrayBufferView, ExceptionCode&amp; ec)
</del><ins>+void WebSocket::send(ArrayBufferView&amp; arrayBufferView, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    LOG(Network, &quot;WebSocket %p send() Sending ArrayBufferView %p&quot;, this, arrayBufferView);
-    ASSERT(arrayBufferView);
</del><ins>+    LOG(Network, &quot;WebSocket %p send() Sending ArrayBufferView %p&quot;, this, &amp;arrayBufferView);
+
</ins><span class="cx">     if (m_state == CONNECTING) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     if (m_state == CLOSING || m_state == CLOSED) {
</span><del>-        unsigned payloadSize = arrayBufferView-&gt;byteLength();
</del><ins>+        unsigned payloadSize = arrayBufferView.byteLength();
</ins><span class="cx">         m_bufferedAmountAfterClose = saturateAdd(m_bufferedAmountAfterClose, payloadSize);
</span><span class="cx">         m_bufferedAmountAfterClose = saturateAdd(m_bufferedAmountAfterClose, getFramingOverhead(payloadSize));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     ASSERT(m_channel);
</span><del>-    RefPtr&lt;ArrayBuffer&gt; arrayBuffer(arrayBufferView-&gt;buffer());
-    m_channel-&gt;send(*arrayBuffer, arrayBufferView-&gt;byteOffset(), arrayBufferView-&gt;byteLength());
</del><ins>+    m_channel-&gt;send(*arrayBufferView.buffer(), arrayBufferView.byteOffset(), arrayBufferView.byteLength());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebSocket::send(Blob&amp; binaryData, ExceptionCode&amp; ec)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> 
</span><span class="cx">     void send(const String&amp; message, ExceptionCode&amp;);
</span><span class="cx">     void send(JSC::ArrayBuffer&amp;, ExceptionCode&amp;);
</span><del>-    void send(JSC::ArrayBufferView*, ExceptionCode&amp;);
</del><ins>+    void send(JSC::ArrayBufferView&amp;, ExceptionCode&amp;);
</ins><span class="cx">     void send(Blob&amp;, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     void close(Optional&lt;unsigned short&gt; code, const String&amp; reason, ExceptionCode&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebGLRenderingContextBaseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -512,28 +512,28 @@
</span><span class="cx">     if (webGLArray) {
</span><span class="cx">         switch (f) {
</span><span class="cx">         case f_uniform1v:
</span><del>-            context.uniform1fv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform1fv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform2v:
</span><del>-            context.uniform2fv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform2fv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform3v:
</span><del>-            context.uniform3fv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform3fv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform4v:
</span><del>-            context.uniform4fv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform4fv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_vertexAttrib1v:
</span><del>-            context.vertexAttrib1fv(index, webGLArray.get());
</del><ins>+            context.vertexAttrib1fv(index, *webGLArray);
</ins><span class="cx">             break;
</span><span class="cx">         case f_vertexAttrib2v:
</span><del>-            context.vertexAttrib2fv(index, webGLArray.get());
</del><ins>+            context.vertexAttrib2fv(index, *webGLArray);
</ins><span class="cx">             break;
</span><span class="cx">         case f_vertexAttrib3v:
</span><del>-            context.vertexAttrib3fv(index, webGLArray.get());
</del><ins>+            context.vertexAttrib3fv(index, *webGLArray);
</ins><span class="cx">             break;
</span><span class="cx">         case f_vertexAttrib4v:
</span><del>-            context.vertexAttrib4fv(index, webGLArray.get());
</del><ins>+            context.vertexAttrib4fv(index, *webGLArray);
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -591,16 +591,16 @@
</span><span class="cx">     if (webGLArray) {
</span><span class="cx">         switch (f) {
</span><span class="cx">         case f_uniform1v:
</span><del>-            context.uniform1iv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform1iv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform2v:
</span><del>-            context.uniform2iv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform2iv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform3v:
</span><del>-            context.uniform3iv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform3iv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniform4v:
</span><del>-            context.uniform4iv(location, webGLArray.get(), ec);
</del><ins>+            context.uniform4iv(location, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             break;
</span><span class="lines">@@ -655,13 +655,13 @@
</span><span class="cx">     if (webGLArray) {
</span><span class="cx">         switch (f) {
</span><span class="cx">         case f_uniformMatrix2fv:
</span><del>-            context.uniformMatrix2fv(location, transpose, webGLArray.get(), ec);
</del><ins>+            context.uniformMatrix2fv(location, transpose, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniformMatrix3fv:
</span><del>-            context.uniformMatrix3fv(location, transpose, webGLArray.get(), ec);
</del><ins>+            context.uniformMatrix3fv(location, transpose, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         case f_uniformMatrix4fv:
</span><del>-            context.uniformMatrix4fv(location, transpose, webGLArray.get(), ec);
</del><ins>+            context.uniformMatrix4fv(location, transpose, *webGLArray, ec);
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -3810,18 +3810,21 @@
</span><span class="cx">             push(@$outputArray, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             my $isTearOff = $codeGenerator-&gt;IsSVGTypeNeedingTearOff($argType) &amp;&amp; $interfaceName !~ /List$/;
</span><del>-            if ($isTearOff or ShouldPassWrapperByReference($parameter, $interface)) {
</del><ins>+            my $shouldPassByReference = ShouldPassWrapperByReference($parameter, $interface);
+            if ($isTearOff or $shouldPassByReference) {
</ins><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!$name))\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        return throwVMTypeError(state);\n&quot;);
</span><span class="cx">                 $value = $isTearOff ? &quot;$name-&gt;propertyReference()&quot; : &quot;*$name&quot;;
</span><span class="cx">             }
</span><span class="cx"> 
</span><ins>+            if ($codeGenerator-&gt;IsTypedArrayType($argType) and $argType ne &quot;ArrayBuffer&quot;) {
+               $value = $shouldPassByReference ? &quot;$name.releaseNonNull()&quot; : &quot;WTFMove($name)&quot;;
+            }
+
</ins><span class="cx">             if ($argType eq &quot;double&quot; or $argType eq &quot;float&quot;) {
</span><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!std::isfinite($name)))\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        return throwVMTypeError(state);\n&quot;);
</span><span class="cx">             }
</span><del>-
-            $value = &quot;$name.get()&quot; if $codeGenerator-&gt;IsTypedArrayType($argType) and $argType ne &quot;ArrayBuffer&quot;;
</del><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         push(@arguments, $value);
</span><span class="lines">@@ -4312,7 +4315,10 @@
</span><span class="cx"> {
</span><span class="cx">     my $parameter = shift;
</span><span class="cx">     my $interface = shift;
</span><del>-    return $codeGenerator-&gt;ShouldPassWrapperByReference($parameter, $interface) &amp;&amp; substr(GetNativeType($parameter-&gt;type), -1) eq '*';
</del><ins>+
+    my $nativeType = GetNativeType($parameter-&gt;type);
+
+    return $codeGenerator-&gt;ShouldPassWrapperByReference($parameter, $interface) &amp;&amp; (substr($nativeType, -1) eq '*' || $nativeType =~ /^RefPtr/);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetNativeVectorInnerType
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -5294,7 +5294,9 @@
</span><span class="cx">     RefPtr&lt;DOMStringList&gt; values = toDOMStringList(state, state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    JSValue result = toJS(state, castedThis-&gt;globalObject(), WTF::getPtr(impl.domStringListFunction(values, ec)));
</del><ins>+    if (UNLIKELY(!values))
+        return throwVMTypeError(state);
+    JSValue result = toJS(state, castedThis-&gt;globalObject(), WTF::getPtr(impl.domStringListFunction(*values, ec)));
</ins><span class="cx"> 
</span><span class="cx">     setDOMException(state, ec);
</span><span class="cx">     return JSValue::encode(result);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -87,7 +87,9 @@
</span><span class="cx">     RefPtr&lt;ArrayBufferView&gt; arrayBufferView = toArrayBufferView(state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    RefPtr&lt;TestOverloadedConstructors&gt; object = TestOverloadedConstructors::create(arrayBufferView);
</del><ins>+    if (UNLIKELY(!arrayBufferView))
+        return throwVMTypeError(state);
+    RefPtr&lt;TestOverloadedConstructors&gt; object = TestOverloadedConstructors::create(*arrayBufferView);
</ins><span class="cx">     return JSValue::encode(asObject(toJS(state, castedThis-&gt;globalObject(), object.get())));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -3114,7 +3114,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA)
</span><del>-void HTMLMediaElement::webkitGenerateKeyRequest(const String&amp; keySystem, RefPtr&lt;Uint8Array&gt;&amp;&amp; initData, ExceptionCode&amp; ec)
</del><ins>+void HTMLMediaElement::webkitGenerateKeyRequest(const String&amp; keySystem, const RefPtr&lt;Uint8Array&gt;&amp; initData, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA_V2)
</span><span class="cx">     static bool firstTime = true;
</span><span class="lines">@@ -3145,7 +3145,7 @@
</span><span class="cx">     ec = exceptionCodeForMediaKeyException(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLMediaElement::webkitAddKey(const String&amp; keySystem, PassRefPtr&lt;Uint8Array&gt; key, PassRefPtr&lt;Uint8Array&gt; initData, const String&amp; sessionId, ExceptionCode&amp; ec)
</del><ins>+void HTMLMediaElement::webkitAddKey(const String&amp; keySystem, Uint8Array&amp; key, const RefPtr&lt;Uint8Array&gt;&amp; initData, const String&amp; sessionId, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA_V2)
</span><span class="cx">     static bool firstTime = true;
</span><span class="lines">@@ -3160,12 +3160,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!key) {
-        ec = SYNTAX_ERR;
-        return;
-    }
-
-    if (!key-&gt;length()) {
</del><ins>+    if (!key.length()) {
</ins><span class="cx">         ec = TYPE_MISMATCH_ERR;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -3182,7 +3177,7 @@
</span><span class="cx">         initDataLength = initData-&gt;length();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    MediaPlayer::MediaKeyException result = m_player-&gt;addKey(keySystem, key-&gt;data(), key-&gt;length(), initDataPointer, initDataLength, sessionId);
</del><ins>+    MediaPlayer::MediaKeyException result = m_player-&gt;addKey(keySystem, key.data(), key.length(), initDataPointer, initDataLength, sessionId);
</ins><span class="cx">     ec = exceptionCodeForMediaKeyException(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -234,8 +234,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA)
</span><del>-    void webkitGenerateKeyRequest(const String&amp; keySystem, RefPtr&lt;Uint8Array&gt;&amp;&amp; initData, ExceptionCode&amp;);
-    void webkitAddKey(const String&amp; keySystem, PassRefPtr&lt;Uint8Array&gt; key, PassRefPtr&lt;Uint8Array&gt; initData, const String&amp; sessionId, ExceptionCode&amp;);
</del><ins>+    void webkitGenerateKeyRequest(const String&amp; keySystem, const RefPtr&lt;Uint8Array&gt;&amp; initData, ExceptionCode&amp;);
+    void webkitAddKey(const String&amp; keySystem, Uint8Array&amp; key, const RefPtr&lt;Uint8Array&gt;&amp; initData, const String&amp; sessionId, ExceptionCode&amp;);
</ins><span class="cx">     void webkitCancelKeyRequest(const String&amp; keySystem, const String&amp; sessionId, ExceptionCode&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/HTMLMediaElement.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -98,8 +98,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if (!defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT) &amp;&amp; (!defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C)
</span><del>-    [Conditional=ENCRYPTED_MEDIA, RaisesException] void webkitGenerateKeyRequest(DOMString? keySystem, optional Uint8Array initData = null);
-    [Conditional=ENCRYPTED_MEDIA, RaisesException] void webkitAddKey(DOMString? keySystem, Uint8Array key, optional Uint8Array initData = null, optional DOMString sessionId);
</del><ins>+    [Conditional=ENCRYPTED_MEDIA, RaisesException] void webkitGenerateKeyRequest(DOMString? keySystem, optional Uint8Array? initData = null);
+    [Conditional=ENCRYPTED_MEDIA, RaisesException] void webkitAddKey(DOMString? keySystem, Uint8Array key, optional Uint8Array? initData = null, optional DOMString sessionId);
</ins><span class="cx">     [Conditional=ENCRYPTED_MEDIA, RaisesException] void webkitCancelKeyRequest(DOMString? keySystem, optional DOMString sessionId);
</span><span class="cx"> 
</span><span class="cx">     [Conditional=ENCRYPTED_MEDIA_V2, ImplementedAs=keys] readonly attribute MediaKeys webkitKeys;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageData.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageData.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/ImageData.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImageData&gt; ImageData::create(unsigned sw, unsigned sh, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;ImageData&gt; ImageData::create(unsigned sw, unsigned sh, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (!sw || !sh) {
</span><span class="cx">         ec = INDEX_SIZE_ERR;
</span><span class="lines">@@ -52,38 +52,38 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     IntSize size(sw, sh);
</span><del>-    RefPtr&lt;ImageData&gt; data = adoptRef(new ImageData(size));
</del><ins>+    auto data = adoptRef(*new ImageData(size));
</ins><span class="cx">     data-&gt;data()-&gt;zeroFill();
</span><del>-    return data.release();
</del><ins>+    return WTFMove(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImageData&gt; ImageData::create(const IntSize&amp; size)
</del><ins>+RefPtr&lt;ImageData&gt; ImageData::create(const IntSize&amp; size)
</ins><span class="cx"> {
</span><span class="cx">     Checked&lt;int, RecordOverflow&gt; dataSize = 4;
</span><span class="cx">     dataSize *= size.width();
</span><span class="cx">     dataSize *= size.height();
</span><span class="cx">     if (dataSize.hasOverflowed())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><del>-    return adoptRef(new ImageData(size));
</del><ins>+    return adoptRef(*new ImageData(size));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImageData&gt; ImageData::create(const IntSize&amp; size, PassRefPtr&lt;Uint8ClampedArray&gt; byteArray)
</del><ins>+RefPtr&lt;ImageData&gt; ImageData::create(const IntSize&amp; size, Ref&lt;Uint8ClampedArray&gt;&amp;&amp; byteArray)
</ins><span class="cx"> {
</span><span class="cx">     Checked&lt;int, RecordOverflow&gt; dataSize = 4;
</span><span class="cx">     dataSize *= size.width();
</span><span class="cx">     dataSize *= size.height();
</span><span class="cx">     if (dataSize.hasOverflowed())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (dataSize.unsafeGet() &lt; 0
</span><span class="cx">         || static_cast&lt;unsigned&gt;(dataSize.unsafeGet()) &gt; byteArray-&gt;length())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><del>-    return adoptRef(new ImageData(size, byteArray));
</del><ins>+    return adoptRef(*new ImageData(size, WTFMove(byteArray)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImageData&gt; ImageData::create(PassRefPtr&lt;Uint8ClampedArray&gt; byteArray, unsigned sw, unsigned sh, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;ImageData&gt; ImageData::create(Ref&lt;Uint8ClampedArray&gt;&amp;&amp; byteArray, unsigned sw, unsigned sh, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     unsigned length = byteArray-&gt;length();
</span><span class="cx">     if (!length || length % 4 != 0) {
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return create(IntSize(sw, height), byteArray);
</del><ins>+    return create(IntSize(sw, height), WTFMove(byteArray));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ImageData::ImageData(const IntSize&amp; size)
</span><span class="lines">@@ -117,9 +117,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ImageData::ImageData(const IntSize&amp; size, PassRefPtr&lt;Uint8ClampedArray&gt; byteArray)
</del><ins>+ImageData::ImageData(const IntSize&amp; size, Ref&lt;Uint8ClampedArray&gt;&amp;&amp; byteArray)
</ins><span class="cx">     : m_size(size)
</span><del>-    , m_data(byteArray)
</del><ins>+    , m_data(WTFMove(byteArray))
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_WITH_SECURITY_IMPLICATION(static_cast&lt;unsigned&gt;(size.width() * size.height() * 4) &lt;= m_data-&gt;length());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageData.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageData.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/ImageData.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -40,19 +40,20 @@
</span><span class="cx"> 
</span><span class="cx"> class ImageData : public RefCounted&lt;ImageData&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;ImageData&gt; create(unsigned sw, unsigned sh, ExceptionCode&amp;);
-    static PassRefPtr&lt;ImageData&gt; create(const IntSize&amp;);
-    static PassRefPtr&lt;ImageData&gt; create(const IntSize&amp;, PassRefPtr&lt;Uint8ClampedArray&gt;);
-    static PassRefPtr&lt;ImageData&gt; create(PassRefPtr&lt;Uint8ClampedArray&gt;, unsigned sw, unsigned sh, ExceptionCode&amp;);
</del><ins>+    static RefPtr&lt;ImageData&gt; create(unsigned sw, unsigned sh, ExceptionCode&amp;);
+    static RefPtr&lt;ImageData&gt; create(const IntSize&amp;);
+    static RefPtr&lt;ImageData&gt; create(const IntSize&amp;, Ref&lt;Uint8ClampedArray&gt;&amp;&amp;);
+    static RefPtr&lt;ImageData&gt; create(Ref&lt;Uint8ClampedArray&gt;&amp;&amp;, unsigned sw, unsigned sh, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     IntSize size() const { return m_size; }
</span><span class="cx">     int width() const { return m_size.width(); }
</span><span class="cx">     int height() const { return m_size.height(); }
</span><ins>+
</ins><span class="cx">     Uint8ClampedArray* data() const { return m_data.get(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit ImageData(const IntSize&amp;);
</span><del>-    ImageData(const IntSize&amp;, PassRefPtr&lt;Uint8ClampedArray&gt;);
</del><ins>+    ImageData(const IntSize&amp;, Ref&lt;Uint8ClampedArray&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     IntSize m_size;
</span><span class="cx">     RefPtr&lt;Uint8ClampedArray&gt; m_data;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -2013,7 +2013,7 @@
</span><span class="cx">     if (!byteArray)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return ImageData::create(imageDataRect.size(), byteArray.release());
</del><ins>+    return ImageData::create(imageDataRect.size(), byteArray.releaseNonNull());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy, ExceptionCode&amp; ec)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGL2RenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -64,8 +64,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGL2RenderingContext::WebGL2RenderingContext(HTMLCanvasElement* passedCanvas, PassRefPtr&lt;GraphicsContext3D&gt; context,
-    GraphicsContext3D::Attributes attributes) : WebGLRenderingContextBase(passedCanvas, context, attributes)
</del><ins>+WebGL2RenderingContext::WebGL2RenderingContext(HTMLCanvasElement* passedCanvas, RefPtr&lt;GraphicsContext3D&gt;&amp;&amp; context,
+    GraphicsContext3D::Attributes attributes) : WebGLRenderingContextBase(passedCanvas, WTFMove(context), attributes)
</ins><span class="cx"> {
</span><span class="cx">     initializeShaderExtensions();
</span><span class="cx">     initializeVertexArrayObjects();
</span><span class="lines">@@ -88,360 +88,166 @@
</span><span class="cx">     m_context-&gt;getExtensions()-&gt;ensureEnabled(&quot;GL_EXT_frag_depth&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::copyBufferSubData(GC3Denum readTarget, GC3Denum writeTarget, GC3Dint64 readOffset, GC3Dint64 writeOffset, GC3Dint64 size)
</del><ins>+void WebGL2RenderingContext::copyBufferSubData(GC3Denum, GC3Denum, GC3Dint64, GC3Dint64, GC3Dint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(readTarget);
-    UNUSED_PARAM(writeTarget);
-    UNUSED_PARAM(readOffset);
-    UNUSED_PARAM(writeOffset);
-    UNUSED_PARAM(size);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::getBufferSubData(GC3Denum target, GC3Dint64 offset, ArrayBuffer* returnedData)
</del><ins>+void WebGL2RenderingContext::getBufferSubData(GC3Denum, GC3Dint64, ArrayBuffer*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(offset);
-    UNUSED_PARAM(returnedData);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::blitFramebuffer(GC3Dint srcX0, GC3Dint srcY0, GC3Dint srcX1, GC3Dint srcY1, GC3Dint dstX0, GC3Dint dstY0, GC3Dint dstX1, GC3Dint dstY1, GC3Dbitfield mask, GC3Denum filter)
</del><ins>+void WebGL2RenderingContext::blitFramebuffer(GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dbitfield, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(srcX0);
-    UNUSED_PARAM(srcX1);
-    UNUSED_PARAM(srcY0);
-    UNUSED_PARAM(srcY1);
-    UNUSED_PARAM(dstX0);
-    UNUSED_PARAM(dstX1);
-    UNUSED_PARAM(dstY0);
-    UNUSED_PARAM(dstY1);
-    UNUSED_PARAM(mask);
-    UNUSED_PARAM(filter);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::framebufferTextureLayer(GC3Denum target, GC3Denum attachment, GC3Duint texture, GC3Dint level, GC3Dint layer)
</del><ins>+void WebGL2RenderingContext::framebufferTextureLayer(GC3Denum, GC3Denum, GC3Duint, GC3Dint, GC3Dint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(attachment);
-    UNUSED_PARAM(texture);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(layer);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getInternalformatParameter(GC3Denum target, GC3Denum internalformat, GC3Denum pname)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getInternalformatParameter(GC3Denum, GC3Denum, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::invalidateFramebuffer(GC3Denum target, Vector&lt;GC3Denum&gt; attachments)
</del><ins>+void WebGL2RenderingContext::invalidateFramebuffer(GC3Denum, Vector&lt;GC3Denum&gt;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(attachments);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::invalidateSubFramebuffer(GC3Denum target, Vector&lt;GC3Denum&gt; attachments, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height)
</del><ins>+void WebGL2RenderingContext::invalidateSubFramebuffer(GC3Denum, Vector&lt;GC3Denum&gt;, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(attachments);
-    UNUSED_PARAM(x);
-    UNUSED_PARAM(y);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::readBuffer(GC3Denum src)
</del><ins>+void WebGL2RenderingContext::readBuffer(GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(src);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::renderbufferStorageMultisample(GC3Denum target, GC3Dsizei samples, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height)
</del><ins>+void WebGL2RenderingContext::renderbufferStorageMultisample(GC3Denum, GC3Dsizei, GC3Denum, GC3Dsizei, GC3Dsizei)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(samples);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texStorage2D(GC3Denum target, GC3Dsizei levels, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height)
</del><ins>+void WebGL2RenderingContext::texStorage2D(GC3Denum, GC3Dsizei, GC3Denum, GC3Dsizei, GC3Dsizei)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(levels);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texStorage3D(GC3Denum target, GC3Dsizei levels, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth)
</del><ins>+void WebGL2RenderingContext::texStorage3D(GC3Denum, GC3Dsizei, GC3Denum, GC3Dsizei, GC3Dsizei, GC3Dsizei)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(levels);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
-    UNUSED_PARAM(depth);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texImage3D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Denum format, GC3Denum type, ArrayBufferView* pixels)
</del><ins>+void WebGL2RenderingContext::texImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
-    UNUSED_PARAM(depth);
-    UNUSED_PARAM(border);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(pixels);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Denum type, ArrayBufferView* pixels)
</del><ins>+void WebGL2RenderingContext::texSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
-    UNUSED_PARAM(depth);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(pixels);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, ImageData* source)
</del><ins>+void WebGL2RenderingContext::texSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Denum, GC3Denum, ImageData*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(source);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLImageElement* source)
</del><ins>+void WebGL2RenderingContext::texSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Denum, GC3Denum, HTMLImageElement*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(source);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLCanvasElement* source)
</del><ins>+void WebGL2RenderingContext::texSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Denum, GC3Denum, HTMLCanvasElement*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(source);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLVideoElement* source)
</del><ins>+void WebGL2RenderingContext::texSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Denum, GC3Denum, HTMLVideoElement*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(source);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::copyTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height)
</del><ins>+void WebGL2RenderingContext::copyTexSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(x);
-    UNUSED_PARAM(y);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::compressedTexImage3D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Dsizei imageSize, ArrayBufferView* data)
</del><ins>+void WebGL2RenderingContext::compressedTexImage3D(GC3Denum, GC3Dint, GC3Denum, GC3Dsizei, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Dsizei, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(internalformat);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
-    UNUSED_PARAM(depth);
-    UNUSED_PARAM(border);
-    UNUSED_PARAM(imageSize);
-    UNUSED_PARAM(data);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::compressedTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Dsizei imageSize, ArrayBufferView* data)
</del><ins>+void WebGL2RenderingContext::compressedTexSubImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Dsizei, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(level);
-    UNUSED_PARAM(xoffset);
-    UNUSED_PARAM(yoffset);
-    UNUSED_PARAM(zoffset);
-    UNUSED_PARAM(width);
-    UNUSED_PARAM(height);
-    UNUSED_PARAM(depth);
-    UNUSED_PARAM(format);
-    UNUSED_PARAM(imageSize);
-    UNUSED_PARAM(data);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Dint WebGL2RenderingContext::getFragDataLocation(WebGLProgram* program, String name)
</del><ins>+GC3Dint WebGL2RenderingContext::getFragDataLocation(WebGLProgram*, String)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(name);
</del><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform1ui(WebGLUniformLocation* location, GC3Duint v0)
</del><ins>+void WebGL2RenderingContext::uniform1ui(WebGLUniformLocation*, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(v0);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform2ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1)
</del><ins>+void WebGL2RenderingContext::uniform2ui(WebGLUniformLocation*, GC3Duint, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(v0);
-    UNUSED_PARAM(v1);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform3ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1, GC3Duint v2)
</del><ins>+void WebGL2RenderingContext::uniform3ui(WebGLUniformLocation*, GC3Duint, GC3Duint, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(v0);
-    UNUSED_PARAM(v1);
-    UNUSED_PARAM(v2);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform4ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1, GC3Duint v2, GC3Duint v3)
</del><ins>+void WebGL2RenderingContext::uniform4ui(WebGLUniformLocation*, GC3Duint, GC3Duint, GC3Duint, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(v0);
-    UNUSED_PARAM(v1);
-    UNUSED_PARAM(v2);
-    UNUSED_PARAM(v3);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform1uiv(WebGLUniformLocation* location, Uint32Array* value)
</del><ins>+void WebGL2RenderingContext::uniform1uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform2uiv(WebGLUniformLocation* location, Uint32Array* value)
</del><ins>+void WebGL2RenderingContext::uniform2uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform3uiv(WebGLUniformLocation* location, Uint32Array* value)
</del><ins>+void WebGL2RenderingContext::uniform3uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniform4uiv(WebGLUniformLocation* location, Uint32Array* value)
</del><ins>+void WebGL2RenderingContext::uniform4uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix2x3fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix2x3fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix3x2fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix3x2fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix2x4fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix2x4fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix4x2fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix4x2fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix3x4fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix3x4fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformMatrix4x3fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::uniformMatrix4x3fv(WebGLUniformLocation*, GC3Dboolean, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(location);
-    UNUSED_PARAM(transpose);
-    UNUSED_PARAM(value);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::vertexAttribI4i(GC3Duint index, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w)
</del><ins>+void WebGL2RenderingContext::vertexAttribI4i(GC3Duint, GC3Dint, GC3Dint, GC3Dint, GC3Dint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(index);
-    UNUSED_PARAM(x);
-    UNUSED_PARAM(y);
-    UNUSED_PARAM(z);
-    UNUSED_PARAM(w);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::vertexAttribI4iv(GC3Duint index, Int32Array* v)
</del><ins>+void WebGL2RenderingContext::vertexAttribI4iv(GC3Duint, RefPtr&lt;Int32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(index);
-    UNUSED_PARAM(v);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::vertexAttribI4ui(GC3Duint index, GC3Duint x, GC3Duint y, GC3Duint z, GC3Duint w)
</del><ins>+void WebGL2RenderingContext::vertexAttribI4ui(GC3Duint, GC3Duint, GC3Duint, GC3Duint, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(index);
-    UNUSED_PARAM(x);
-    UNUSED_PARAM(y);
-    UNUSED_PARAM(z);
-    UNUSED_PARAM(w);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::vertexAttribI4uiv(GC3Duint index, Uint32Array* v)
</del><ins>+void WebGL2RenderingContext::vertexAttribI4uiv(GC3Duint, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(index);
-    UNUSED_PARAM(v);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::vertexAttribIPointer(GC3Duint index, GC3Dint size, GC3Denum type, GC3Dsizei stride, GC3Dint64 offset)
</del><ins>+void WebGL2RenderingContext::vertexAttribIPointer(GC3Duint, GC3Dint, GC3Denum, GC3Dsizei, GC3Dint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(index);
-    UNUSED_PARAM(size);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(stride);
-    UNUSED_PARAM(offset);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGL2RenderingContext::clear(GC3Dbitfield mask)
</span><span class="lines">@@ -490,14 +296,8 @@
</span><span class="cx">     WebGLRenderingContextBase::drawElementsInstanced(mode, count, type, offset, instanceCount);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::drawRangeElements(GC3Denum mode, GC3Duint start, GC3Duint end, GC3Dsizei count, GC3Denum type, GC3Dint64 offset)
</del><ins>+void WebGL2RenderingContext::drawRangeElements(GC3Denum, GC3Duint, GC3Duint, GC3Dsizei, GC3Denum, GC3Dint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(mode);
-    UNUSED_PARAM(start);
-    UNUSED_PARAM(end);
-    UNUSED_PARAM(count);
-    UNUSED_PARAM(type);
-    UNUSED_PARAM(offset);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGL2RenderingContext::drawBuffers(Vector&lt;GC3Denum&gt; buffers)
</span><span class="lines">@@ -534,9 +334,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::clearBufferiv(GC3Denum buffer, GC3Dint drawbuffer, Int32Array* value)
</del><ins>+void WebGL2RenderingContext::clearBufferiv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Int32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(value);
</del><span class="cx">     switch (buffer) {
</span><span class="cx">     case GraphicsContext3D::COLOR:
</span><span class="cx">         if (drawbuffer &lt; 0 || drawbuffer &gt;= getMaxDrawBuffers()) {
</span><span class="lines">@@ -560,9 +359,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::clearBufferuiv(GC3Denum buffer, GC3Dint drawbuffer, Uint32Array* value)
</del><ins>+void WebGL2RenderingContext::clearBufferuiv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Uint32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(value);
</del><span class="cx">     switch (buffer) {
</span><span class="cx">     case GraphicsContext3D::COLOR:
</span><span class="cx">         if (drawbuffer &lt; 0 || drawbuffer &gt;= getMaxDrawBuffers()) {
</span><span class="lines">@@ -580,9 +378,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::clearBufferfv(GC3Denum buffer, GC3Dint drawbuffer, Float32Array* value)
</del><ins>+void WebGL2RenderingContext::clearBufferfv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Float32Array&gt;&amp;&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(value);
</del><span class="cx">     switch (buffer) {
</span><span class="cx">     case GraphicsContext3D::COLOR:
</span><span class="cx">         if (drawbuffer &lt; 0 || drawbuffer &gt;= getMaxDrawBuffers()) {
</span><span class="lines">@@ -606,10 +403,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::clearBufferfi(GC3Denum buffer, GC3Dint drawbuffer, GC3Dfloat depth, GC3Dint stencil)
</del><ins>+void WebGL2RenderingContext::clearBufferfi(GC3Denum buffer, GC3Dint drawbuffer, GC3Dfloat, GC3Dint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(depth);
-    UNUSED_PARAM(stencil);
</del><span class="cx">     switch (buffer) {
</span><span class="cx">     case GraphicsContext3D::DEPTH_STENCIL:
</span><span class="cx">         if (drawbuffer) {
</span><span class="lines">@@ -627,172 +422,129 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLQuery&gt; WebGL2RenderingContext::createQuery()
</del><ins>+RefPtr&lt;WebGLQuery&gt; WebGL2RenderingContext::createQuery()
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::deleteQuery(WebGLQuery* query)
</del><ins>+void WebGL2RenderingContext::deleteQuery(WebGLQuery*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(query);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Dboolean WebGL2RenderingContext::isQuery(WebGLQuery* query)
</del><ins>+GC3Dboolean WebGL2RenderingContext::isQuery(WebGLQuery*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(query);
</del><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::beginQuery(GC3Denum target, WebGLQuery* query)
</del><ins>+void WebGL2RenderingContext::beginQuery(GC3Denum, WebGLQuery*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(query);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::endQuery(GC3Denum target)
</del><ins>+void WebGL2RenderingContext::endQuery(GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLQuery&gt; WebGL2RenderingContext::getQuery(GC3Denum target, GC3Denum pname)
</del><ins>+RefPtr&lt;WebGLQuery&gt; WebGL2RenderingContext::getQuery(GC3Denum, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getQueryParameter(WebGLQuery* query, GC3Denum pname)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getQueryParameter(WebGLQuery*, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(query);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLSampler&gt; WebGL2RenderingContext::createSampler()
</del><ins>+RefPtr&lt;WebGLSampler&gt; WebGL2RenderingContext::createSampler()
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::deleteSampler(WebGLSampler* sampler)
</del><ins>+void WebGL2RenderingContext::deleteSampler(WebGLSampler*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sampler);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Dboolean WebGL2RenderingContext::isSampler(WebGLSampler* sampler)
</del><ins>+GC3Dboolean WebGL2RenderingContext::isSampler(WebGLSampler*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sampler);
</del><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::bindSampler(GC3Duint unit, WebGLSampler* sampler)
</del><ins>+void WebGL2RenderingContext::bindSampler(GC3Duint, WebGLSampler*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(unit);
-    UNUSED_PARAM(sampler);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::samplerParameteri(WebGLSampler* sampler, GC3Denum pname, GC3Dint param)
</del><ins>+void WebGL2RenderingContext::samplerParameteri(WebGLSampler*, GC3Denum, GC3Dint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sampler);
-    UNUSED_PARAM(pname);
-    UNUSED_PARAM(param);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::samplerParameterf(WebGLSampler* sampler, GC3Denum pname, GC3Dfloat param)
</del><ins>+void WebGL2RenderingContext::samplerParameterf(WebGLSampler*, GC3Denum, GC3Dfloat)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sampler);
-    UNUSED_PARAM(pname);
-    UNUSED_PARAM(param);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getSamplerParameter(WebGLSampler* sampler, GC3Denum pname)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getSamplerParameter(WebGLSampler*, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sampler);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLSync&gt; WebGL2RenderingContext::fenceSync(GC3Denum condition, GC3Dbitfield flags)
</del><ins>+RefPtr&lt;WebGLSync&gt; WebGL2RenderingContext::fenceSync(GC3Denum, GC3Dbitfield)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(condition);
-    UNUSED_PARAM(flags);
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Dboolean WebGL2RenderingContext::isSync(WebGLSync* sync)
</del><ins>+GC3Dboolean WebGL2RenderingContext::isSync(WebGLSync*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sync);
</del><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::deleteSync(WebGLSync* sync)
</del><ins>+void WebGL2RenderingContext::deleteSync(WebGLSync*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sync);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Denum WebGL2RenderingContext::clientWaitSync(WebGLSync* sync, GC3Dbitfield flags, GC3Duint64 timeout)
</del><ins>+GC3Denum WebGL2RenderingContext::clientWaitSync(WebGLSync*, GC3Dbitfield, GC3Duint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sync);
-    UNUSED_PARAM(flags);
-    UNUSED_PARAM(timeout);
</del><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::waitSync(WebGLSync* sync, GC3Dbitfield flags, GC3Duint64 timeout)
</del><ins>+void WebGL2RenderingContext::waitSync(WebGLSync*, GC3Dbitfield, GC3Duint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sync);
-    UNUSED_PARAM(flags);
-    UNUSED_PARAM(timeout);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getSyncParameter(WebGLSync* sync, GC3Denum pname)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getSyncParameter(WebGLSync*, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(sync);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLTransformFeedback&gt; WebGL2RenderingContext::createTransformFeedback()
</del><ins>+RefPtr&lt;WebGLTransformFeedback&gt; WebGL2RenderingContext::createTransformFeedback()
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::deleteTransformFeedback(WebGLTransformFeedback* id)
</del><ins>+void WebGL2RenderingContext::deleteTransformFeedback(WebGLTransformFeedback*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(id);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Dboolean WebGL2RenderingContext::isTransformFeedback(WebGLTransformFeedback* id)
</del><ins>+GC3Dboolean WebGL2RenderingContext::isTransformFeedback(WebGLTransformFeedback*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(id);
</del><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::bindTransformFeedback(GC3Denum target, WebGLTransformFeedback* id)
</del><ins>+void WebGL2RenderingContext::bindTransformFeedback(GC3Denum, WebGLTransformFeedback*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(id);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::beginTransformFeedback(GC3Denum primitiveMode)
</del><ins>+void WebGL2RenderingContext::beginTransformFeedback(GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(primitiveMode);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGL2RenderingContext::endTransformFeedback()
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::transformFeedbackVaryings(WebGLProgram* program, Vector&lt;String&gt; varyings, GC3Denum bufferMode)
</del><ins>+void WebGL2RenderingContext::transformFeedbackVaryings(WebGLProgram*, Vector&lt;String&gt;, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(varyings);
-    UNUSED_PARAM(bufferMode);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLActiveInfo&gt; WebGL2RenderingContext::getTransformFeedbackVarying(WebGLProgram* program, GC3Duint index)
</del><ins>+RefPtr&lt;WebGLActiveInfo&gt; WebGL2RenderingContext::getTransformFeedbackVarying(WebGLProgram*, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(index);
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -804,26 +556,16 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::bindBufferBase(GC3Denum target, GC3Duint index, WebGLBuffer* buffer)
</del><ins>+void WebGL2RenderingContext::bindBufferBase(GC3Denum, GC3Duint, WebGLBuffer*)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(index);
-    UNUSED_PARAM(buffer);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::bindBufferRange(GC3Denum target, GC3Duint index, WebGLBuffer* buffer, GC3Dint64 offset, GC3Dint64 size)
</del><ins>+void WebGL2RenderingContext::bindBufferRange(GC3Denum, GC3Duint, WebGLBuffer*, GC3Dint64, GC3Dint64)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(index);
-    UNUSED_PARAM(buffer);
-    UNUSED_PARAM(offset);
-    UNUSED_PARAM(size);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getIndexedParameter(GC3Denum target, GC3Duint index)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getIndexedParameter(GC3Denum target, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(target);
-    UNUSED_PARAM(index);
</del><span class="cx">     switch (target) {
</span><span class="cx">     case GraphicsContext3D::TRANSFORM_FEEDBACK_BUFFER_BINDING:
</span><span class="cx">     case GraphicsContext3D::TRANSFORM_FEEDBACK_BUFFER_SIZE:
</span><span class="lines">@@ -841,58 +583,43 @@
</span><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Uint32Array* WebGL2RenderingContext::getUniformIndices(WebGLProgram* program, Vector&lt;String&gt; uniformNames)
</del><ins>+Uint32Array* WebGL2RenderingContext::getUniformIndices(WebGLProgram*, Vector&lt;String&gt;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformNames);
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Int32Array* WebGL2RenderingContext::getActiveUniforms(WebGLProgram* program, Uint32Array* uniformIndices, GC3Denum pname)
</del><ins>+Int32Array* WebGL2RenderingContext::getActiveUniforms(WebGLProgram*, RefPtr&lt;Uint32Array&gt;&amp;&amp;, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformIndices);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-GC3Duint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram* program, String uniformBlockName)
</del><ins>+GC3Duint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram*, String)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformBlockName);
</del><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram* program, GC3Duint uniformBlockIndex, GC3Denum pname)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram*, GC3Duint, GC3Denum)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformBlockIndex);
-    UNUSED_PARAM(pname);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram* program, GC3Duint uniformBlockIndex)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram*, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformBlockIndex);
</del><span class="cx">     return WebGLGetInfo();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram* program, GC3Duint uniformBlockIndex, GC3Duint uniformBlockBinding)
</del><ins>+void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram*, GC3Duint, GC3Duint)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(program);
-    UNUSED_PARAM(uniformBlockIndex);
-    UNUSED_PARAM(uniformBlockBinding);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebGLVertexArrayObject&gt; WebGL2RenderingContext::createVertexArray()
</del><ins>+RefPtr&lt;WebGLVertexArrayObject&gt; WebGL2RenderingContext::createVertexArray()
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLost())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><del>-    RefPtr&lt;WebGLVertexArrayObject&gt; o = WebGLVertexArrayObject::create(this, WebGLVertexArrayObject::VAOTypeUser);
-    addContextObject(o.get());
-    return o.release();
</del><ins>+    auto object = WebGLVertexArrayObject::create(this, WebGLVertexArrayObject::VAOTypeUser);
+    addContextObject(object.ptr());
+    return WTFMove(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGL2RenderingContext::deleteVertexArray(WebGLVertexArrayObject* arrayObject)
</span><span class="lines">@@ -1064,9 +791,8 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getFramebufferAttachmentParameter(GC3Denum target, GC3Denum attachment, GC3Denum pname, ExceptionCode&amp; ec)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getFramebufferAttachmentParameter(GC3Denum target, GC3Denum attachment, GC3Denum pname, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(ec);
</del><span class="cx">     if (isContextLostOrPending() || !validateFramebufferFuncParameters(&quot;getFramebufferAttachmentParameter&quot;, target, attachment))
</span><span class="cx">         return WebGLGetInfo();
</span><span class="cx">     
</span><span class="lines">@@ -1091,7 +817,7 @@
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:
</span><span class="cx">             return WebGLGetInfo(GraphicsContext3D::TEXTURE);
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
</span><del>-            return WebGLGetInfo(PassRefPtr&lt;WebGLTexture&gt;(reinterpret_cast&lt;WebGLTexture*&gt;(object)));
</del><ins>+            return WebGLGetInfo(reinterpret_cast&lt;WebGLTexture*&gt;(object));
</ins><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: {
</span><span class="lines">@@ -1108,7 +834,7 @@
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:
</span><span class="cx">             return WebGLGetInfo(GraphicsContext3D::RENDERBUFFER);
</span><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
</span><del>-            return WebGLGetInfo(PassRefPtr&lt;WebGLRenderbuffer&gt;(reinterpret_cast&lt;WebGLRenderbuffer*&gt;(object)));
</del><ins>+            return WebGLGetInfo(reinterpret_cast&lt;WebGLRenderbuffer*&gt;(object));
</ins><span class="cx">         case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING : {
</span><span class="cx">             WebGLRenderbuffer* renderBuffer = reinterpret_cast&lt;WebGLRenderbuffer*&gt;(object);
</span><span class="cx">             GC3Denum renderBufferFormat = renderBuffer-&gt;getInternalFormat();
</span><span class="lines">@@ -1352,9 +1078,9 @@
</span><span class="cx">         m_context-&gt;pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGL2RenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionCode&amp; ec)
</del><ins>+void WebGL2RenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; pixels, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (isContextLostOrPending() || !validateTexFuncData(&quot;texSubImage2D&quot;, level, width, height, GraphicsContext3D::NONE, format, type, pixels, NullNotAllowed) || !validateTexFunc(&quot;texSubImage2D&quot;, TexSubImage, SourceArrayBufferView, target, level, GraphicsContext3D::NONE, width, height, 0, format, type, xoffset, yoffset))
</del><ins>+    if (isContextLostOrPending() || !validateTexFuncData(&quot;texSubImage2D&quot;, level, width, height, GraphicsContext3D::NONE, format, type, pixels.get(), NullNotAllowed) || !validateTexFunc(&quot;texSubImage2D&quot;, TexSubImage, SourceArrayBufferView, target, level, GraphicsContext3D::NONE, width, height, 0, format, type, xoffset, yoffset))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     void* data = pixels-&gt;baseAddress();
</span><span class="lines">@@ -2071,9 +1797,8 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLGetInfo WebGL2RenderingContext::getParameter(GC3Denum pname, ExceptionCode&amp; ec)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getParameter(GC3Denum pname, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(ec);
</del><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return WebGLGetInfo();
</span><span class="cx">     const int intZero = 0;
</span><span class="lines">@@ -2087,7 +1812,7 @@
</span><span class="cx">     case GraphicsContext3D::ALPHA_BITS:
</span><span class="cx">         return getIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::ARRAY_BUFFER_BINDING:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLBuffer&gt;(m_boundArrayBuffer));
</del><ins>+        return WebGLGetInfo(m_boundArrayBuffer.get());
</ins><span class="cx">     case GraphicsContext3D::BLEND:
</span><span class="cx">         return getBooleanParameter(pname);
</span><span class="cx">     case GraphicsContext3D::BLEND_COLOR:
</span><span class="lines">@@ -2117,7 +1842,7 @@
</span><span class="cx">     case GraphicsContext3D::CULL_FACE_MODE:
</span><span class="cx">         return getUnsignedIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::CURRENT_PROGRAM:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLProgram&gt;(m_currentProgram));
</del><ins>+        return WebGLGetInfo(m_currentProgram.get());
</ins><span class="cx">     case GraphicsContext3D::DEPTH_BITS:
</span><span class="cx">         if (!m_framebufferBinding &amp;&amp; !m_attributes.depth)
</span><span class="cx">             return WebGLGetInfo(intZero);
</span><span class="lines">@@ -2135,9 +1860,9 @@
</span><span class="cx">     case GraphicsContext3D::DITHER:
</span><span class="cx">         return getBooleanParameter(pname);
</span><span class="cx">     case GraphicsContext3D::ELEMENT_ARRAY_BUFFER_BINDING:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLBuffer&gt;(m_boundVertexArrayObject-&gt;getElementArrayBuffer()));
</del><ins>+        return WebGLGetInfo(m_boundVertexArrayObject-&gt;getElementArrayBuffer());
</ins><span class="cx">     case GraphicsContext3D::FRAMEBUFFER_BINDING:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLFramebuffer&gt;(m_framebufferBinding));
</del><ins>+        return WebGLGetInfo(m_framebufferBinding.get());
</ins><span class="cx">     case GraphicsContext3D::FRONT_FACE:
</span><span class="cx">         return getUnsignedIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::GENERATE_MIPMAP_HINT:
</span><span class="lines">@@ -2185,7 +1910,7 @@
</span><span class="cx">     case GraphicsContext3D::RED_BITS:
</span><span class="cx">         return getIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::RENDERBUFFER_BINDING:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLRenderbuffer&gt;(m_renderbufferBinding));
</del><ins>+        return WebGLGetInfo(m_renderbufferBinding.get());
</ins><span class="cx">     case GraphicsContext3D::RENDERER:
</span><span class="cx">         return WebGLGetInfo(String(&quot;WebKit WebGL&quot;));
</span><span class="cx">     case GraphicsContext3D::SAMPLE_BUFFERS:
</span><span class="lines">@@ -2241,9 +1966,9 @@
</span><span class="cx">     case GraphicsContext3D::SUBPIXEL_BITS:
</span><span class="cx">         return getIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::TEXTURE_BINDING_2D:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLTexture&gt;(m_textureUnits[m_activeTextureUnit].texture2DBinding));
</del><ins>+        return WebGLGetInfo(m_textureUnits[m_activeTextureUnit].texture2DBinding.get());
</ins><span class="cx">     case GraphicsContext3D::TEXTURE_BINDING_CUBE_MAP:
</span><del>-        return WebGLGetInfo(PassRefPtr&lt;WebGLTexture&gt;(m_textureUnits[m_activeTextureUnit].textureCubeMapBinding));
</del><ins>+        return WebGLGetInfo(m_textureUnits[m_activeTextureUnit].textureCubeMapBinding.get());
</ins><span class="cx">     case GraphicsContext3D::UNPACK_ALIGNMENT:
</span><span class="cx">         return getIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::UNPACK_FLIP_Y_WEBGL:
</span><span class="lines">@@ -2357,7 +2082,7 @@
</span><span class="cx">         return getIntParameter(pname);
</span><span class="cx">     case GraphicsContext3D::VERTEX_ARRAY_BINDING: {
</span><span class="cx">         if (!m_boundVertexArrayObject-&gt;isDefaultObject())
</span><del>-            return WebGLGetInfo(PassRefPtr&lt;WebGLVertexArrayObject&gt;(static_cast&lt;WebGLVertexArrayObject*&gt;(m_boundVertexArrayObject.get())));
</del><ins>+            return WebGLGetInfo(static_cast&lt;WebGLVertexArrayObject*&gt;(m_boundVertexArrayObject.get()));
</ins><span class="cx">         return WebGLGetInfo();
</span><span class="cx">         }
</span><span class="cx">         break;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGL2RenderingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -41,12 +41,12 @@
</span><span class="cx"> class WebGL2RenderingContext final : public WebGLRenderingContextBase {
</span><span class="cx"> public:
</span><span class="cx">     WebGL2RenderingContext(HTMLCanvasElement*, GraphicsContext3D::Attributes);
</span><del>-    WebGL2RenderingContext(HTMLCanvasElement*, PassRefPtr&lt;GraphicsContext3D&gt;, GraphicsContext3D::Attributes);
</del><ins>+    WebGL2RenderingContext(HTMLCanvasElement*, RefPtr&lt;GraphicsContext3D&gt;&amp;&amp;, GraphicsContext3D::Attributes);
</ins><span class="cx">     bool isWebGL2() const override { return true; }
</span><span class="cx"> 
</span><span class="cx">     /* Buffer objects */
</span><span class="cx">     void copyBufferSubData(GC3Denum readTarget, GC3Denum writeTarget, GC3Dint64 readOffset, GC3Dint64 writeOffset, GC3Dint64 size);
</span><del>-    void getBufferSubData(GC3Denum target, GC3Dint64 offset, ArrayBufferView* returnedData);
</del><ins>+    void getBufferSubData(GC3Denum target, GC3Dint64 offset, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; returnedData);
</ins><span class="cx">     void getBufferSubData(GC3Denum target, GC3Dint64 offset, ArrayBuffer* returnedData);
</span><span class="cx">     
</span><span class="cx">     /* Framebuffer objects */
</span><span class="lines">@@ -64,38 +64,38 @@
</span><span class="cx">     /* Texture objects */
</span><span class="cx">     void texStorage2D(GC3Denum target, GC3Dsizei levels, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height);
</span><span class="cx">     void texStorage3D(GC3Denum target, GC3Dsizei levels, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth);
</span><del>-    void texImage3D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Denum format, GC3Denum type, ArrayBufferView* pixels);
-    void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Denum type, ArrayBufferView* pixels);
</del><ins>+    void texImage3D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; pixels);
+    void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; pixels);
</ins><span class="cx">     void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, ImageData* source);
</span><span class="cx">     void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLImageElement* source);
</span><span class="cx">     void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLCanvasElement* source);
</span><span class="cx">     void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Denum format, GC3Denum type, HTMLVideoElement* source);
</span><span class="cx">     void copyTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height);
</span><del>-    void compressedTexImage3D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Dsizei imageSize, ArrayBufferView* data);
-    void compressedTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Dsizei imageSize, ArrayBufferView* data);
</del><ins>+    void compressedTexImage3D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Dsizei imageSize, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; data);
+    void compressedTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Dsizei imageSize, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; data);
</ins><span class="cx">     
</span><span class="cx">     /* Programs and shaders */
</span><span class="cx">     GC3Dint getFragDataLocation(WebGLProgram* program, String name);
</span><span class="cx">     
</span><span class="cx">     /* Uniforms and attributes */
</span><del>-    void uniform1ui(WebGLUniformLocation* location, GC3Duint v0);
-    void uniform2ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1);
-    void uniform3ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1, GC3Duint v2);
-    void uniform4ui(WebGLUniformLocation* location, GC3Duint v0, GC3Duint v1, GC3Duint v2, GC3Duint v3);
-    void uniform1uiv(WebGLUniformLocation* location, Uint32Array* value);
-    void uniform2uiv(WebGLUniformLocation* location, Uint32Array* value);
-    void uniform3uiv(WebGLUniformLocation* location, Uint32Array* value);
-    void uniform4uiv(WebGLUniformLocation* location, Uint32Array* value);
-    void uniformMatrix2x3fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
-    void uniformMatrix3x2fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
-    void uniformMatrix2x4fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
-    void uniformMatrix4x2fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
-    void uniformMatrix3x4fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
-    void uniformMatrix4x3fv(WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value);
</del><ins>+    void uniform1ui(WebGLUniformLocation*, GC3Duint v0);
+    void uniform2ui(WebGLUniformLocation*, GC3Duint v0, GC3Duint v1);
+    void uniform3ui(WebGLUniformLocation*, GC3Duint v0, GC3Duint v1, GC3Duint v2);
+    void uniform4ui(WebGLUniformLocation*, GC3Duint v0, GC3Duint v1, GC3Duint v2, GC3Duint v3);
+    void uniform1uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp; value);
+    void uniform2uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp; value);
+    void uniform3uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp; value);
+    void uniform4uiv(WebGLUniformLocation*, RefPtr&lt;Uint32Array&gt;&amp;&amp; value);
+    void uniformMatrix2x3fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
+    void uniformMatrix3x2fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
+    void uniformMatrix2x4fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
+    void uniformMatrix4x2fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
+    void uniformMatrix3x4fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
+    void uniformMatrix4x3fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
</ins><span class="cx">     void vertexAttribI4i(GC3Duint index, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w);
</span><del>-    void vertexAttribI4iv(GC3Duint index, Int32Array* v);
</del><ins>+    void vertexAttribI4iv(GC3Duint index, RefPtr&lt;Int32Array&gt;&amp;&amp; v);
</ins><span class="cx">     void vertexAttribI4ui(GC3Duint index, GC3Duint x, GC3Duint y, GC3Duint z, GC3Duint w);
</span><del>-    void vertexAttribI4uiv(GC3Duint index, Uint32Array* v);
</del><ins>+    void vertexAttribI4uiv(GC3Duint index, RefPtr&lt;Uint32Array&gt;&amp;&amp; v);
</ins><span class="cx">     void vertexAttribIPointer(GC3Duint index, GC3Dint size, GC3Denum type, GC3Dsizei stride, GC3Dint64 offset);
</span><span class="cx">     
</span><span class="cx">     /* Writing to the drawing buffer */
</span><span class="lines">@@ -107,22 +107,22 @@
</span><span class="cx">     
</span><span class="cx">     /* Multiple Render Targets */
</span><span class="cx">     void drawBuffers(Vector&lt;GC3Denum&gt; buffers);
</span><del>-    void clearBufferiv(GC3Denum buffer, GC3Dint drawbuffer, Int32Array* value);
-    void clearBufferuiv(GC3Denum buffer, GC3Dint drawbuffer, Uint32Array* value);
-    void clearBufferfv(GC3Denum buffer, GC3Dint drawbuffer, Float32Array* value);
</del><ins>+    void clearBufferiv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Int32Array&gt;&amp;&amp; value);
+    void clearBufferuiv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Uint32Array&gt;&amp;&amp; value);
+    void clearBufferfv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr&lt;Float32Array&gt;&amp;&amp; value);
</ins><span class="cx">     void clearBufferfi(GC3Denum buffer, GC3Dint drawbuffer, GC3Dfloat depth, GC3Dint stencil);
</span><span class="cx">     
</span><span class="cx">     /* Query Objects */
</span><del>-    PassRefPtr&lt;WebGLQuery&gt; createQuery();
</del><ins>+    RefPtr&lt;WebGLQuery&gt; createQuery();
</ins><span class="cx">     void deleteQuery(WebGLQuery* query);
</span><span class="cx">     GC3Dboolean isQuery(WebGLQuery* query);
</span><span class="cx">     void beginQuery(GC3Denum target, WebGLQuery* query);
</span><span class="cx">     void endQuery(GC3Denum target);
</span><del>-    PassRefPtr&lt;WebGLQuery&gt; getQuery(GC3Denum target, GC3Denum pname);
</del><ins>+    RefPtr&lt;WebGLQuery&gt; getQuery(GC3Denum target, GC3Denum pname);
</ins><span class="cx">     WebGLGetInfo getQueryParameter(WebGLQuery* query, GC3Denum pname);
</span><span class="cx">     
</span><span class="cx">     /* Sampler Objects */
</span><del>-    PassRefPtr&lt;WebGLSampler&gt; createSampler();
</del><ins>+    RefPtr&lt;WebGLSampler&gt; createSampler();
</ins><span class="cx">     void deleteSampler(WebGLSampler* sampler);
</span><span class="cx">     GC3Dboolean isSampler(WebGLSampler* sampler);
</span><span class="cx">     void bindSampler(GC3Duint unit, WebGLSampler* sampler);
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     WebGLGetInfo getSamplerParameter(WebGLSampler* sampler, GC3Denum pname);
</span><span class="cx">     
</span><span class="cx">     /* Sync objects */
</span><del>-    PassRefPtr&lt;WebGLSync&gt; fenceSync(GC3Denum condition, GC3Dbitfield flags);
</del><ins>+    RefPtr&lt;WebGLSync&gt; fenceSync(GC3Denum condition, GC3Dbitfield flags);
</ins><span class="cx">     GC3Dboolean isSync(WebGLSync* sync);
</span><span class="cx">     void deleteSync(WebGLSync* sync);
</span><span class="cx">     GC3Denum clientWaitSync(WebGLSync* sync, GC3Dbitfield flags, GC3Duint64 timeout);
</span><span class="lines">@@ -139,14 +139,14 @@
</span><span class="cx">     WebGLGetInfo getSyncParameter(WebGLSync* sync, GC3Denum pname);
</span><span class="cx">     
</span><span class="cx">     /* Transform Feedback */
</span><del>-    PassRefPtr&lt;WebGLTransformFeedback&gt; createTransformFeedback();
</del><ins>+    RefPtr&lt;WebGLTransformFeedback&gt; createTransformFeedback();
</ins><span class="cx">     void deleteTransformFeedback(WebGLTransformFeedback* id);
</span><span class="cx">     GC3Dboolean isTransformFeedback(WebGLTransformFeedback* id);
</span><span class="cx">     void bindTransformFeedback(GC3Denum target, WebGLTransformFeedback* id);
</span><span class="cx">     void beginTransformFeedback(GC3Denum primitiveMode);
</span><span class="cx">     void endTransformFeedback();
</span><del>-    void transformFeedbackVaryings(WebGLProgram* program, Vector&lt;String&gt; varyings, GC3Denum bufferMode);
-    PassRefPtr&lt;WebGLActiveInfo&gt; getTransformFeedbackVarying(WebGLProgram* program, GC3Duint index);
</del><ins>+    void transformFeedbackVaryings(WebGLProgram*, Vector&lt;String&gt; varyings, GC3Denum bufferMode);
+    RefPtr&lt;WebGLActiveInfo&gt; getTransformFeedbackVarying(WebGLProgram*, GC3Duint index);
</ins><span class="cx">     void pauseTransformFeedback();
</span><span class="cx">     void resumeTransformFeedback();
</span><span class="cx">     
</span><span class="lines">@@ -154,15 +154,15 @@
</span><span class="cx">     void bindBufferBase(GC3Denum target, GC3Duint index, WebGLBuffer* buffer);
</span><span class="cx">     void bindBufferRange(GC3Denum target, GC3Duint index, WebGLBuffer* buffer, GC3Dint64 offset, GC3Dint64 size);
</span><span class="cx">     WebGLGetInfo getIndexedParameter(GC3Denum target, GC3Duint index);
</span><del>-    Uint32Array* getUniformIndices(WebGLProgram* program, Vector&lt;String&gt; uniformNames);
-    Int32Array* getActiveUniforms(WebGLProgram* program, Uint32Array* uniformIndices, GC3Denum pname);
-    GC3Duint getUniformBlockIndex(WebGLProgram* program, String uniformBlockName);
-    WebGLGetInfo getActiveUniformBlockParameter(WebGLProgram* program, GC3Duint uniformBlockIndex, GC3Denum pname);
-    WebGLGetInfo getActiveUniformBlockName(WebGLProgram* program, GC3Duint uniformBlockIndex);
-    void uniformBlockBinding(WebGLProgram* program, GC3Duint uniformBlockIndex, GC3Duint uniformBlockBinding);
</del><ins>+    Uint32Array* getUniformIndices(WebGLProgram*, Vector&lt;String&gt; uniformNames);
+    Int32Array* getActiveUniforms(WebGLProgram*, RefPtr&lt;Uint32Array&gt;&amp;&amp; uniformIndices, GC3Denum pname);
+    GC3Duint getUniformBlockIndex(WebGLProgram*, String uniformBlockName);
+    WebGLGetInfo getActiveUniformBlockParameter(WebGLProgram*, GC3Duint uniformBlockIndex, GC3Denum pname);
+    WebGLGetInfo getActiveUniformBlockName(WebGLProgram*, GC3Duint uniformBlockIndex);
+    void uniformBlockBinding(WebGLProgram*, GC3Duint uniformBlockIndex, GC3Duint uniformBlockBinding);
</ins><span class="cx">     
</span><span class="cx">     /* Vertex Array Objects */
</span><del>-    PassRefPtr&lt;WebGLVertexArrayObject&gt; createVertexArray();
</del><ins>+    RefPtr&lt;WebGLVertexArrayObject&gt; createVertexArray();
</ins><span class="cx">     void deleteVertexArray(WebGLVertexArrayObject* vertexArray);
</span><span class="cx">     GC3Dboolean isVertexArray(WebGLVertexArrayObject* vertexArray);
</span><span class="cx">     void bindVertexArray(WebGLVertexArrayObject* vertexArray);
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx">     void texSubImage2DImpl(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Denum format, GC3Denum type, Image*, GraphicsContext3D::ImageHtmlDomSource, bool flipY, bool premultiplyAlpha, ExceptionCode&amp;) override;
</span><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Dsizei width, GC3Dsizei height,
</span><del>-        GC3Denum format, GC3Denum type, ArrayBufferView*, ExceptionCode&amp;) override;
</del><ins>+        GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;, ExceptionCode&amp;) override;
</ins><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Denum format, GC3Denum type, ImageData*, ExceptionCode&amp;) override;
</span><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGL2RenderingContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -359,8 +359,8 @@
</span><span class="cx">     [StrictTypeChecking] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, HTMLCanvasElement? source);
</span><span class="cx">     [StrictTypeChecking] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, HTMLVideoElement? source);
</span><span class="cx">     [StrictTypeChecking] void copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
</span><del>-    [StrictTypeChecking] void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, ArrayBufferView data);
-    [StrictTypeChecking] void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, ArrayBufferView data);
</del><ins>+    [StrictTypeChecking] void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, ArrayBufferView? data);
+    [StrictTypeChecking] void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, ArrayBufferView? data);
</ins><span class="cx"> 
</span><span class="cx">     /* Programs and shaders */
</span><span class="cx">     [StrictTypeChecking] GLint getFragDataLocation(WebGLProgram? program, DOMString name);
</span><span class="lines">@@ -370,20 +370,20 @@
</span><span class="cx">     [StrictTypeChecking] void uniform2ui(WebGLUniformLocation? location, GLuint v0, GLuint v1);
</span><span class="cx">     [StrictTypeChecking] void uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2);
</span><span class="cx">     [StrictTypeChecking] void uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
</span><del>-    [StrictTypeChecking] void uniform1uiv(WebGLUniformLocation? location, Uint32Array value);
-    [StrictTypeChecking] void uniform2uiv(WebGLUniformLocation? location, Uint32Array value);
-    [StrictTypeChecking] void uniform3uiv(WebGLUniformLocation? location, Uint32Array value);
-    [StrictTypeChecking] void uniform4uiv(WebGLUniformLocation? location, Uint32Array value);
-    [StrictTypeChecking] void uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
-    [StrictTypeChecking] void uniformMatrix3x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
-    [StrictTypeChecking] void uniformMatrix2x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
-    [StrictTypeChecking] void uniformMatrix4x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
-    [StrictTypeChecking] void uniformMatrix3x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
-    [StrictTypeChecking] void uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
</del><ins>+    [StrictTypeChecking] void uniform1uiv(WebGLUniformLocation? location, Uint32Array? value);
+    [StrictTypeChecking] void uniform2uiv(WebGLUniformLocation? location, Uint32Array? value);
+    [StrictTypeChecking] void uniform3uiv(WebGLUniformLocation? location, Uint32Array? value);
+    [StrictTypeChecking] void uniform4uiv(WebGLUniformLocation? location, Uint32Array? value);
+    [StrictTypeChecking] void uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
+    [StrictTypeChecking] void uniformMatrix3x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
+    [StrictTypeChecking] void uniformMatrix2x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
+    [StrictTypeChecking] void uniformMatrix4x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
+    [StrictTypeChecking] void uniformMatrix3x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
+    [StrictTypeChecking] void uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array? value);
</ins><span class="cx">     [StrictTypeChecking] void vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
</span><del>-    [StrictTypeChecking] void vertexAttribI4iv(GLuint index, Int32Array v);
</del><ins>+    [StrictTypeChecking] void vertexAttribI4iv(GLuint index, Int32Array? v);
</ins><span class="cx">     [StrictTypeChecking] void vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
</span><del>-    [StrictTypeChecking] void vertexAttribI4uiv(GLuint index, Uint32Array v);
</del><ins>+    [StrictTypeChecking] void vertexAttribI4uiv(GLuint index, Uint32Array? v);
</ins><span class="cx">     [StrictTypeChecking] void vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
</span><span class="cx"> 
</span><span class="cx">     /* Writing to the drawing buffer */
</span><span class="lines">@@ -394,9 +394,9 @@
</span><span class="cx"> 
</span><span class="cx">     /* Multiple Render Targets */
</span><span class="cx">     [StrictTypeChecking] void drawBuffers(sequence&lt;GLenum&gt; buffers);
</span><del>-    [StrictTypeChecking] void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32Array value);
-    [StrictTypeChecking] void clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32Array value);
-    [StrictTypeChecking] void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32Array value);
</del><ins>+    [StrictTypeChecking] void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32Array? value);
+    [StrictTypeChecking] void clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32Array? value);
+    [StrictTypeChecking] void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32Array? value);
</ins><span class="cx">     [StrictTypeChecking] void clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
</span><span class="cx"> 
</span><span class="cx">     /* Query Objects */
</span><span class="lines">@@ -442,7 +442,7 @@
</span><span class="cx">     [StrictTypeChecking] void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
</span><span class="cx">     [StrictTypeChecking, Custom] any getIndexedParameter(GLenum target, GLuint index);
</span><span class="cx">     [StrictTypeChecking] Uint32Array getUniformIndices(WebGLProgram? program, sequence&lt;DOMString&gt; uniformNames);
</span><del>-    [StrictTypeChecking] Int32Array getActiveUniforms(WebGLProgram? program, Uint32Array uniformIndices, GLenum pname);
</del><ins>+    [StrictTypeChecking] Int32Array getActiveUniforms(WebGLProgram? program, Uint32Array? uniformIndices, GLenum pname);
</ins><span class="cx">     [StrictTypeChecking] GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName);
</span><span class="cx">     [StrictTypeChecking, Custom] any getActiveUniformBlockParameter(WebGLProgram? program, GLuint uniformBlockIndex, GLenum pname);
</span><span class="cx">     [StrictTypeChecking, Custom] any getActiveUniformBlockName(WebGLProgram? program, GLuint uniformBlockIndex);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -564,9 +564,9 @@
</span><span class="cx">         m_context-&gt;pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionCode&amp; ec)
</del><ins>+void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; pixels, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (isContextLostOrPending() || !validateTexFuncData(&quot;texSubImage2D&quot;, level, width, height, format, format, type, pixels, NullNotAllowed) || !validateTexFunc(&quot;texSubImage2D&quot;, TexSubImage, SourceArrayBufferView, target, level, format, width, height, 0, format, type, xoffset, yoffset))
</del><ins>+    if (isContextLostOrPending() || !validateTexFuncData(&quot;texSubImage2D&quot;, level, width, height, format, format, type, pixels.get(), NullNotAllowed) || !validateTexFunc(&quot;texSubImage2D&quot;, TexSubImage, SourceArrayBufferView, target, level, format, width, height, 0, format, type, xoffset, yoffset))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     void* data = pixels-&gt;baseAddress();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     void texSubImage2DImpl(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Denum format, GC3Denum type, Image*, GraphicsContext3D::ImageHtmlDomSource, bool flipY, bool premultiplyAlpha, ExceptionCode&amp;) override;
</span><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Dsizei width, GC3Dsizei height,
</span><del>-        GC3Denum format, GC3Denum type, ArrayBufferView*, ExceptionCode&amp;) override;
</del><ins>+        GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;, ExceptionCode&amp;) override;
</ins><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Denum format, GC3Denum type, ImageData*, ExceptionCode&amp;) override;
</span><span class="cx">     void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -433,10 +433,10 @@
</span><span class="cx">     std::unique_ptr&lt;WebGLRenderingContextBase&gt; renderingContext = nullptr;
</span><span class="cx"> #if ENABLE(WEBGL2)
</span><span class="cx">     if (type == &quot;webgl2&quot;)
</span><del>-        renderingContext = std::unique_ptr&lt;WebGL2RenderingContext&gt;(new WebGL2RenderingContext(canvas, context, attributes));
</del><ins>+        renderingContext = std::unique_ptr&lt;WebGL2RenderingContext&gt;(new WebGL2RenderingContext(canvas, WTFMove(context), attributes));
</ins><span class="cx">     else
</span><span class="cx"> #endif
</span><del>-        renderingContext = std::unique_ptr&lt;WebGLRenderingContext&gt;(new WebGLRenderingContext(canvas, context, attributes));
</del><ins>+        renderingContext = std::unique_ptr&lt;WebGLRenderingContext&gt;(new WebGLRenderingContext(canvas, WTFMove(context), attributes));
</ins><span class="cx">     renderingContext-&gt;suspendIfNeeded();
</span><span class="cx"> 
</span><span class="cx">     return renderingContext;
</span><span class="lines">@@ -445,7 +445,7 @@
</span><span class="cx"> WebGLRenderingContextBase::WebGLRenderingContextBase(HTMLCanvasElement* passedCanvas, GraphicsContext3D::Attributes attributes)
</span><span class="cx">     : CanvasRenderingContext(passedCanvas)
</span><span class="cx">     , ActiveDOMObject(&amp;passedCanvas-&gt;document())
</span><del>-    , m_context(0)
</del><ins>+    , m_context(nullptr)
</ins><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">@@ -460,10 +460,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebGLRenderingContextBase::WebGLRenderingContextBase(HTMLCanvasElement* passedCanvas, PassRefPtr&lt;GraphicsContext3D&gt; context, GraphicsContext3D::Attributes attributes)
</del><ins>+WebGLRenderingContextBase::WebGLRenderingContextBase(HTMLCanvasElement* passedCanvas, RefPtr&lt;GraphicsContext3D&gt;&amp;&amp; context, GraphicsContext3D::Attributes attributes)
</ins><span class="cx">     : CanvasRenderingContext(passedCanvas)
</span><span class="cx">     , ActiveDOMObject(&amp;passedCanvas-&gt;document())
</span><del>-    , m_context(context)
</del><ins>+    , m_context(WTFMove(context))
</ins><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">@@ -1065,52 +1065,44 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBuffer* data, GC3Denum usage, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBuffer&amp; data, GC3Denum usage, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="cx">     WebGLBuffer* buffer = validateBufferDataParameters(&quot;bufferData&quot;, target, usage);
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return;
</span><del>-    if (!data) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;bufferData&quot;, &quot;no data&quot;);
-        return;
-    }
</del><span class="cx">     if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
</span><del>-        if (!buffer-&gt;associateBufferData(data)) {
</del><ins>+        if (!buffer-&gt;associateBufferData(&amp;data)) {
</ins><span class="cx">             synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;bufferData&quot;, &quot;invalid buffer&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_context-&gt;moveErrorsToSyntheticErrorList();
</span><del>-    m_context-&gt;bufferData(target, data-&gt;byteLength(), data-&gt;data(), usage);
</del><ins>+    m_context-&gt;bufferData(target, data.byteLength(), data.data(), usage);
</ins><span class="cx">     if (m_context-&gt;moveErrorsToSyntheticErrorList()) {
</span><span class="cx">         // The bufferData function failed. Tell the buffer it doesn't have the data it thinks it does.
</span><span class="cx">         buffer-&gt;disassociateBufferData();
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBufferView* data, GC3Denum usage, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBufferView&amp; data, GC3Denum usage, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="cx">     WebGLBuffer* buffer = validateBufferDataParameters(&quot;bufferData&quot;, target, usage);
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return;
</span><del>-    if (!data) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;bufferData&quot;, &quot;no data&quot;);
-        return;
-    }
</del><span class="cx">     if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
</span><del>-        if (!buffer-&gt;associateBufferData(data)) {
</del><ins>+        if (!buffer-&gt;associateBufferData(&amp;data)) {
</ins><span class="cx">             synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;bufferData&quot;, &quot;invalid buffer&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_context-&gt;moveErrorsToSyntheticErrorList();
</span><del>-    m_context-&gt;bufferData(target, data-&gt;byteLength(), data-&gt;baseAddress(), usage);
</del><ins>+    m_context-&gt;bufferData(target, data.byteLength(), data.baseAddress(), usage);
</ins><span class="cx">     if (m_context-&gt;moveErrorsToSyntheticErrorList()) {
</span><span class="cx">         // The bufferData function failed. Tell the buffer it doesn't have the data it thinks it does.
</span><span class="cx">         buffer-&gt;disassociateBufferData();
</span><span class="lines">@@ -1145,7 +1137,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::bufferSubData(GC3Denum target, long long offset, ArrayBufferView* data, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::bufferSubData(GC3Denum target, long long offset, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; data, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="lines">@@ -1159,7 +1151,7 @@
</span><span class="cx">     if (!data)
</span><span class="cx">         return;
</span><span class="cx">     if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
</span><del>-        if (!buffer-&gt;associateBufferSubData(static_cast&lt;GC3Dintptr&gt;(offset), data)) {
</del><ins>+        if (!buffer-&gt;associateBufferSubData(static_cast&lt;GC3Dintptr&gt;(offset), data.get())) {
</ins><span class="cx">             synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;bufferSubData&quot;, &quot;offset out of range&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -1249,8 +1241,7 @@
</span><span class="cx">     shader-&gt;setValid(value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::compressedTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width,
-                                                 GC3Dsizei height, GC3Dint border, ArrayBufferView* data)
</del><ins>+void WebGLRenderingContextBase::compressedTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, ArrayBufferView&amp; data)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="lines">@@ -1277,7 +1268,7 @@
</span><span class="cx">         return;
</span><span class="cx">     m_context-&gt;moveErrorsToSyntheticErrorList();
</span><span class="cx">     m_context-&gt;compressedTexImage2D(target, level, internalformat, width, height,
</span><del>-        border, data-&gt;byteLength(), data-&gt;baseAddress());
</del><ins>+        border, data.byteLength(), data.baseAddress());
</ins><span class="cx">     if (m_context-&gt;moveErrorsToSyntheticErrorList()) {
</span><span class="cx">         // The compressedTexImage2D function failed. Tell the WebGLTexture it doesn't have the data for this level.
</span><span class="cx">         tex-&gt;markInvalid(target, level);
</span><span class="lines">@@ -1288,8 +1279,7 @@
</span><span class="cx">     tex-&gt;setCompressed();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::compressedTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
-                                                    GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView* data)
</del><ins>+void WebGLRenderingContextBase::compressedTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView&amp; data)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="lines">@@ -1314,8 +1304,7 @@
</span><span class="cx">     if (!validateCompressedTexSubDimensions(&quot;compressedTexSubImage2D&quot;, target, level, xoffset, yoffset, width, height, format, tex))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    graphicsContext3D()-&gt;compressedTexSubImage2D(target, level, xoffset, yoffset,
-                                                 width, height, format, data-&gt;byteLength(), data-&gt;baseAddress());
</del><ins>+    graphicsContext3D()-&gt;compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, data.byteLength(), data.baseAddress());
</ins><span class="cx">     tex-&gt;setCompressed();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2797,7 +2786,7 @@
</span><span class="cx">     m_context-&gt;polygonOffset(factor, units);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView&amp; pixels, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><span class="lines">@@ -2805,10 +2794,6 @@
</span><span class="cx">     // taint the origin using the WebGL API.
</span><span class="cx">     ASSERT(canvas()-&gt;originClean());
</span><span class="cx">     // Validate input parameters.
</span><del>-    if (!pixels) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;readPixels&quot;, &quot;no destination ArrayBufferView&quot;);
-        return;
-    }
</del><span class="cx">     switch (format) {
</span><span class="cx">     case GraphicsContext3D::ALPHA:
</span><span class="cx">     case GraphicsContext3D::RGB:
</span><span class="lines">@@ -2833,7 +2818,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     // Validate array type against pixel type.
</span><del>-    if (pixels-&gt;getType() != JSC::TypeUint8) {
</del><ins>+    if (pixels.getType() != JSC::TypeUint8) {
</ins><span class="cx">         synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, &quot;readPixels&quot;, &quot;ArrayBufferView not Uint8Array&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -2851,18 +2836,18 @@
</span><span class="cx">             synthesizeGLError(error, &quot;readPixels&quot;, &quot;invalid dimensions&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><del>-        if (pixels-&gt;byteLength() &lt; totalBytesRequired) {
</del><ins>+        if (pixels.byteLength() &lt; totalBytesRequired) {
</ins><span class="cx">             synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, &quot;readPixels&quot;, &quot;ArrayBufferView not large enough for dimensions&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     clearIfComposited();
</span><del>-    void* data = pixels-&gt;baseAddress();
</del><ins>+    void* data = pixels.baseAddress();
</ins><span class="cx"> 
</span><span class="cx">     {
</span><span class="cx">         if (m_isRobustnessEXTSupported)
</span><del>-            m_context-&gt;getExtensions()-&gt;readnPixelsEXT(x, y, width, height, format, type, pixels-&gt;byteLength(), data);
</del><ins>+            m_context-&gt;getExtensions()-&gt;readnPixelsEXT(x, y, width, height, format, type, pixels.byteLength(), data);
</ins><span class="cx">         else
</span><span class="cx">             m_context-&gt;readPixels(x, y, width, height, format, type, data);
</span><span class="cx">     }
</span><span class="lines">@@ -3112,11 +3097,9 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
-                                       GC3Dsizei width, GC3Dsizei height, GC3Dint border,
-                                       GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionCode&amp; ec)
</del><ins>+void WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; pixels, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (isContextLostOrPending() || !validateTexFuncData(&quot;texImage2D&quot;, level, width, height, internalformat, format, type, pixels, NullAllowed)
</del><ins>+    if (isContextLostOrPending() || !validateTexFuncData(&quot;texImage2D&quot;, level, width, height, internalformat, format, type, pixels.get(), NullAllowed)
</ins><span class="cx">         || !validateTexFunc(&quot;texImage2D&quot;, TexImage, SourceArrayBufferView, target, level, internalformat, width, height, border, format, type, 0, 0))
</span><span class="cx">         return;
</span><span class="cx">     void* data = pixels ? pixels-&gt;baseAddress() : 0;
</span><span class="lines">@@ -3340,12 +3323,12 @@
</span><span class="cx">     m_context-&gt;uniform1f(location-&gt;location(), x);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform1fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform1fv(const WebGLUniformLocation* location, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform1fv&quot;, location, v, 1))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform1fv(location-&gt;location(), v-&gt;length(), v-&gt;data());
</del><ins>+    m_context-&gt;uniform1fv(location-&gt;location(), v.length(), v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform1fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3374,21 +3357,21 @@
</span><span class="cx">     m_context-&gt;uniform1i(location-&gt;location(), x);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform1iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform1iv(const WebGLUniformLocation* location, Int32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform1iv&quot;, location, v, 1))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (location-&gt;type() == GraphicsContext3D::SAMPLER_2D || location-&gt;type() == GraphicsContext3D::SAMPLER_CUBE)
</span><del>-        for (unsigned i = 0; i &lt; v-&gt;length(); ++i) {
-            if (v-&gt;data()[i] &gt;= static_cast&lt;int&gt;(m_textureUnits.size())) {
-                LOG(WebGL, &quot;Texture unit size=%zu, v[%d]=%d. Location type = %04X.&quot;, m_textureUnits.size(), i, v-&gt;data()[i], location-&gt;type());
</del><ins>+        for (unsigned i = 0; i &lt; v.length(); ++i) {
+            if (v.data()[i] &gt;= static_cast&lt;int&gt;(m_textureUnits.size())) {
+                LOG(WebGL, &quot;Texture unit size=%zu, v[%d]=%d. Location type = %04X.&quot;, m_textureUnits.size(), i, v.data()[i], location-&gt;type());
</ins><span class="cx">                 synthesizeGLError(GraphicsContext3D::INVALID_VALUE, &quot;uniform1iv&quot;, &quot;invalid texture unit&quot;);
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform1iv(location-&gt;location(), v-&gt;length(), v-&gt;data());
</del><ins>+    m_context-&gt;uniform1iv(location-&gt;location(), v.length(), v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform1iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3420,12 +3403,12 @@
</span><span class="cx">     m_context-&gt;uniform2f(location-&gt;location(), x, y);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform2fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform2fv(const WebGLUniformLocation* location, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform2fv&quot;, location, v, 2))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform2fv(location-&gt;location(), v-&gt;length() / 2, v-&gt;data());
</del><ins>+    m_context-&gt;uniform2fv(location-&gt;location(), v.length() / 2, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform2fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3449,12 +3432,12 @@
</span><span class="cx">     m_context-&gt;uniform2i(location-&gt;location(), x, y);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform2iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform2iv(const WebGLUniformLocation* location, Int32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform2iv&quot;, location, v, 2))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform2iv(location-&gt;location(), v-&gt;length() / 2, v-&gt;data());
</del><ins>+    m_context-&gt;uniform2iv(location-&gt;location(), v.length() / 2, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform2iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3478,12 +3461,12 @@
</span><span class="cx">     m_context-&gt;uniform3f(location-&gt;location(), x, y, z);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform3fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform3fv(const WebGLUniformLocation* location, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform3fv&quot;, location, v, 3))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform3fv(location-&gt;location(), v-&gt;length() / 3, v-&gt;data());
</del><ins>+    m_context-&gt;uniform3fv(location-&gt;location(), v.length() / 3, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform3fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3507,12 +3490,12 @@
</span><span class="cx">     m_context-&gt;uniform3i(location-&gt;location(), x, y, z);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform3iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform3iv(const WebGLUniformLocation* location, Int32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform3iv&quot;, location, v, 3))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform3iv(location-&gt;location(), v-&gt;length() / 3, v-&gt;data());
</del><ins>+    m_context-&gt;uniform3iv(location-&gt;location(), v.length() / 3, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform3iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3536,12 +3519,12 @@
</span><span class="cx">     m_context-&gt;uniform4f(location-&gt;location(), x, y, z, w);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform4fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform4fv(const WebGLUniformLocation* location, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform4fv&quot;, location, v, 4))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform4fv(location-&gt;location(), v-&gt;length() / 4, v-&gt;data());
</del><ins>+    m_context-&gt;uniform4fv(location-&gt;location(), v.length() / 4, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform4fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3565,12 +3548,12 @@
</span><span class="cx">     m_context-&gt;uniform4i(location-&gt;location(), x, y, z, w);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, Int32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformParameters(&quot;uniform4iv&quot;, location, v, 4))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_context-&gt;uniform4iv(location-&gt;location(), v-&gt;length() / 4, v-&gt;data());
</del><ins>+    m_context-&gt;uniform4iv(location-&gt;location(), v.length() / 4, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3581,11 +3564,11 @@
</span><span class="cx">     m_context-&gt;uniform4iv(location-&gt;location(), size / 4, v);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformMatrixParameters(&quot;uniformMatrix2fv&quot;, location, transpose, v, 4))
</span><span class="cx">         return;
</span><del>-    m_context-&gt;uniformMatrix2fv(location-&gt;location(), v-&gt;length() / 4, transpose, v-&gt;data());
</del><ins>+    m_context-&gt;uniformMatrix2fv(location-&gt;location(), v.length() / 4, transpose, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3595,11 +3578,11 @@
</span><span class="cx">     m_context-&gt;uniformMatrix2fv(location-&gt;location(), size / 4, transpose, v);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformMatrixParameters(&quot;uniformMatrix3fv&quot;, location, transpose, v, 9))
</span><span class="cx">         return;
</span><del>-    m_context-&gt;uniformMatrix3fv(location-&gt;location(), v-&gt;length() / 9, transpose, v-&gt;data());
</del><ins>+    m_context-&gt;uniformMatrix3fv(location-&gt;location(), v.length() / 9, transpose, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3609,11 +3592,11 @@
</span><span class="cx">     m_context-&gt;uniformMatrix3fv(location-&gt;location(), size / 9, transpose, v);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* v, ExceptionCode&amp;)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array&amp; v, ExceptionCode&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending() || !validateUniformMatrixParameters(&quot;uniformMatrix4fv&quot;, location, transpose, v, 16))
</span><span class="cx">         return;
</span><del>-    m_context-&gt;uniformMatrix4fv(location-&gt;location(), v-&gt;length() / 16, transpose, v-&gt;data());
</del><ins>+    m_context-&gt;uniformMatrix4fv(location-&gt;location(), v.length() / 16, transpose, v.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;)
</span><span class="lines">@@ -3656,7 +3639,7 @@
</span><span class="cx">     vertexAttribfImpl(&quot;vertexAttrib1f&quot;, index, 1, v0, 0.0f, 0.0f, 1.0f);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::vertexAttrib1fv(GC3Duint index, Float32Array* v)
</del><ins>+void WebGLRenderingContextBase::vertexAttrib1fv(GC3Duint index, Float32Array&amp; v)
</ins><span class="cx"> {
</span><span class="cx">     vertexAttribfvImpl(&quot;vertexAttrib1fv&quot;, index, v, 1);
</span><span class="cx"> }
</span><span class="lines">@@ -3671,7 +3654,7 @@
</span><span class="cx">     vertexAttribfImpl(&quot;vertexAttrib2f&quot;, index, 2, v0, v1, 0.0f, 1.0f);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::vertexAttrib2fv(GC3Duint index, Float32Array* v)
</del><ins>+void WebGLRenderingContextBase::vertexAttrib2fv(GC3Duint index, Float32Array&amp; v)
</ins><span class="cx"> {
</span><span class="cx">     vertexAttribfvImpl(&quot;vertexAttrib2fv&quot;, index, v, 2);
</span><span class="cx"> }
</span><span class="lines">@@ -3686,7 +3669,7 @@
</span><span class="cx">     vertexAttribfImpl(&quot;vertexAttrib3f&quot;, index, 3, v0, v1, v2, 1.0f);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::vertexAttrib3fv(GC3Duint index, Float32Array* v)
</del><ins>+void WebGLRenderingContextBase::vertexAttrib3fv(GC3Duint index, Float32Array&amp; v)
</ins><span class="cx"> {
</span><span class="cx">     vertexAttribfvImpl(&quot;vertexAttrib3fv&quot;, index, v, 3);
</span><span class="cx"> }
</span><span class="lines">@@ -3701,7 +3684,7 @@
</span><span class="cx">     vertexAttribfImpl(&quot;vertexAttrib4f&quot;, index, 4, v0, v1, v2, v3);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::vertexAttrib4fv(GC3Duint index, Float32Array* v)
</del><ins>+void WebGLRenderingContextBase::vertexAttrib4fv(GC3Duint index, Float32Array&amp; v)
</ins><span class="cx"> {
</span><span class="cx">     vertexAttribfvImpl(&quot;vertexAttrib4fv&quot;, index, v, 4);
</span><span class="cx"> }
</span><span class="lines">@@ -4213,14 +4196,8 @@
</span><span class="cx">     return m_compressedTextureFormats.contains(format);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebGLRenderingContextBase::validateCompressedTexFuncData(const char* functionName,
-                                                          GC3Dsizei width, GC3Dsizei height,
-                                                          GC3Denum format, ArrayBufferView* pixels)
</del><ins>+bool WebGLRenderingContextBase::validateCompressedTexFuncData(const char* functionName, GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView&amp; pixels)
</ins><span class="cx"> {
</span><del>-    if (!pixels) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;no pixels&quot;);
-        return false;
-    }
</del><span class="cx">     if (width &lt; 0 || height &lt; 0) {
</span><span class="cx">         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;width or height &lt; 0&quot;);
</span><span class="cx">         return false;
</span><span class="lines">@@ -4277,7 +4254,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (pixels-&gt;byteLength() != bytesRequired) {
</del><ins>+    if (pixels.byteLength() != bytesRequired) {
</ins><span class="cx">         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;length of ArrayBufferView is not correct for dimensions&quot;);
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="lines">@@ -4440,22 +4417,14 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebGLRenderingContextBase::validateUniformParameters(const char* functionName, const WebGLUniformLocation* location, Float32Array* v, GC3Dsizei requiredMinSize)
</del><ins>+bool WebGLRenderingContextBase::validateUniformParameters(const char* functionName, const WebGLUniformLocation* location, Float32Array&amp; v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>-    if (!v) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;no array&quot;);
-        return false;
-    }
-    return validateUniformMatrixParameters(functionName, location, false, v-&gt;data(), v-&gt;length(), requiredMinSize);
</del><ins>+    return validateUniformMatrixParameters(functionName, location, false, v.data(), v.length(), requiredMinSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebGLRenderingContextBase::validateUniformParameters(const char* functionName, const WebGLUniformLocation* location, Int32Array* v, GC3Dsizei requiredMinSize)
</del><ins>+bool WebGLRenderingContextBase::validateUniformParameters(const char* functionName, const WebGLUniformLocation* location, Int32Array&amp; v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>-    if (!v) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;no array&quot;);
-        return false;
-    }
-    return validateUniformMatrixParameters(functionName, location, false, v-&gt;data(), v-&gt;length(), requiredMinSize);
</del><ins>+    return validateUniformMatrixParameters(functionName, location, false, v.data(), v.length(), requiredMinSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebGLRenderingContextBase::validateUniformParameters(const char* functionName, const WebGLUniformLocation* location, void* v, GC3Dsizei size, GC3Dsizei requiredMinSize)
</span><span class="lines">@@ -4463,13 +4432,9 @@
</span><span class="cx">     return validateUniformMatrixParameters(functionName, location, false, v, size, requiredMinSize);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebGLRenderingContextBase::validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* v, GC3Dsizei requiredMinSize)
</del><ins>+bool WebGLRenderingContextBase::validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array&amp; v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>-    if (!v) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;no array&quot;);
-        return false;
-    }
-    return validateUniformMatrixParameters(functionName, location, transpose, v-&gt;data(), v-&gt;length(), requiredMinSize);
</del><ins>+    return validateUniformMatrixParameters(functionName, location, transpose, v.data(), v.length(), requiredMinSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebGLRenderingContextBase::validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation* location, GC3Dboolean transpose, void* v, GC3Dsizei size, GC3Dsizei requiredMinSize)
</span><span class="lines">@@ -4601,15 +4566,11 @@
</span><span class="cx">     attribValue.value[3] = v3;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebGLRenderingContextBase::vertexAttribfvImpl(const char* functionName, GC3Duint index, Float32Array* v, GC3Dsizei expectedSize)
</del><ins>+void WebGLRenderingContextBase::vertexAttribfvImpl(const char* functionName, GC3Duint index, Float32Array&amp; v, GC3Dsizei expectedSize)
</ins><span class="cx"> {
</span><span class="cx">     if (isContextLostOrPending())
</span><span class="cx">         return;
</span><del>-    if (!v) {
-        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, &quot;no array&quot;);
-        return;
-    }
-    vertexAttribfvImpl(functionName, index, v-&gt;data(), v-&gt;length(), expectedSize);
</del><ins>+    vertexAttribfvImpl(functionName, index, v.data(), v.length(), expectedSize);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebGLRenderingContextBase::vertexAttribfvImpl(const char* functionName, GC3Duint index, GC3Dfloat* v, GC3Dsizei size, GC3Dsizei expectedSize)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -139,10 +139,10 @@
</span><span class="cx">     void blendFuncSeparate(GC3Denum srcRGB, GC3Denum dstRGB, GC3Denum srcAlpha, GC3Denum dstAlpha);
</span><span class="cx"> 
</span><span class="cx">     void bufferData(GC3Denum target, long long size, GC3Denum usage, ExceptionCode&amp;);
</span><del>-    void bufferData(GC3Denum target, ArrayBuffer* data, GC3Denum usage, ExceptionCode&amp;);
-    void bufferData(GC3Denum target, ArrayBufferView* data, GC3Denum usage, ExceptionCode&amp;);
</del><ins>+    void bufferData(GC3Denum target, ArrayBuffer&amp; data, GC3Denum usage, ExceptionCode&amp;);
+    void bufferData(GC3Denum target, ArrayBufferView&amp; data, GC3Denum usage, ExceptionCode&amp;);
</ins><span class="cx">     void bufferSubData(GC3Denum target, long long offset, ArrayBuffer* data, ExceptionCode&amp;);
</span><del>-    void bufferSubData(GC3Denum target, long long offset, ArrayBufferView* data, ExceptionCode&amp;);
</del><ins>+    void bufferSubData(GC3Denum target, long long offset, RefPtr&lt;ArrayBufferView&gt;&amp;&amp; data, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     GC3Denum checkFramebufferStatus(GC3Denum target);
</span><span class="cx">     virtual void clear(GC3Dbitfield mask) = 0;
</span><span class="lines">@@ -152,10 +152,8 @@
</span><span class="cx">     void colorMask(GC3Dboolean red, GC3Dboolean green, GC3Dboolean blue, GC3Dboolean alpha);
</span><span class="cx">     void compileShader(WebGLShader*, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    void compressedTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width,
-                              GC3Dsizei height, GC3Dint border, ArrayBufferView* data);
-    void compressedTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
-                                 GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView* data);
</del><ins>+    void compressedTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, ArrayBufferView&amp; data);
+    void compressedTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView&amp; data);
</ins><span class="cx"> 
</span><span class="cx">     virtual void copyTexImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Dint border) = 0;
</span><span class="cx">     void copyTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height);
</span><span class="lines">@@ -232,7 +230,7 @@
</span><span class="cx">     void linkProgram(WebGLProgram*, ExceptionCode&amp;);
</span><span class="cx">     void pixelStorei(GC3Denum pname, GC3Dint param);
</span><span class="cx">     void polygonOffset(GC3Dfloat factor, GC3Dfloat units);
</span><del>-    void readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionCode&amp;);
</del><ins>+    void readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView&amp; pixels, ExceptionCode&amp;);
</ins><span class="cx">     void releaseShaderCompiler();
</span><span class="cx">     virtual void renderbufferStorage(GC3Denum target, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height) = 0;
</span><span class="cx">     void sampleCoverage(GC3Dfloat value, GC3Dboolean invert);
</span><span class="lines">@@ -247,7 +245,7 @@
</span><span class="cx"> 
</span><span class="cx">     void texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
</span><span class="cx">                     GC3Dsizei width, GC3Dsizei height, GC3Dint border,
</span><del>-                    GC3Denum format, GC3Denum type, ArrayBufferView*, ExceptionCode&amp;);
</del><ins>+                    GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;, ExceptionCode&amp;);
</ins><span class="cx">     void texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
</span><span class="cx">                     GC3Denum format, GC3Denum type, ImageData*, ExceptionCode&amp;);
</span><span class="cx">     void texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
</span><span class="lines">@@ -264,7 +262,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Dsizei width, GC3Dsizei height,
</span><del>-        GC3Denum format, GC3Denum type, ArrayBufferView*, ExceptionCode&amp;) = 0;
</del><ins>+        GC3Denum format, GC3Denum type, RefPtr&lt;ArrayBufferView&gt;&amp;&amp;, ExceptionCode&amp;) = 0;
</ins><span class="cx">     virtual void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="cx">         GC3Denum format, GC3Denum type, ImageData*, ExceptionCode&amp;) = 0;
</span><span class="cx">     virtual void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
</span><span class="lines">@@ -276,51 +274,51 @@
</span><span class="cx">         GC3Denum format, GC3Denum type, HTMLVideoElement*, ExceptionCode&amp;) = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void uniform1f(const WebGLUniformLocation* location, GC3Dfloat x, ExceptionCode&amp;);
-    void uniform1fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;);
-    void uniform1fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform1i(const WebGLUniformLocation* location, GC3Dint x, ExceptionCode&amp;);
-    void uniform1iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;);
-    void uniform1iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform2f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, ExceptionCode&amp;);
-    void uniform2fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;);
-    void uniform2fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform2i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, ExceptionCode&amp;);
-    void uniform2iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;);
-    void uniform2iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform3f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, ExceptionCode&amp;);
-    void uniform3fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;);
-    void uniform3fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform3i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, GC3Dint z, ExceptionCode&amp;);
-    void uniform3iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;);
-    void uniform3iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform4f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w, ExceptionCode&amp;);
-    void uniform4fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&amp;);
-    void uniform4fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniform4i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w, ExceptionCode&amp;);
-    void uniform4iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&amp;);
-    void uniform4iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&amp;);
-    void uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&amp;);
-    void uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&amp;);
-    void uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&amp;);
-    void uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&amp;);
-    void uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&amp;);
-    void uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&amp;);
</del><ins>+    void uniform1f(const WebGLUniformLocation*, GC3Dfloat x, ExceptionCode&amp;);
+    void uniform1fv(const WebGLUniformLocation*, Float32Array&amp; v, ExceptionCode&amp;);
+    void uniform1fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform1i(const WebGLUniformLocation*, GC3Dint x, ExceptionCode&amp;);
+    void uniform1iv(const WebGLUniformLocation*, Int32Array&amp; v, ExceptionCode&amp;);
+    void uniform1iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform2f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, ExceptionCode&amp;);
+    void uniform2fv(const WebGLUniformLocation*, Float32Array&amp; v, ExceptionCode&amp;);
+    void uniform2fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform2i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, ExceptionCode&amp;);
+    void uniform2iv(const WebGLUniformLocation*, Int32Array&amp; v, ExceptionCode&amp;);
+    void uniform2iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform3f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, ExceptionCode&amp;);
+    void uniform3fv(const WebGLUniformLocation*, Float32Array&amp; v, ExceptionCode&amp;);
+    void uniform3fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform3i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, GC3Dint z, ExceptionCode&amp;);
+    void uniform3iv(const WebGLUniformLocation*, Int32Array&amp; v, ExceptionCode&amp;);
+    void uniform3iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform4f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w, ExceptionCode&amp;);
+    void uniform4fv(const WebGLUniformLocation*, Float32Array&amp; v, ExceptionCode&amp;);
+    void uniform4fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniform4i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w, ExceptionCode&amp;);
+    void uniform4iv(const WebGLUniformLocation*, Int32Array&amp; v, ExceptionCode&amp;);
+    void uniform4iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&amp;);
+    void uniformMatrix2fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array&amp; value, ExceptionCode&amp;);
+    void uniformMatrix2fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&amp;);
+    void uniformMatrix3fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array&amp; value, ExceptionCode&amp;);
+    void uniformMatrix3fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&amp;);
+    void uniformMatrix4fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array&amp; value, ExceptionCode&amp;);
+    void uniformMatrix4fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void useProgram(WebGLProgram*, ExceptionCode&amp;);
</span><span class="cx">     void validateProgram(WebGLProgram*, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     void vertexAttrib1f(GC3Duint index, GC3Dfloat x);
</span><del>-    void vertexAttrib1fv(GC3Duint index, Float32Array* values);
</del><ins>+    void vertexAttrib1fv(GC3Duint index, Float32Array&amp; values);
</ins><span class="cx">     void vertexAttrib1fv(GC3Duint index, GC3Dfloat* values, GC3Dsizei size);
</span><span class="cx">     void vertexAttrib2f(GC3Duint index, GC3Dfloat x, GC3Dfloat y);
</span><del>-    void vertexAttrib2fv(GC3Duint index, Float32Array* values);
</del><ins>+    void vertexAttrib2fv(GC3Duint index, Float32Array&amp; values);
</ins><span class="cx">     void vertexAttrib2fv(GC3Duint index, GC3Dfloat* values, GC3Dsizei size);
</span><span class="cx">     void vertexAttrib3f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z);
</span><del>-    void vertexAttrib3fv(GC3Duint index, Float32Array* values);
</del><ins>+    void vertexAttrib3fv(GC3Duint index, Float32Array&amp; values);
</ins><span class="cx">     void vertexAttrib3fv(GC3Duint index, GC3Dfloat* values, GC3Dsizei size);
</span><span class="cx">     void vertexAttrib4f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w);
</span><del>-    void vertexAttrib4fv(GC3Duint index, Float32Array* values);
</del><ins>+    void vertexAttrib4fv(GC3Duint index, Float32Array&amp; values);
</ins><span class="cx">     void vertexAttrib4fv(GC3Duint index, GC3Dfloat* values, GC3Dsizei size);
</span><span class="cx">     void vertexAttribPointer(GC3Duint index, GC3Dint size, GC3Denum type, GC3Dboolean normalized,
</span><span class="cx">                              GC3Dsizei stride, long long offset, ExceptionCode&amp;);
</span><span class="lines">@@ -362,7 +360,7 @@
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     WebGLRenderingContextBase(HTMLCanvasElement*, GraphicsContext3D::Attributes);
</span><del>-    WebGLRenderingContextBase(HTMLCanvasElement*, PassRefPtr&lt;GraphicsContext3D&gt;, GraphicsContext3D::Attributes);
</del><ins>+    WebGLRenderingContextBase(HTMLCanvasElement*, RefPtr&lt;GraphicsContext3D&gt;&amp;&amp;, GraphicsContext3D::Attributes);
</ins><span class="cx"> 
</span><span class="cx">     friend class WebGLDrawBuffers;
</span><span class="cx">     friend class WebGLFramebuffer;
</span><span class="lines">@@ -711,9 +709,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Helper function to validate compressed texture data is correct size
</span><span class="cx">     // for the given format and dimensions.
</span><del>-    bool validateCompressedTexFuncData(const char* functionName,
-                                       GC3Dsizei width, GC3Dsizei height,
-                                       GC3Denum format, ArrayBufferView* pixels);
</del><ins>+    bool validateCompressedTexFuncData(const char* functionName, GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView&amp; pixels);
</ins><span class="cx"> 
</span><span class="cx">     // Helper function for validating compressed texture formats.
</span><span class="cx">     bool validateCompressedTexFormat(GC3Denum format);
</span><span class="lines">@@ -761,10 +757,10 @@
</span><span class="cx">     virtual bool validateCapability(const char* functionName, GC3Denum) = 0;
</span><span class="cx"> 
</span><span class="cx">     // Helper function to validate input parameters for uniform functions.
</span><del>-    bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, Float32Array*, GC3Dsizei mod);
-    bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, Int32Array*, GC3Dsizei mod);
</del><ins>+    bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, Float32Array&amp;, GC3Dsizei mod);
+    bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, Int32Array&amp;, GC3Dsizei mod);
</ins><span class="cx">     bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, void*, GC3Dsizei, GC3Dsizei mod);
</span><del>-    bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array*, GC3Dsizei mod);
</del><ins>+    bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array&amp;, GC3Dsizei mod);
</ins><span class="cx">     bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, void*, GC3Dsizei, GC3Dsizei mod);
</span><span class="cx"> 
</span><span class="cx">     // Helper function to validate parameters for bufferData.
</span><span class="lines">@@ -784,7 +780,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Helper functions for vertexAttribNf{v}.
</span><span class="cx">     void vertexAttribfImpl(const char* functionName, GC3Duint index, GC3Dsizei expectedSize, GC3Dfloat, GC3Dfloat, GC3Dfloat, GC3Dfloat);
</span><del>-    void vertexAttribfvImpl(const char* functionName, GC3Duint index, Float32Array*, GC3Dsizei expectedSize);
</del><ins>+    void vertexAttribfvImpl(const char* functionName, GC3Duint index, Float32Array&amp;, GC3Dsizei expectedSize);
</ins><span class="cx">     void vertexAttribfvImpl(const char* functionName, GC3Duint index, GC3Dfloat*, GC3Dsizei, GC3Dsizei expectedSize);
</span><span class="cx"> 
</span><span class="cx">     // Helper function for delete* (deleteBuffer, deleteProgram, etc) functions.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -24,15 +24,15 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> typedef unsigned long  GLenum;
</span><del>-typedef boolean        GLboolean;
</del><ins>+typedef boolean GLboolean;
</ins><span class="cx"> typedef unsigned long  GLbitfield;
</span><del>-typedef byte           GLbyte;         /* 'byte' should be a signed 8 bit type. */
-typedef short          GLshort;
-typedef long           GLint;
-typedef long           GLsizei;
-typedef long long      GLintptr;
-typedef long long      GLsizeiptr;
-typedef octet          GLubyte;        /* 'octet' should be an unsigned 8 bit type. */
</del><ins>+typedef byte   GLbyte; /* 'byte' should be a signed 8 bit type. */
+typedef short  GLshort;
+typedef long   GLint;
+typedef long   GLsizei;
+typedef long long  GLintptr;
+typedef long long  GLsizeiptr;
+typedef octet  GLubyte; /* 'octet' should be an unsigned 8 bit type. */
</ins><span class="cx"> typedef unsigned short GLushort;
</span><span class="cx"> typedef unsigned long  GLuint;
</span><span class="cx"> typedef unrestricted float GLfloat;
</span><span class="lines">@@ -46,460 +46,460 @@
</span><span class="cx"> ] interface WebGLRenderingContextBase : CanvasRenderingContext {
</span><span class="cx"> 
</span><span class="cx">     /* ClearBufferMask */
</span><del>-    const GLenum DEPTH_BUFFER_BIT               = 0x00000100;
-    const GLenum STENCIL_BUFFER_BIT             = 0x00000400;
-    const GLenum COLOR_BUFFER_BIT               = 0x00004000;
</del><ins>+    const GLenum DEPTH_BUFFER_BIT = 0x00000100;
+    const GLenum STENCIL_BUFFER_BIT = 0x00000400;
+    const GLenum COLOR_BUFFER_BIT = 0x00004000;
</ins><span class="cx"> 
</span><span class="cx">     /* BeginMode */
</span><del>-    const GLenum POINTS                         = 0x0000;
-    const GLenum LINES                          = 0x0001;
-    const GLenum LINE_LOOP                      = 0x0002;
-    const GLenum LINE_STRIP                     = 0x0003;
-    const GLenum TRIANGLES                      = 0x0004;
-    const GLenum TRIANGLE_STRIP                 = 0x0005;
-    const GLenum TRIANGLE_FAN                   = 0x0006;
</del><ins>+    const GLenum POINTS = 0x0000;
+    const GLenum LINES = 0x0001;
+    const GLenum LINE_LOOP = 0x0002;
+    const GLenum LINE_STRIP = 0x0003;
+    const GLenum TRIANGLES = 0x0004;
+    const GLenum TRIANGLE_STRIP = 0x0005;
+    const GLenum TRIANGLE_FAN = 0x0006;
</ins><span class="cx"> 
</span><span class="cx">     /* AlphaFunction (not supported in ES20) */
</span><del>-    /*      NEVER */
-    /*      LESS */
-    /*      EQUAL */
-    /*      LEQUAL */
-    /*      GREATER */
-    /*      NOTEQUAL */
-    /*      GEQUAL */
-    /*      ALWAYS */
</del><ins>+    /*  NEVER */
+    /*  LESS */
+    /*  EQUAL */
+    /*  LEQUAL */
+    /*  GREATER */
+    /*  NOTEQUAL */
+    /*  GEQUAL */
+    /*  ALWAYS */
</ins><span class="cx"> 
</span><span class="cx">     /* BlendingFactorDest */
</span><del>-    const GLenum ZERO                           = 0;
-    const GLenum ONE                            = 1;
-    const GLenum SRC_COLOR                      = 0x0300;
-    const GLenum ONE_MINUS_SRC_COLOR            = 0x0301;
-    const GLenum SRC_ALPHA                      = 0x0302;
-    const GLenum ONE_MINUS_SRC_ALPHA            = 0x0303;
-    const GLenum DST_ALPHA                      = 0x0304;
-    const GLenum ONE_MINUS_DST_ALPHA            = 0x0305;
</del><ins>+    const GLenum ZERO = 0;
+    const GLenum ONE = 1;
+    const GLenum SRC_COLOR = 0x0300;
+    const GLenum ONE_MINUS_SRC_COLOR = 0x0301;
+    const GLenum SRC_ALPHA = 0x0302;
+    const GLenum ONE_MINUS_SRC_ALPHA = 0x0303;
+    const GLenum DST_ALPHA = 0x0304;
+    const GLenum ONE_MINUS_DST_ALPHA = 0x0305;
</ins><span class="cx"> 
</span><span class="cx">     /* BlendingFactorSrc */
</span><del>-    /*      ZERO */
-    /*      ONE */
-    const GLenum DST_COLOR                      = 0x0306;
-    const GLenum ONE_MINUS_DST_COLOR            = 0x0307;
-    const GLenum SRC_ALPHA_SATURATE             = 0x0308;
-    /*      SRC_ALPHA */
-    /*      ONE_MINUS_SRC_ALPHA */
-    /*      DST_ALPHA */
-    /*      ONE_MINUS_DST_ALPHA */
</del><ins>+    /*  ZERO */
+    /*  ONE */
+    const GLenum DST_COLOR = 0x0306;
+    const GLenum ONE_MINUS_DST_COLOR = 0x0307;
+    const GLenum SRC_ALPHA_SATURATE = 0x0308;
+    /*  SRC_ALPHA */
+    /*  ONE_MINUS_SRC_ALPHA */
+    /*  DST_ALPHA */
+    /*  ONE_MINUS_DST_ALPHA */
</ins><span class="cx"> 
</span><span class="cx">     /* BlendEquationSeparate */
</span><del>-    const GLenum FUNC_ADD                       = 0x8006;
-    const GLenum BLEND_EQUATION                 = 0x8009;
-    const GLenum BLEND_EQUATION_RGB             = 0x8009;   /* same as BLEND_EQUATION */
-    const GLenum BLEND_EQUATION_ALPHA           = 0x883D;
</del><ins>+    const GLenum FUNC_ADD = 0x8006;
+    const GLenum BLEND_EQUATION = 0x8009;
+    const GLenum BLEND_EQUATION_RGB = 0x8009;   /* same as BLEND_EQUATION */
+    const GLenum BLEND_EQUATION_ALPHA = 0x883D;
</ins><span class="cx"> 
</span><span class="cx">     /* BlendSubtract */
</span><del>-    const GLenum FUNC_SUBTRACT                  = 0x800A;
-    const GLenum FUNC_REVERSE_SUBTRACT          = 0x800B;
</del><ins>+    const GLenum FUNC_SUBTRACT = 0x800A;
+    const GLenum FUNC_REVERSE_SUBTRACT = 0x800B;
</ins><span class="cx"> 
</span><span class="cx">     /* Separate Blend Functions */
</span><del>-    const GLenum BLEND_DST_RGB                  = 0x80C8;
-    const GLenum BLEND_SRC_RGB                  = 0x80C9;
-    const GLenum BLEND_DST_ALPHA                = 0x80CA;
-    const GLenum BLEND_SRC_ALPHA                = 0x80CB;
-    const GLenum CONSTANT_COLOR                 = 0x8001;
-    const GLenum ONE_MINUS_CONSTANT_COLOR       = 0x8002;
-    const GLenum CONSTANT_ALPHA                 = 0x8003;
-    const GLenum ONE_MINUS_CONSTANT_ALPHA       = 0x8004;
-    const GLenum BLEND_COLOR                    = 0x8005;
</del><ins>+    const GLenum BLEND_DST_RGB = 0x80C8;
+    const GLenum BLEND_SRC_RGB = 0x80C9;
+    const GLenum BLEND_DST_ALPHA = 0x80CA;
+    const GLenum BLEND_SRC_ALPHA = 0x80CB;
+    const GLenum CONSTANT_COLOR = 0x8001;
+    const GLenum ONE_MINUS_CONSTANT_COLOR = 0x8002;
+    const GLenum CONSTANT_ALPHA = 0x8003;
+    const GLenum ONE_MINUS_CONSTANT_ALPHA = 0x8004;
+    const GLenum BLEND_COLOR = 0x8005;
</ins><span class="cx"> 
</span><span class="cx">     /* Buffer Objects */
</span><del>-    const GLenum ARRAY_BUFFER                   = 0x8892;
-    const GLenum ELEMENT_ARRAY_BUFFER           = 0x8893;
-    const GLenum ARRAY_BUFFER_BINDING           = 0x8894;
-    const GLenum ELEMENT_ARRAY_BUFFER_BINDING   = 0x8895;
</del><ins>+    const GLenum ARRAY_BUFFER = 0x8892;
+    const GLenum ELEMENT_ARRAY_BUFFER = 0x8893;
+    const GLenum ARRAY_BUFFER_BINDING = 0x8894;
+    const GLenum ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
</ins><span class="cx"> 
</span><del>-    const GLenum STREAM_DRAW                    = 0x88E0;
-    const GLenum STATIC_DRAW                    = 0x88E4;
-    const GLenum DYNAMIC_DRAW                   = 0x88E8;
</del><ins>+    const GLenum STREAM_DRAW = 0x88E0;
+    const GLenum STATIC_DRAW = 0x88E4;
+    const GLenum DYNAMIC_DRAW = 0x88E8;
</ins><span class="cx"> 
</span><del>-    const GLenum BUFFER_SIZE                    = 0x8764;
-    const GLenum BUFFER_USAGE                   = 0x8765;
</del><ins>+    const GLenum BUFFER_SIZE = 0x8764;
+    const GLenum BUFFER_USAGE = 0x8765;
</ins><span class="cx"> 
</span><del>-    const GLenum CURRENT_VERTEX_ATTRIB          = 0x8626;
</del><ins>+    const GLenum CURRENT_VERTEX_ATTRIB = 0x8626;
</ins><span class="cx"> 
</span><span class="cx">     /* CullFaceMode */
</span><del>-    const GLenum FRONT                          = 0x0404;
-    const GLenum BACK                           = 0x0405;
-    const GLenum FRONT_AND_BACK                 = 0x0408;
</del><ins>+    const GLenum FRONT = 0x0404;
+    const GLenum BACK = 0x0405;
+    const GLenum FRONT_AND_BACK = 0x0408;
</ins><span class="cx"> 
</span><span class="cx">     /* DepthFunction */
</span><del>-    /*      NEVER */
-    /*      LESS */
-    /*      EQUAL */
-    /*      LEQUAL */
-    /*      GREATER */
-    /*      NOTEQUAL */
-    /*      GEQUAL */
-    /*      ALWAYS */
</del><ins>+    /*  NEVER */
+    /*  LESS */
+    /*  EQUAL */
+    /*  LEQUAL */
+    /*  GREATER */
+    /*  NOTEQUAL */
+    /*  GEQUAL */
+    /*  ALWAYS */
</ins><span class="cx"> 
</span><span class="cx">     /* EnableCap */
</span><del>-    const GLenum TEXTURE_2D                     = 0x0DE1;
-    const GLenum CULL_FACE                      = 0x0B44;
-    const GLenum BLEND                          = 0x0BE2;
-    const GLenum DITHER                         = 0x0BD0;
-    const GLenum STENCIL_TEST                   = 0x0B90;
-    const GLenum DEPTH_TEST                     = 0x0B71;
-    const GLenum SCISSOR_TEST                   = 0x0C11;
-    const GLenum POLYGON_OFFSET_FILL            = 0x8037;
-    const GLenum SAMPLE_ALPHA_TO_COVERAGE       = 0x809E;
-    const GLenum SAMPLE_COVERAGE                = 0x80A0;
</del><ins>+    const GLenum TEXTURE_2D = 0x0DE1;
+    const GLenum CULL_FACE = 0x0B44;
+    const GLenum BLEND = 0x0BE2;
+    const GLenum DITHER = 0x0BD0;
+    const GLenum STENCIL_TEST = 0x0B90;
+    const GLenum DEPTH_TEST = 0x0B71;
+    const GLenum SCISSOR_TEST = 0x0C11;
+    const GLenum POLYGON_OFFSET_FILL = 0x8037;
+    const GLenum SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
+    const GLenum SAMPLE_COVERAGE = 0x80A0;
</ins><span class="cx"> 
</span><span class="cx">     /* ErrorCode */
</span><del>-    const GLenum NO_ERROR                       = 0;
-    const GLenum INVALID_ENUM                   = 0x0500;
-    const GLenum INVALID_VALUE                  = 0x0501;
-    const GLenum INVALID_OPERATION              = 0x0502;
-    const GLenum OUT_OF_MEMORY                  = 0x0505;
</del><ins>+    const GLenum NO_ERROR = 0;
+    const GLenum INVALID_ENUM = 0x0500;
+    const GLenum INVALID_VALUE = 0x0501;
+    const GLenum INVALID_OPERATION = 0x0502;
+    const GLenum OUT_OF_MEMORY = 0x0505;
</ins><span class="cx"> 
</span><span class="cx">     /* FrontFaceDirection */
</span><del>-    const GLenum CW                             = 0x0900;
-    const GLenum CCW                            = 0x0901;
</del><ins>+    const GLenum CW = 0x0900;
+    const GLenum CCW = 0x0901;
</ins><span class="cx"> 
</span><span class="cx">     /* GetPName */
</span><del>-    const GLenum LINE_WIDTH                     = 0x0B21;
-    const GLenum ALIASED_POINT_SIZE_RANGE       = 0x846D;
-    const GLenum ALIASED_LINE_WIDTH_RANGE       = 0x846E;
-    const GLenum CULL_FACE_MODE                 = 0x0B45;
-    const GLenum FRONT_FACE                     = 0x0B46;
-    const GLenum DEPTH_RANGE                    = 0x0B70;
-    const GLenum DEPTH_WRITEMASK                = 0x0B72;
-    const GLenum DEPTH_CLEAR_VALUE              = 0x0B73;
-    const GLenum DEPTH_FUNC                     = 0x0B74;
-    const GLenum STENCIL_CLEAR_VALUE            = 0x0B91;
-    const GLenum STENCIL_FUNC                   = 0x0B92;
-    const GLenum STENCIL_FAIL                   = 0x0B94;
-    const GLenum STENCIL_PASS_DEPTH_FAIL        = 0x0B95;
-    const GLenum STENCIL_PASS_DEPTH_PASS        = 0x0B96;
-    const GLenum STENCIL_REF                    = 0x0B97;
-    const GLenum STENCIL_VALUE_MASK             = 0x0B93;
-    const GLenum STENCIL_WRITEMASK              = 0x0B98;
-    const GLenum STENCIL_BACK_FUNC              = 0x8800;
-    const GLenum STENCIL_BACK_FAIL              = 0x8801;
-    const GLenum STENCIL_BACK_PASS_DEPTH_FAIL   = 0x8802;
-    const GLenum STENCIL_BACK_PASS_DEPTH_PASS   = 0x8803;
-    const GLenum STENCIL_BACK_REF               = 0x8CA3;
-    const GLenum STENCIL_BACK_VALUE_MASK        = 0x8CA4;
-    const GLenum STENCIL_BACK_WRITEMASK         = 0x8CA5;
-    const GLenum VIEWPORT                       = 0x0BA2;
-    const GLenum SCISSOR_BOX                    = 0x0C10;
-    /*      SCISSOR_TEST */
-    const GLenum COLOR_CLEAR_VALUE              = 0x0C22;
-    const GLenum COLOR_WRITEMASK                = 0x0C23;
-    const GLenum UNPACK_ALIGNMENT               = 0x0CF5;
-    const GLenum PACK_ALIGNMENT                 = 0x0D05;
-    const GLenum MAX_TEXTURE_SIZE               = 0x0D33;
-    const GLenum MAX_VIEWPORT_DIMS              = 0x0D3A;
-    const GLenum SUBPIXEL_BITS                  = 0x0D50;
-    const GLenum RED_BITS                       = 0x0D52;
-    const GLenum GREEN_BITS                     = 0x0D53;
-    const GLenum BLUE_BITS                      = 0x0D54;
-    const GLenum ALPHA_BITS                     = 0x0D55;
-    const GLenum DEPTH_BITS                     = 0x0D56;
-    const GLenum STENCIL_BITS                   = 0x0D57;
-    const GLenum POLYGON_OFFSET_UNITS           = 0x2A00;
-    /*      POLYGON_OFFSET_FILL */
-    const GLenum POLYGON_OFFSET_FACTOR          = 0x8038;
-    const GLenum TEXTURE_BINDING_2D             = 0x8069;
-    const GLenum SAMPLE_BUFFERS                 = 0x80A8;
-    const GLenum SAMPLES                        = 0x80A9;
-    const GLenum SAMPLE_COVERAGE_VALUE          = 0x80AA;
-    const GLenum SAMPLE_COVERAGE_INVERT         = 0x80AB;
</del><ins>+    const GLenum LINE_WIDTH = 0x0B21;
+    const GLenum ALIASED_POINT_SIZE_RANGE = 0x846D;
+    const GLenum ALIASED_LINE_WIDTH_RANGE = 0x846E;
+    const GLenum CULL_FACE_MODE = 0x0B45;
+    const GLenum FRONT_FACE = 0x0B46;
+    const GLenum DEPTH_RANGE = 0x0B70;
+    const GLenum DEPTH_WRITEMASK = 0x0B72;
+    const GLenum DEPTH_CLEAR_VALUE = 0x0B73;
+    const GLenum DEPTH_FUNC = 0x0B74;
+    const GLenum STENCIL_CLEAR_VALUE = 0x0B91;
+    const GLenum STENCIL_FUNC = 0x0B92;
+    const GLenum STENCIL_FAIL = 0x0B94;
+    const GLenum STENCIL_PASS_DEPTH_FAIL = 0x0B95;
+    const GLenum STENCIL_PASS_DEPTH_PASS = 0x0B96;
+    const GLenum STENCIL_REF = 0x0B97;
+    const GLenum STENCIL_VALUE_MASK = 0x0B93;
+    const GLenum STENCIL_WRITEMASK = 0x0B98;
+    const GLenum STENCIL_BACK_FUNC = 0x8800;
+    const GLenum STENCIL_BACK_FAIL = 0x8801;
+    const GLenum STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
+    const GLenum STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
+    const GLenum STENCIL_BACK_REF = 0x8CA3;
+    const GLenum STENCIL_BACK_VALUE_MASK = 0x8CA4;
+    const GLenum STENCIL_BACK_WRITEMASK = 0x8CA5;
+    const GLenum VIEWPORT = 0x0BA2;
+    const GLenum SCISSOR_BOX = 0x0C10;
+    /*  SCISSOR_TEST */
+    const GLenum COLOR_CLEAR_VALUE = 0x0C22;
+    const GLenum COLOR_WRITEMASK = 0x0C23;
+    const GLenum UNPACK_ALIGNMENT = 0x0CF5;
+    const GLenum PACK_ALIGNMENT = 0x0D05;
+    const GLenum MAX_TEXTURE_SIZE = 0x0D33;
+    const GLenum MAX_VIEWPORT_DIMS = 0x0D3A;
+    const GLenum SUBPIXEL_BITS = 0x0D50;
+    const GLenum RED_BITS = 0x0D52;
+    const GLenum GREEN_BITS = 0x0D53;
+    const GLenum BLUE_BITS = 0x0D54;
+    const GLenum ALPHA_BITS = 0x0D55;
+    const GLenum DEPTH_BITS = 0x0D56;
+    const GLenum STENCIL_BITS = 0x0D57;
+    const GLenum POLYGON_OFFSET_UNITS = 0x2A00;
+    /*  POLYGON_OFFSET_FILL */
+    const GLenum POLYGON_OFFSET_FACTOR = 0x8038;
+    const GLenum TEXTURE_BINDING_2D = 0x8069;
+    const GLenum SAMPLE_BUFFERS = 0x80A8;
+    const GLenum SAMPLES = 0x80A9;
+    const GLenum SAMPLE_COVERAGE_VALUE = 0x80AA;
+    const GLenum SAMPLE_COVERAGE_INVERT = 0x80AB;
</ins><span class="cx"> 
</span><span class="cx">     /* GetTextureParameter */
</span><del>-    /*      TEXTURE_MAG_FILTER */
-    /*      TEXTURE_MIN_FILTER */
-    /*      TEXTURE_WRAP_S */
-    /*      TEXTURE_WRAP_T */
</del><ins>+    /*  TEXTURE_MAG_FILTER */
+    /*  TEXTURE_MIN_FILTER */
+    /*  TEXTURE_WRAP_S */
+    /*  TEXTURE_WRAP_T */
</ins><span class="cx"> 
</span><del>-    const GLenum COMPRESSED_TEXTURE_FORMATS     = 0x86A3;
</del><ins>+    const GLenum COMPRESSED_TEXTURE_FORMATS = 0x86A3;
</ins><span class="cx"> 
</span><span class="cx">     /* HintMode */
</span><del>-    const GLenum DONT_CARE                      = 0x1100;
-    const GLenum FASTEST                        = 0x1101;
-    const GLenum NICEST                         = 0x1102;
</del><ins>+    const GLenum DONT_CARE = 0x1100;
+    const GLenum FASTEST = 0x1101;
+    const GLenum NICEST = 0x1102;
</ins><span class="cx"> 
</span><span class="cx">     /* HintTarget */
</span><del>-    const GLenum GENERATE_MIPMAP_HINT            = 0x8192;
</del><ins>+    const GLenum GENERATE_MIPMAP_HINT = 0x8192;
</ins><span class="cx"> 
</span><span class="cx">     /* DataType */
</span><del>-    const GLenum BYTE                           = 0x1400;
-    const GLenum UNSIGNED_BYTE                  = 0x1401;
-    const GLenum SHORT                          = 0x1402;
-    const GLenum UNSIGNED_SHORT                 = 0x1403;
-    const GLenum INT                            = 0x1404;
-    const GLenum UNSIGNED_INT                   = 0x1405;
-    const GLenum FLOAT                          = 0x1406;
</del><ins>+    const GLenum BYTE = 0x1400;
+    const GLenum UNSIGNED_BYTE = 0x1401;
+    const GLenum SHORT = 0x1402;
+    const GLenum UNSIGNED_SHORT = 0x1403;
+    const GLenum INT = 0x1404;
+    const GLenum UNSIGNED_INT = 0x1405;
+    const GLenum FLOAT = 0x1406;
</ins><span class="cx"> 
</span><span class="cx">     /* PixelFormat */
</span><del>-    const GLenum DEPTH_COMPONENT                = 0x1902;
-    const GLenum ALPHA                          = 0x1906;
-    const GLenum RGB                            = 0x1907;
-    const GLenum RGBA                           = 0x1908;
-    const GLenum LUMINANCE                      = 0x1909;
-    const GLenum LUMINANCE_ALPHA                = 0x190A;
</del><ins>+    const GLenum DEPTH_COMPONENT = 0x1902;
+    const GLenum ALPHA = 0x1906;
+    const GLenum RGB = 0x1907;
+    const GLenum RGBA = 0x1908;
+    const GLenum LUMINANCE = 0x1909;
+    const GLenum LUMINANCE_ALPHA = 0x190A;
</ins><span class="cx"> 
</span><span class="cx">     /* PixelType */
</span><del>-    /*      UNSIGNED_BYTE */
-    const GLenum UNSIGNED_SHORT_4_4_4_4         = 0x8033;
-    const GLenum UNSIGNED_SHORT_5_5_5_1         = 0x8034;
-    const GLenum UNSIGNED_SHORT_5_6_5           = 0x8363;
</del><ins>+    /*  UNSIGNED_BYTE */
+    const GLenum UNSIGNED_SHORT_4_4_4_4 = 0x8033;
+    const GLenum UNSIGNED_SHORT_5_5_5_1 = 0x8034;
+    const GLenum UNSIGNED_SHORT_5_6_5 = 0x8363;
</ins><span class="cx"> 
</span><span class="cx">     /* Shaders */
</span><del>-    const GLenum FRAGMENT_SHADER                  = 0x8B30;
-    const GLenum VERTEX_SHADER                    = 0x8B31;
-    const GLenum MAX_VERTEX_ATTRIBS               = 0x8869;
-    const GLenum MAX_VERTEX_UNIFORM_VECTORS       = 0x8DFB;
-    const GLenum MAX_VARYING_VECTORS              = 0x8DFC;
</del><ins>+    const GLenum FRAGMENT_SHADER = 0x8B30;
+    const GLenum VERTEX_SHADER = 0x8B31;
+    const GLenum MAX_VERTEX_ATTRIBS = 0x8869;
+    const GLenum MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
+    const GLenum MAX_VARYING_VECTORS = 0x8DFC;
</ins><span class="cx">     const GLenum MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
</span><del>-    const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS   = 0x8B4C;
-    const GLenum MAX_TEXTURE_IMAGE_UNITS          = 0x8872;
-    const GLenum MAX_FRAGMENT_UNIFORM_VECTORS     = 0x8DFD;
-    const GLenum SHADER_TYPE                      = 0x8B4F;
-    const GLenum DELETE_STATUS                    = 0x8B80;
-    const GLenum LINK_STATUS                      = 0x8B82;
-    const GLenum VALIDATE_STATUS                  = 0x8B83;
-    const GLenum ATTACHED_SHADERS                 = 0x8B85;
-    const GLenum ACTIVE_UNIFORMS                  = 0x8B86;
-    const GLenum ACTIVE_ATTRIBUTES                = 0x8B89;
-    const GLenum SHADING_LANGUAGE_VERSION         = 0x8B8C;
-    const GLenum CURRENT_PROGRAM                  = 0x8B8D;
</del><ins>+    const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
+    const GLenum MAX_TEXTURE_IMAGE_UNITS = 0x8872;
+    const GLenum MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
+    const GLenum SHADER_TYPE = 0x8B4F;
+    const GLenum DELETE_STATUS = 0x8B80;
+    const GLenum LINK_STATUS = 0x8B82;
+    const GLenum VALIDATE_STATUS = 0x8B83;
+    const GLenum ATTACHED_SHADERS = 0x8B85;
+    const GLenum ACTIVE_UNIFORMS = 0x8B86;
+    const GLenum ACTIVE_ATTRIBUTES = 0x8B89;
+    const GLenum SHADING_LANGUAGE_VERSION = 0x8B8C;
+    const GLenum CURRENT_PROGRAM = 0x8B8D;
</ins><span class="cx"> 
</span><span class="cx">     /* StencilFunction */
</span><del>-    const GLenum NEVER                          = 0x0200;
-    const GLenum LESS                           = 0x0201;
-    const GLenum EQUAL                          = 0x0202;
-    const GLenum LEQUAL                         = 0x0203;
-    const GLenum GREATER                        = 0x0204;
-    const GLenum NOTEQUAL                       = 0x0205;
-    const GLenum GEQUAL                         = 0x0206;
-    const GLenum ALWAYS                         = 0x0207;
</del><ins>+    const GLenum NEVER = 0x0200;
+    const GLenum LESS = 0x0201;
+    const GLenum EQUAL = 0x0202;
+    const GLenum LEQUAL = 0x0203;
+    const GLenum GREATER = 0x0204;
+    const GLenum NOTEQUAL = 0x0205;
+    const GLenum GEQUAL = 0x0206;
+    const GLenum ALWAYS = 0x0207;
</ins><span class="cx"> 
</span><span class="cx">     /* StencilOp */
</span><del>-    /*      ZERO */
-    const GLenum KEEP                           = 0x1E00;
-    const GLenum REPLACE                        = 0x1E01;
-    const GLenum INCR                           = 0x1E02;
-    const GLenum DECR                           = 0x1E03;
-    const GLenum INVERT                         = 0x150A;
-    const GLenum INCR_WRAP                      = 0x8507;
-    const GLenum DECR_WRAP                      = 0x8508;
</del><ins>+    /*  ZERO */
+    const GLenum KEEP = 0x1E00;
+    const GLenum REPLACE = 0x1E01;
+    const GLenum INCR = 0x1E02;
+    const GLenum DECR = 0x1E03;
+    const GLenum INVERT = 0x150A;
+    const GLenum INCR_WRAP = 0x8507;
+    const GLenum DECR_WRAP = 0x8508;
</ins><span class="cx"> 
</span><span class="cx">     /* StringName */
</span><del>-    const GLenum VENDOR                         = 0x1F00;
-    const GLenum RENDERER                       = 0x1F01;
-    const GLenum VERSION                        = 0x1F02;
</del><ins>+    const GLenum VENDOR = 0x1F00;
+    const GLenum RENDERER = 0x1F01;
+    const GLenum VERSION = 0x1F02;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureMagFilter */
</span><del>-    const GLenum NEAREST                        = 0x2600;
-    const GLenum LINEAR                         = 0x2601;
</del><ins>+    const GLenum NEAREST = 0x2600;
+    const GLenum LINEAR = 0x2601;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureMinFilter */
</span><del>-    /*      NEAREST */
-    /*      LINEAR */
-    const GLenum NEAREST_MIPMAP_NEAREST         = 0x2700;
-    const GLenum LINEAR_MIPMAP_NEAREST          = 0x2701;
-    const GLenum NEAREST_MIPMAP_LINEAR          = 0x2702;
-    const GLenum LINEAR_MIPMAP_LINEAR           = 0x2703;
</del><ins>+    /*  NEAREST */
+    /*  LINEAR */
+    const GLenum NEAREST_MIPMAP_NEAREST = 0x2700;
+    const GLenum LINEAR_MIPMAP_NEAREST = 0x2701;
+    const GLenum NEAREST_MIPMAP_LINEAR = 0x2702;
+    const GLenum LINEAR_MIPMAP_LINEAR = 0x2703;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureParameterName */
</span><del>-    const GLenum TEXTURE_MAG_FILTER             = 0x2800;
-    const GLenum TEXTURE_MIN_FILTER             = 0x2801;
-    const GLenum TEXTURE_WRAP_S                 = 0x2802;
-    const GLenum TEXTURE_WRAP_T                 = 0x2803;
</del><ins>+    const GLenum TEXTURE_MAG_FILTER = 0x2800;
+    const GLenum TEXTURE_MIN_FILTER = 0x2801;
+    const GLenum TEXTURE_WRAP_S = 0x2802;
+    const GLenum TEXTURE_WRAP_T = 0x2803;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureTarget */
</span><del>-    /*      TEXTURE_2D */
-    const GLenum TEXTURE                        = 0x1702;
</del><ins>+    /*  TEXTURE_2D */
+    const GLenum TEXTURE = 0x1702;
</ins><span class="cx"> 
</span><del>-    const GLenum TEXTURE_CUBE_MAP               = 0x8513;
-    const GLenum TEXTURE_BINDING_CUBE_MAP       = 0x8514;
-    const GLenum TEXTURE_CUBE_MAP_POSITIVE_X    = 0x8515;
-    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X    = 0x8516;
-    const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y    = 0x8517;
-    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y    = 0x8518;
-    const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z    = 0x8519;
-    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z    = 0x851A;
-    const GLenum MAX_CUBE_MAP_TEXTURE_SIZE      = 0x851C;
</del><ins>+    const GLenum TEXTURE_CUBE_MAP = 0x8513;
+    const GLenum TEXTURE_BINDING_CUBE_MAP = 0x8514;
+    const GLenum TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
+    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
+    const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
+    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
+    const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
+    const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
+    const GLenum MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureUnit */
</span><del>-    const GLenum TEXTURE0                       = 0x84C0;
-    const GLenum TEXTURE1                       = 0x84C1;
-    const GLenum TEXTURE2                       = 0x84C2;
-    const GLenum TEXTURE3                       = 0x84C3;
-    const GLenum TEXTURE4                       = 0x84C4;
-    const GLenum TEXTURE5                       = 0x84C5;
-    const GLenum TEXTURE6                       = 0x84C6;
-    const GLenum TEXTURE7                       = 0x84C7;
-    const GLenum TEXTURE8                       = 0x84C8;
-    const GLenum TEXTURE9                       = 0x84C9;
-    const GLenum TEXTURE10                      = 0x84CA;
-    const GLenum TEXTURE11                      = 0x84CB;
-    const GLenum TEXTURE12                      = 0x84CC;
-    const GLenum TEXTURE13                      = 0x84CD;
-    const GLenum TEXTURE14                      = 0x84CE;
-    const GLenum TEXTURE15                      = 0x84CF;
-    const GLenum TEXTURE16                      = 0x84D0;
-    const GLenum TEXTURE17                      = 0x84D1;
-    const GLenum TEXTURE18                      = 0x84D2;
-    const GLenum TEXTURE19                      = 0x84D3;
-    const GLenum TEXTURE20                      = 0x84D4;
-    const GLenum TEXTURE21                      = 0x84D5;
-    const GLenum TEXTURE22                      = 0x84D6;
-    const GLenum TEXTURE23                      = 0x84D7;
-    const GLenum TEXTURE24                      = 0x84D8;
-    const GLenum TEXTURE25                      = 0x84D9;
-    const GLenum TEXTURE26                      = 0x84DA;
-    const GLenum TEXTURE27                      = 0x84DB;
-    const GLenum TEXTURE28                      = 0x84DC;
-    const GLenum TEXTURE29                      = 0x84DD;
-    const GLenum TEXTURE30                      = 0x84DE;
-    const GLenum TEXTURE31                      = 0x84DF;
-    const GLenum ACTIVE_TEXTURE                 = 0x84E0;
</del><ins>+    const GLenum TEXTURE0 = 0x84C0;
+    const GLenum TEXTURE1 = 0x84C1;
+    const GLenum TEXTURE2 = 0x84C2;
+    const GLenum TEXTURE3 = 0x84C3;
+    const GLenum TEXTURE4 = 0x84C4;
+    const GLenum TEXTURE5 = 0x84C5;
+    const GLenum TEXTURE6 = 0x84C6;
+    const GLenum TEXTURE7 = 0x84C7;
+    const GLenum TEXTURE8 = 0x84C8;
+    const GLenum TEXTURE9 = 0x84C9;
+    const GLenum TEXTURE10 = 0x84CA;
+    const GLenum TEXTURE11 = 0x84CB;
+    const GLenum TEXTURE12 = 0x84CC;
+    const GLenum TEXTURE13 = 0x84CD;
+    const GLenum TEXTURE14 = 0x84CE;
+    const GLenum TEXTURE15 = 0x84CF;
+    const GLenum TEXTURE16 = 0x84D0;
+    const GLenum TEXTURE17 = 0x84D1;
+    const GLenum TEXTURE18 = 0x84D2;
+    const GLenum TEXTURE19 = 0x84D3;
+    const GLenum TEXTURE20 = 0x84D4;
+    const GLenum TEXTURE21 = 0x84D5;
+    const GLenum TEXTURE22 = 0x84D6;
+    const GLenum TEXTURE23 = 0x84D7;
+    const GLenum TEXTURE24 = 0x84D8;
+    const GLenum TEXTURE25 = 0x84D9;
+    const GLenum TEXTURE26 = 0x84DA;
+    const GLenum TEXTURE27 = 0x84DB;
+    const GLenum TEXTURE28 = 0x84DC;
+    const GLenum TEXTURE29 = 0x84DD;
+    const GLenum TEXTURE30 = 0x84DE;
+    const GLenum TEXTURE31 = 0x84DF;
+    const GLenum ACTIVE_TEXTURE = 0x84E0;
</ins><span class="cx"> 
</span><span class="cx">     /* TextureWrapMode */
</span><del>-    const GLenum REPEAT                         = 0x2901;
-    const GLenum CLAMP_TO_EDGE                  = 0x812F;
-    const GLenum MIRRORED_REPEAT                = 0x8370;
</del><ins>+    const GLenum REPEAT = 0x2901;
+    const GLenum CLAMP_TO_EDGE = 0x812F;
+    const GLenum MIRRORED_REPEAT = 0x8370;
</ins><span class="cx"> 
</span><span class="cx">     /* Uniform Types */
</span><del>-    const GLenum FLOAT_VEC2                     = 0x8B50;
-    const GLenum FLOAT_VEC3                     = 0x8B51;
-    const GLenum FLOAT_VEC4                     = 0x8B52;
-    const GLenum INT_VEC2                       = 0x8B53;
-    const GLenum INT_VEC3                       = 0x8B54;
-    const GLenum INT_VEC4                       = 0x8B55;
-    const GLenum BOOL                           = 0x8B56;
-    const GLenum BOOL_VEC2                      = 0x8B57;
-    const GLenum BOOL_VEC3                      = 0x8B58;
-    const GLenum BOOL_VEC4                      = 0x8B59;
-    const GLenum FLOAT_MAT2                     = 0x8B5A;
-    const GLenum FLOAT_MAT3                     = 0x8B5B;
-    const GLenum FLOAT_MAT4                     = 0x8B5C;
-    const GLenum SAMPLER_2D                     = 0x8B5E;
-    const GLenum SAMPLER_CUBE                   = 0x8B60;
</del><ins>+    const GLenum FLOAT_VEC2 = 0x8B50;
+    const GLenum FLOAT_VEC3 = 0x8B51;
+    const GLenum FLOAT_VEC4 = 0x8B52;
+    const GLenum INT_VEC2 = 0x8B53;
+    const GLenum INT_VEC3 = 0x8B54;
+    const GLenum INT_VEC4 = 0x8B55;
+    const GLenum BOOL = 0x8B56;
+    const GLenum BOOL_VEC2 = 0x8B57;
+    const GLenum BOOL_VEC3 = 0x8B58;
+    const GLenum BOOL_VEC4 = 0x8B59;
+    const GLenum FLOAT_MAT2 = 0x8B5A;
+    const GLenum FLOAT_MAT3 = 0x8B5B;
+    const GLenum FLOAT_MAT4 = 0x8B5C;
+    const GLenum SAMPLER_2D = 0x8B5E;
+    const GLenum SAMPLER_CUBE = 0x8B60;
</ins><span class="cx"> 
</span><span class="cx">     /* Vertex Arrays */
</span><del>-    const GLenum VERTEX_ATTRIB_ARRAY_ENABLED        = 0x8622;
-    const GLenum VERTEX_ATTRIB_ARRAY_SIZE           = 0x8623;
-    const GLenum VERTEX_ATTRIB_ARRAY_STRIDE         = 0x8624;
-    const GLenum VERTEX_ATTRIB_ARRAY_TYPE           = 0x8625;
-    const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED     = 0x886A;
-    const GLenum VERTEX_ATTRIB_ARRAY_POINTER        = 0x8645;
</del><ins>+    const GLenum VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
+    const GLenum VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
+    const GLenum VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
+    const GLenum VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
+    const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
+    const GLenum VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
</ins><span class="cx">     const GLenum VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
</span><span class="cx"> 
</span><span class="cx">     /* Read Format */
</span><del>-    const GLenum IMPLEMENTATION_COLOR_READ_TYPE     = 0x8B9A;
-    const GLenum IMPLEMENTATION_COLOR_READ_FORMAT   = 0x8B9B;
</del><ins>+    const GLenum IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
+    const GLenum IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
</ins><span class="cx"> 
</span><span class="cx">     /* Shader Source */
</span><del>-    const GLenum COMPILE_STATUS                 = 0x8B81;
</del><ins>+    const GLenum COMPILE_STATUS = 0x8B81;
</ins><span class="cx"> 
</span><span class="cx">     /* Shader Precision-Specified Types */
</span><del>-    const GLenum LOW_FLOAT                      = 0x8DF0;
-    const GLenum MEDIUM_FLOAT                   = 0x8DF1;
-    const GLenum HIGH_FLOAT                     = 0x8DF2;
-    const GLenum LOW_INT                        = 0x8DF3;
-    const GLenum MEDIUM_INT                     = 0x8DF4;
-    const GLenum HIGH_INT                       = 0x8DF5;
</del><ins>+    const GLenum LOW_FLOAT = 0x8DF0;
+    const GLenum MEDIUM_FLOAT = 0x8DF1;
+    const GLenum HIGH_FLOAT = 0x8DF2;
+    const GLenum LOW_INT = 0x8DF3;
+    const GLenum MEDIUM_INT = 0x8DF4;
+    const GLenum HIGH_INT = 0x8DF5;
</ins><span class="cx"> 
</span><span class="cx">     /* Framebuffer Object. */
</span><del>-    const GLenum FRAMEBUFFER                    = 0x8D40;
-    const GLenum RENDERBUFFER                   = 0x8D41;
</del><ins>+    const GLenum FRAMEBUFFER = 0x8D40;
+    const GLenum RENDERBUFFER = 0x8D41;
</ins><span class="cx"> 
</span><del>-    const GLenum RGBA4                          = 0x8056;
-    const GLenum RGB5_A1                        = 0x8057;
-    const GLenum RGB565                         = 0x8D62;
-    const GLenum DEPTH_COMPONENT16              = 0x81A5;
-    const GLenum STENCIL_INDEX                  = 0x1901;
-    const GLenum STENCIL_INDEX8                 = 0x8D48;
-    const GLenum DEPTH_STENCIL                  = 0x84F9;
</del><ins>+    const GLenum RGBA4 = 0x8056;
+    const GLenum RGB5_A1 = 0x8057;
+    const GLenum RGB565 = 0x8D62;
+    const GLenum DEPTH_COMPONENT16 = 0x81A5;
+    const GLenum STENCIL_INDEX = 0x1901;
+    const GLenum STENCIL_INDEX8 = 0x8D48;
+    const GLenum DEPTH_STENCIL = 0x84F9;
</ins><span class="cx"> 
</span><del>-    const GLenum RENDERBUFFER_WIDTH             = 0x8D42;
-    const GLenum RENDERBUFFER_HEIGHT            = 0x8D43;
-    const GLenum RENDERBUFFER_INTERNAL_FORMAT   = 0x8D44;
-    const GLenum RENDERBUFFER_RED_SIZE          = 0x8D50;
-    const GLenum RENDERBUFFER_GREEN_SIZE        = 0x8D51;
-    const GLenum RENDERBUFFER_BLUE_SIZE         = 0x8D52;
-    const GLenum RENDERBUFFER_ALPHA_SIZE        = 0x8D53;
-    const GLenum RENDERBUFFER_DEPTH_SIZE        = 0x8D54;
-    const GLenum RENDERBUFFER_STENCIL_SIZE      = 0x8D55;
</del><ins>+    const GLenum RENDERBUFFER_WIDTH = 0x8D42;
+    const GLenum RENDERBUFFER_HEIGHT = 0x8D43;
+    const GLenum RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
+    const GLenum RENDERBUFFER_RED_SIZE = 0x8D50;
+    const GLenum RENDERBUFFER_GREEN_SIZE = 0x8D51;
+    const GLenum RENDERBUFFER_BLUE_SIZE = 0x8D52;
+    const GLenum RENDERBUFFER_ALPHA_SIZE = 0x8D53;
+    const GLenum RENDERBUFFER_DEPTH_SIZE = 0x8D54;
+    const GLenum RENDERBUFFER_STENCIL_SIZE = 0x8D55;
</ins><span class="cx"> 
</span><del>-    const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           = 0x8CD0;
-    const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           = 0x8CD1;
-    const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         = 0x8CD2;
</del><ins>+    const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
+    const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
+    const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
</ins><span class="cx">     const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
</span><span class="cx"> 
</span><del>-    const GLenum COLOR_ATTACHMENT0              = 0x8CE0;
-    const GLenum DEPTH_ATTACHMENT               = 0x8D00;
-    const GLenum STENCIL_ATTACHMENT             = 0x8D20;
-    const GLenum DEPTH_STENCIL_ATTACHMENT       = 0x821A;
</del><ins>+    const GLenum COLOR_ATTACHMENT0 = 0x8CE0;
+    const GLenum DEPTH_ATTACHMENT = 0x8D00;
+    const GLenum STENCIL_ATTACHMENT = 0x8D20;
+    const GLenum DEPTH_STENCIL_ATTACHMENT = 0x821A;
</ins><span class="cx"> 
</span><del>-    const GLenum NONE                           = 0;
</del><ins>+    const GLenum NONE = 0;
</ins><span class="cx"> 
</span><del>-    const GLenum FRAMEBUFFER_COMPLETE                      = 0x8CD5;
-    const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT         = 0x8CD6;
</del><ins>+    const GLenum FRAMEBUFFER_COMPLETE = 0x8CD5;
+    const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
</ins><span class="cx">     const GLenum FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
</span><del>-    const GLenum FRAMEBUFFER_INCOMPLETE_DIMENSIONS         = 0x8CD9;
-    const GLenum FRAMEBUFFER_UNSUPPORTED                   = 0x8CDD;
</del><ins>+    const GLenum FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9;
+    const GLenum FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
</ins><span class="cx"> 
</span><del>-    const GLenum FRAMEBUFFER_BINDING            = 0x8CA6;
-    const GLenum RENDERBUFFER_BINDING           = 0x8CA7;
-    const GLenum MAX_RENDERBUFFER_SIZE          = 0x84E8;
</del><ins>+    const GLenum FRAMEBUFFER_BINDING = 0x8CA6;
+    const GLenum RENDERBUFFER_BINDING = 0x8CA7;
+    const GLenum MAX_RENDERBUFFER_SIZE = 0x84E8;
</ins><span class="cx"> 
</span><del>-    const GLenum INVALID_FRAMEBUFFER_OPERATION  = 0x0506;
</del><ins>+    const GLenum INVALID_FRAMEBUFFER_OPERATION = 0x0506;
</ins><span class="cx"> 
</span><span class="cx">     /* WebGL-specific enums */
</span><del>-    const GLenum UNPACK_FLIP_Y_WEBGL                = 0x9240;
-    const GLenum UNPACK_PREMULTIPLY_ALPHA_WEBGL     = 0x9241;
-    const GLenum CONTEXT_LOST_WEBGL                 = 0x9242;
</del><ins>+    const GLenum UNPACK_FLIP_Y_WEBGL = 0x9240;
+    const GLenum UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241;
+    const GLenum CONTEXT_LOST_WEBGL = 0x9242;
</ins><span class="cx">     const GLenum UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;
</span><del>-    const GLenum BROWSER_DEFAULT_WEBGL              = 0x9244;
</del><ins>+    const GLenum BROWSER_DEFAULT_WEBGL = 0x9244;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute GLsizei drawingBufferWidth;
</span><span class="cx">     readonly attribute GLsizei drawingBufferHeight;
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] void         activeTexture(GLenum texture);
-    [StrictTypeChecking, RaisesException] void         attachShader(WebGLProgram? program, WebGLShader? shader);
-    [StrictTypeChecking, RaisesException] void         bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name);
-    [StrictTypeChecking, RaisesException] void         bindBuffer(GLenum target, WebGLBuffer? buffer);
-    [StrictTypeChecking, RaisesException] void         bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
-    [StrictTypeChecking, RaisesException] void         bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
-    [StrictTypeChecking, RaisesException] void         bindTexture(GLenum target, WebGLTexture? texture);
-    [StrictTypeChecking] void         blendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-    [StrictTypeChecking] void         blendEquation(GLenum mode);
-    [StrictTypeChecking] void         blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
-    [StrictTypeChecking] void         blendFunc(GLenum sfactor, GLenum dfactor);
-    [StrictTypeChecking] void         blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-    [StrictTypeChecking, RaisesException] void         bufferData(GLenum target, ArrayBuffer? data, GLenum usage);
-    [StrictTypeChecking, RaisesException] void         bufferData(GLenum target, ArrayBufferView? data, GLenum usage);
-    [StrictTypeChecking, RaisesException] void         bufferData(GLenum target, GLsizeiptr size, GLenum usage);
-    [StrictTypeChecking, RaisesException] void         bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
-    [StrictTypeChecking, RaisesException] void         bufferSubData(GLenum target, GLintptr offset, ArrayBufferView? data);
</del><ins>+    [StrictTypeChecking, RaisesException] void activeTexture(GLenum texture);
+    [StrictTypeChecking, RaisesException] void attachShader(WebGLProgram? program, WebGLShader? shader);
+    [StrictTypeChecking, RaisesException] void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name);
+    [StrictTypeChecking, RaisesException] void bindBuffer(GLenum target, WebGLBuffer? buffer);
+    [StrictTypeChecking, RaisesException] void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
+    [StrictTypeChecking, RaisesException] void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
+    [StrictTypeChecking, RaisesException] void bindTexture(GLenum target, WebGLTexture? texture);
+    [StrictTypeChecking] void blendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+    [StrictTypeChecking] void blendEquation(GLenum mode);
+    [StrictTypeChecking] void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
+    [StrictTypeChecking] void blendFunc(GLenum sfactor, GLenum dfactor);
+    [StrictTypeChecking] void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+    [StrictTypeChecking, RaisesException] void bufferData(GLenum target, ArrayBuffer data, GLenum usage);
+    [StrictTypeChecking, RaisesException] void bufferData(GLenum target, ArrayBufferView data, GLenum usage);
+    [StrictTypeChecking, RaisesException] void bufferData(GLenum target, GLsizeiptr size, GLenum usage);
+    [StrictTypeChecking, RaisesException] void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
+    [StrictTypeChecking, RaisesException] void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView? data);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] GLenum       checkFramebufferStatus(GLenum target);
-    [StrictTypeChecking] void         clear(GLbitfield mask);
-    [StrictTypeChecking] void         clearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-    [StrictTypeChecking] void         clearDepth(GLclampf depth);
-    [StrictTypeChecking] void         clearStencil(GLint s);
-    [StrictTypeChecking] void         colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-    [StrictTypeChecking, RaisesException] void         compileShader(WebGLShader? shader);
</del><ins>+    [StrictTypeChecking] GLenum checkFramebufferStatus(GLenum target);
+    [StrictTypeChecking] void clear(GLbitfield mask);
+    [StrictTypeChecking] void clearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+    [StrictTypeChecking] void clearDepth(GLclampf depth);
+    [StrictTypeChecking] void clearStencil(GLint s);
+    [StrictTypeChecking] void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+    [StrictTypeChecking, RaisesException] void compileShader(WebGLShader? shader);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         compressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
-                                                           GLsizei width, GLsizei height, GLint border, ArrayBufferView data);
-    [StrictTypeChecking] void         compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
-                                                              GLsizei width, GLsizei height, GLenum format, ArrayBufferView data);
</del><ins>+    [StrictTypeChecking] void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
+    GLsizei width, GLsizei height, GLint border, ArrayBufferView data);
+    [StrictTypeChecking] void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+   GLsizei width, GLsizei height, GLenum format, ArrayBufferView data);
</ins><span class="cx">     
</span><del>-    [StrictTypeChecking] void         copyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-    [StrictTypeChecking] void         copyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
</del><ins>+    [StrictTypeChecking] void copyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+    [StrictTypeChecking] void copyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking] WebGLBuffer createBuffer();
</span><span class="cx">     [StrictTypeChecking] WebGLFramebuffer createFramebuffer();
</span><span class="lines">@@ -508,39 +508,39 @@
</span><span class="cx">     [StrictTypeChecking, RaisesException] WebGLShader createShader(GLenum type);
</span><span class="cx">     [StrictTypeChecking] WebGLTexture createTexture();
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         cullFace(GLenum mode);
</del><ins>+    [StrictTypeChecking] void cullFace(GLenum mode);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         deleteBuffer(WebGLBuffer? buffer);
-    [StrictTypeChecking] void         deleteFramebuffer(WebGLFramebuffer? framebuffer);
-    [StrictTypeChecking] void         deleteProgram(WebGLProgram? program);
-    [StrictTypeChecking] void         deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
-    [StrictTypeChecking] void         deleteShader(WebGLShader? shader);
-    [StrictTypeChecking] void         deleteTexture(WebGLTexture? texture);
</del><ins>+    [StrictTypeChecking] void deleteBuffer(WebGLBuffer? buffer);
+    [StrictTypeChecking] void deleteFramebuffer(WebGLFramebuffer? framebuffer);
+    [StrictTypeChecking] void deleteProgram(WebGLProgram? program);
+    [StrictTypeChecking] void deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
+    [StrictTypeChecking] void deleteShader(WebGLShader? shader);
+    [StrictTypeChecking] void deleteTexture(WebGLTexture? texture);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         depthFunc(GLenum func);
-    [StrictTypeChecking] void         depthMask(GLboolean flag);
-    [StrictTypeChecking] void         depthRange(GLclampf zNear, GLclampf zFar);
-    [StrictTypeChecking, RaisesException] void         detachShader(WebGLProgram? program, WebGLShader? shader);
-    [StrictTypeChecking] void         disable(GLenum cap);
-    [StrictTypeChecking, RaisesException] void         disableVertexAttribArray(GLuint index);
-    [StrictTypeChecking, RaisesException] void         drawArrays(GLenum mode, GLint first, GLsizei count);
-    [StrictTypeChecking, RaisesException] void         drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
</del><ins>+    [StrictTypeChecking] void depthFunc(GLenum func);
+    [StrictTypeChecking] void depthMask(GLboolean flag);
+    [StrictTypeChecking] void depthRange(GLclampf zNear, GLclampf zFar);
+    [StrictTypeChecking, RaisesException] void detachShader(WebGLProgram? program, WebGLShader? shader);
+    [StrictTypeChecking] void disable(GLenum cap);
+    [StrictTypeChecking, RaisesException] void disableVertexAttribArray(GLuint index);
+    [StrictTypeChecking, RaisesException] void drawArrays(GLenum mode, GLint first, GLsizei count);
+    [StrictTypeChecking, RaisesException] void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         enable(GLenum cap);
-    [StrictTypeChecking, RaisesException] void         enableVertexAttribArray(GLuint index);
-    [StrictTypeChecking] void         finish();
-    [StrictTypeChecking] void         flush();
-    [StrictTypeChecking, RaisesException] void         framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, WebGLRenderbuffer? renderbuffer);
-    [StrictTypeChecking, RaisesException] void         framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, WebGLTexture? texture, GLint level);
-    [StrictTypeChecking] void         frontFace(GLenum mode);
-    [StrictTypeChecking] void         generateMipmap(GLenum target);
</del><ins>+    [StrictTypeChecking] void enable(GLenum cap);
+    [StrictTypeChecking, RaisesException] void enableVertexAttribArray(GLuint index);
+    [StrictTypeChecking] void finish();
+    [StrictTypeChecking] void flush();
+    [StrictTypeChecking, RaisesException] void framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, WebGLRenderbuffer? renderbuffer);
+    [StrictTypeChecking, RaisesException] void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, WebGLTexture? texture, GLint level);
+    [StrictTypeChecking] void frontFace(GLenum mode);
+    [StrictTypeChecking] void generateMipmap(GLenum target);
</ins><span class="cx">     
</span><span class="cx">     [StrictTypeChecking, RaisesException] WebGLActiveInfo getActiveAttrib(WebGLProgram? program, GLuint index);
</span><span class="cx">     [StrictTypeChecking, RaisesException] WebGLActiveInfo getActiveUniform(WebGLProgram? program, GLuint index);
</span><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, Custom, RaisesException] void getAttachedShaders(WebGLProgram? program);
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking] GLint        getAttribLocation(WebGLProgram? program, DOMString name);
</del><ins>+    [StrictTypeChecking] GLint getAttribLocation(WebGLProgram? program, DOMString name);
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, Custom] any getBufferParameter(GLenum target, GLenum pname);
</span><span class="cx"> 
</span><span class="lines">@@ -558,11 +558,11 @@
</span><span class="cx">     [StrictTypeChecking, Custom, RaisesException] any getRenderbufferParameter(GLenum target, GLenum pname);
</span><span class="cx">     [StrictTypeChecking, Custom, RaisesException] any getShaderParameter(WebGLShader? shader, GLenum pname);
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] DOMString?    getShaderInfoLog(WebGLShader? shader);
</del><ins>+    [StrictTypeChecking, RaisesException] DOMString? getShaderInfoLog(WebGLShader? shader);
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, RaisesException] WebGLShaderPrecisionFormat getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] DOMString?    getShaderSource(WebGLShader? shader);
</del><ins>+    [StrictTypeChecking, RaisesException] DOMString? getShaderSource(WebGLShader? shader);
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, Custom] sequence&lt;DOMString&gt; getSupportedExtensions();
</span><span class="cx"> 
</span><span class="lines">@@ -576,63 +576,63 @@
</span><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking] GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname);
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         hint(GLenum target, GLenum mode);
-    [StrictTypeChecking] GLboolean    isBuffer(WebGLBuffer? buffer);
-    [StrictTypeChecking] GLboolean    isContextLost();
-    [StrictTypeChecking] GLboolean    isEnabled(GLenum cap);
-    [StrictTypeChecking] GLboolean    isFramebuffer(WebGLFramebuffer? framebuffer);
-    [StrictTypeChecking] GLboolean    isProgram(WebGLProgram? program);
-    [StrictTypeChecking] GLboolean    isRenderbuffer(WebGLRenderbuffer? renderbuffer);
-    [StrictTypeChecking] GLboolean    isShader(WebGLShader? shader);
-    [StrictTypeChecking] GLboolean    isTexture(WebGLTexture? texture);
-    [StrictTypeChecking] void         lineWidth(GLfloat width);
-    [StrictTypeChecking, RaisesException] void         linkProgram(WebGLProgram? program);
-    [StrictTypeChecking] void         pixelStorei(GLenum pname, GLint param);
-    [StrictTypeChecking] void         polygonOffset(GLfloat factor, GLfloat units);
</del><ins>+    [StrictTypeChecking] void hint(GLenum target, GLenum mode);
+    [StrictTypeChecking] GLboolean isBuffer(WebGLBuffer? buffer);
+    [StrictTypeChecking] GLboolean isContextLost();
+    [StrictTypeChecking] GLboolean isEnabled(GLenum cap);
+    [StrictTypeChecking] GLboolean isFramebuffer(WebGLFramebuffer? framebuffer);
+    [StrictTypeChecking] GLboolean isProgram(WebGLProgram? program);
+    [StrictTypeChecking] GLboolean isRenderbuffer(WebGLRenderbuffer? renderbuffer);
+    [StrictTypeChecking] GLboolean isShader(WebGLShader? shader);
+    [StrictTypeChecking] GLboolean isTexture(WebGLTexture? texture);
+    [StrictTypeChecking] void lineWidth(GLfloat width);
+    [StrictTypeChecking, RaisesException] void linkProgram(WebGLProgram? program);
+    [StrictTypeChecking] void pixelStorei(GLenum pname, GLint param);
+    [StrictTypeChecking] void polygonOffset(GLfloat factor, GLfloat units);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] void         readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView pixels);
</del><ins>+    [StrictTypeChecking, RaisesException] void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView pixels);
</ins><span class="cx">     
</span><del>-    [StrictTypeChecking] void         releaseShaderCompiler();
-    [StrictTypeChecking] void         renderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-    [StrictTypeChecking] void         sampleCoverage(GLclampf value, GLboolean invert);
-    [StrictTypeChecking] void         scissor(GLint x, GLint y, GLsizei width, GLsizei height);
-    [StrictTypeChecking, RaisesException] void         shaderSource(WebGLShader? shader, DOMString string);
-    [StrictTypeChecking] void         stencilFunc(GLenum func, GLint ref, GLuint mask);
-    [StrictTypeChecking] void         stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
-    [StrictTypeChecking] void         stencilMask(GLuint mask);
-    [StrictTypeChecking] void         stencilMaskSeparate(GLenum face, GLuint mask);
-    [StrictTypeChecking] void         stencilOp(GLenum fail, GLenum zfail, GLenum zpass);
-    [StrictTypeChecking] void         stencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
</del><ins>+    [StrictTypeChecking] void releaseShaderCompiler();
+    [StrictTypeChecking] void renderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+    [StrictTypeChecking] void sampleCoverage(GLclampf value, GLboolean invert);
+    [StrictTypeChecking] void scissor(GLint x, GLint y, GLsizei width, GLsizei height);
+    [StrictTypeChecking, RaisesException] void shaderSource(WebGLShader? shader, DOMString string);
+    [StrictTypeChecking] void stencilFunc(GLenum func, GLint ref, GLuint mask);
+    [StrictTypeChecking] void stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
+    [StrictTypeChecking] void stencilMask(GLuint mask);
+    [StrictTypeChecking] void stencilMaskSeparate(GLenum face, GLuint mask);
+    [StrictTypeChecking] void stencilOp(GLenum fail, GLenum zfail, GLenum zpass);
+    [StrictTypeChecking] void stencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         texParameterf(GLenum target, GLenum pname, GLfloat param);
-    [StrictTypeChecking] void         texParameteri(GLenum target, GLenum pname, GLint param);
</del><ins>+    [StrictTypeChecking] void texParameterf(GLenum target, GLenum pname, GLfloat param);
+    [StrictTypeChecking] void texParameteri(GLenum target, GLenum pname, GLint param);
</ins><span class="cx"> 
</span><span class="cx">     // Supported forms:
</span><del>-    [StrictTypeChecking, RaisesException] void         texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, 
-                                                 GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
-    [StrictTypeChecking, RaisesException] void         texImage2D(GLenum target, GLint level, GLenum internalformat,
-                                                 GLenum format, GLenum type, ImageData? pixels);
-    [StrictTypeChecking, RaisesException] void         texImage2D(GLenum target, GLint level, GLenum internalformat,
-                                                 GLenum format, GLenum type, HTMLImageElement? image);
-    [StrictTypeChecking, RaisesException] void         texImage2D(GLenum target, GLint level, GLenum internalformat,
-                                                 GLenum format, GLenum type, HTMLCanvasElement? canvas);
</del><ins>+    [StrictTypeChecking, RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
+  GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
+    [StrictTypeChecking, RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
+  GLenum format, GLenum type, ImageData? pixels);
+    [StrictTypeChecking, RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
+  GLenum format, GLenum type, HTMLImageElement? image);
+    [StrictTypeChecking, RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
+  GLenum format, GLenum type, HTMLCanvasElement? canvas);
</ins><span class="cx"> #if defined(ENABLE_VIDEO) &amp;&amp; ENABLE_VIDEO
</span><del>-    [StrictTypeChecking, RaisesException] void         texImage2D(GLenum target, GLint level, GLenum internalformat,
-                                                 GLenum format, GLenum type, HTMLVideoElement? video);
</del><ins>+    [StrictTypeChecking, RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
+  GLenum format, GLenum type, HTMLVideoElement? video);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] void         texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, 
-                                                    GLsizei width, GLsizei height, 
-                                                    GLenum format, GLenum type, ArrayBufferView? pixels);
-    [StrictTypeChecking, RaisesException] void         texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
-                                                    GLenum format, GLenum type, ImageData? pixels);
-    [StrictTypeChecking, RaisesException] void         texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
-                                                    GLenum format, GLenum type, HTMLImageElement? image);
-    [StrictTypeChecking, RaisesException] void         texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
-                                                    GLenum format, GLenum type, HTMLCanvasElement? canvas);
</del><ins>+    [StrictTypeChecking, RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type, ArrayBufferView? pixels);
+    [StrictTypeChecking, RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, ImageData? pixels);
+    [StrictTypeChecking, RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLImageElement? image);
+    [StrictTypeChecking, RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLCanvasElement? canvas);
</ins><span class="cx"> #if defined(ENABLE_VIDEO) &amp;&amp; ENABLE_VIDEO
</span><del>-    [StrictTypeChecking, RaisesException] void         texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
-                                                    GLenum format, GLenum type, HTMLVideoElement? video);
</del><ins>+    [StrictTypeChecking, RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
+ GLenum format, GLenum type, HTMLVideoElement? video);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, RaisesException] void uniform1f(WebGLUniformLocation? location, GLfloat x);
</span><span class="lines">@@ -656,19 +656,18 @@
</span><span class="cx">     [StrictTypeChecking, Custom, RaisesException] void uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
</span><span class="cx">     [StrictTypeChecking, Custom, RaisesException] void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, RaisesException] void         useProgram(WebGLProgram? program);
-    [StrictTypeChecking, RaisesException] void         validateProgram(WebGLProgram? program);
</del><ins>+    [StrictTypeChecking, RaisesException] void useProgram(WebGLProgram? program);
+    [StrictTypeChecking, RaisesException] void validateProgram(WebGLProgram? program);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         vertexAttrib1f(GLuint indx, GLfloat x);
</del><ins>+    [StrictTypeChecking] void vertexAttrib1f(GLuint indx, GLfloat x);
</ins><span class="cx">     [StrictTypeChecking, Custom] void vertexAttrib1fv(GLuint indx, Float32Array values);
</span><del>-    [StrictTypeChecking] void         vertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
</del><ins>+    [StrictTypeChecking] void vertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
</ins><span class="cx">     [StrictTypeChecking, Custom] void vertexAttrib2fv(GLuint indx, Float32Array values);
</span><del>-    [StrictTypeChecking] void         vertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
</del><ins>+    [StrictTypeChecking] void vertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
</ins><span class="cx">     [StrictTypeChecking, Custom] void vertexAttrib3fv(GLuint indx, Float32Array values);
</span><del>-    [StrictTypeChecking] void         vertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
</del><ins>+    [StrictTypeChecking] void vertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
</ins><span class="cx">     [StrictTypeChecking, Custom] void vertexAttrib4fv(GLuint indx, Float32Array values);
</span><del>-    [StrictTypeChecking, RaisesException] void         vertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, 
-                                                          GLsizei stride, GLintptr offset);
</del><ins>+    [StrictTypeChecking, RaisesException] void vertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] void         viewport(GLint x, GLint y, GLsizei width, GLsizei height);
</del><ins>+    [StrictTypeChecking] void viewport(GLint x, GLint y, GLsizei width, GLsizei height);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -2687,15 +2687,14 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>-Ref&lt;TimeRanges&gt; Internals::createTimeRanges(Float32Array* startTimes, Float32Array* endTimes)
</del><ins>+Ref&lt;TimeRanges&gt; Internals::createTimeRanges(Float32Array&amp; startTimes, Float32Array&amp; endTimes)
</ins><span class="cx"> {
</span><del>-    ASSERT(startTimes &amp;&amp; endTimes);
-    ASSERT(startTimes-&gt;length() == endTimes-&gt;length());
</del><ins>+    ASSERT(startTimes.length() == endTimes.length());
</ins><span class="cx">     Ref&lt;TimeRanges&gt; ranges = TimeRanges::create();
</span><span class="cx"> 
</span><del>-    unsigned count = std::min(startTimes-&gt;length(), endTimes-&gt;length());
</del><ins>+    unsigned count = std::min(startTimes.length(), endTimes.length());
</ins><span class="cx">     for (unsigned i = 0; i &lt; count; ++i)
</span><del>-        ranges-&gt;add(startTimes-&gt;item(i), endTimes-&gt;item(i));
</del><ins>+        ranges-&gt;add(startTimes.item(i), endTimes.item(i));
</ins><span class="cx">     return ranges;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (200297 => 200298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-04-30 21:58:41 UTC (rev 200297)
+++ trunk/Source/WebCore/testing/Internals.h        2016-04-30 22:06:21 UTC (rev 200298)
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">     void setCaptionDisplayMode(const String&amp;, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>-    Ref&lt;TimeRanges&gt; createTimeRanges(Float32Array* startTimes, Float32Array* endTimes);
</del><ins>+    Ref&lt;TimeRanges&gt; createTimeRanges(Float32Array&amp; startTimes, Float32Array&amp; endTimes);
</ins><span class="cx">     double closestTimeToTimeRanges(double time, TimeRanges&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>