<!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 <cdumez@apple.com>
+
+ [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 <rniwa@webkit.org>
</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("", new Uint8Array(1))) THROWS(DOMException.INVALID_ACCESS_ERR) OK
</span><del>-TEST(mediaKeys.createSession("unsupported/type")) THROWS(DOMException.INVALID_ACCESS_ERR) OK
</del><ins>+TEST(mediaKeys.createSession("unsupported/type")) THROWS('TypeError: Not enough arguments') OK
</ins><span class="cx"> TEST(mediaKeys.createSession("unsupported/type", 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("", new Uint8Array(1))', "DOMException.INVALID_ACCESS_ERR");
</span><del>- testDOMException('mediaKeys.createSession("unsupported/type")', "DOMException.INVALID_ACCESS_ERR");
</del><ins>+ testException('mediaKeys.createSession("unsupported/type")', "'TypeError: Not enough arguments'");
</ins><span class="cx"> testDOMException('mediaKeys.createSession("unsupported/type", new Uint8Array(1))', "DOMException.NOT_SUPPORTED_ERR");
</span><span class="cx"> consoleWrite("");
</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)', "DOMException.INVALID_ACCESS_ERR");
</del><ins>+ testException('mediaKeySession.update(null)', "'TypeError: Type error'");
</ins><span class="cx"> endTest();
</span><span class="cx"> }
</span><span class="cx"> </script>
</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 <cdumez@apple.com>
+
+ [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 <rniwa@webkit.org>
</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->sessionId();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaKeySession::generateKeyRequest(const String& mimeType, Uint8Array* initData)
</del><ins>+void MediaKeySession::generateKeyRequest(const String& mimeType, Ref<Uint8Array>&& 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<Uint8Array> keyRequest = m_session->generateKeyRequest(request.mimeType, request.initData.get(), destinationURL, errorCode, systemCode);
</del><ins>+ RefPtr<Uint8Array> keyRequest = m_session->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& ec)
</del><ins>+void MediaKeySession::update(Ref<Uint8Array>&& key, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> // From <http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#dom-addkey>:
</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 "second argument" is a spec bug.
</span><del>- if (!key || !key->length()) {
</del><ins>+ if (!key->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<Uint8Array> 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<Uint8Array> nextMessage;
</span><span class="cx"> // 2.4. Use cdm to handle key.
</span><del>- didStoreKey = m_session->update(pendingKey.get(), nextMessage, errorCode, systemCode);
</del><ins>+ didStoreKey = m_session->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& mimeType, Uint8Array* initData);
- void update(Uint8Array* key, ExceptionCode&);
</del><ins>+ void generateKeyRequest(const String& mimeType, Ref<Uint8Array>&& initData);
+ void update(Ref<Uint8Array>&& key, ExceptionCode&);
</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<CDMSession> m_session;
</span><span class="cx">
</span><span class="cx"> struct PendingKeyRequest {
</span><del>- PendingKeyRequest(const String& mimeType, Uint8Array* initData) : mimeType(mimeType), initData(initData) { }
</del><span class="cx"> String mimeType;
</span><del>- RefPtr<Uint8Array> initData;
</del><ins>+ Ref<Uint8Array> initData;
</ins><span class="cx"> };
</span><span class="cx"> Deque<PendingKeyRequest> m_pendingKeyRequests;
</span><span class="cx"> Timer m_keyRequestTimer;
</span><span class="cx">
</span><del>- Deque<RefPtr<Uint8Array>> m_pendingKeys;
</del><ins>+ Deque<Ref<Uint8Array>> 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<MediaKeySession> MediaKeys::createSession(ScriptExecutionContext& context, const String& type, Uint8Array* initData, ExceptionCode& ec)
</del><ins>+RefPtr<MediaKeySession> MediaKeys::createSession(ScriptExecutionContext& context, const String& type, Ref<Uint8Array>&& initData, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> // From <http://www.w3.org/TR/2014/WD-encrypted-media-20140218/#dom-createsession>:
</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->length()) {
</del><ins>+ // 2. If initData is an empty array, throw an INVALID_ACCESS_ERR exception and abort these steps.
+ if (!initData->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<MediaKeySession> 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->generateKeyRequest(type, initData);
</del><ins>+ session->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& keySystem, const String& 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<MediaKeys> create(const String& keySystem, ExceptionCode&);
</span><span class="cx"> virtual ~MediaKeys();
</span><span class="cx">
</span><del>- RefPtr<MediaKeySession> createSession(ScriptExecutionContext&, const String& mimeType, Uint8Array* initData, ExceptionCode&);
</del><ins>+ RefPtr<MediaKeySession> createSession(ScriptExecutionContext&, const String& mimeType, Ref<Uint8Array>&& initData, ExceptionCode&);
</ins><span class="cx">
</span><span class="cx"> static bool isTypeSupported(const String& keySystem, const String& mimeType);
</span><span class="cx">
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">
</span><span class="cx"> MediaKeys(const String& keySystem, std::unique_ptr<CDM>);
</span><span class="cx">
</span><del>- Vector<RefPtr<MediaKeySession>> m_sessions;
</del><ins>+ Vector<Ref<MediaKeySession>> 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 = "undefined", 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<unsigned char*>(data.data()), data.byteLength(), ec);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void SourceBuffer::appendBuffer(ArrayBufferView* data, ExceptionCode& ec)
</del><ins>+void SourceBuffer::appendBuffer(ArrayBufferView& data, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- if (!data) {
- ec = TypeError;
- return;
- }
-
- appendBufferInternal(static_cast<unsigned char*>(data->baseAddress()), data->byteLength(), ec);
</del><ins>+ appendBufferInternal(static_cast<unsigned char*>(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&);
</span><span class="cx">
</span><span class="cx"> void appendBuffer(ArrayBuffer&, ExceptionCode&);
</span><del>- void appendBuffer(ArrayBufferView*, ExceptionCode&);
</del><ins>+ void appendBuffer(ArrayBufferView&, ExceptionCode&);
</ins><span class="cx"> void abort(ExceptionCode&);
</span><span class="cx"> void remove(double start, double end, ExceptionCode&);
</span><span class="cx"> void remove(const MediaTime&, const MediaTime&, ExceptionCode&);
</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& ec)
</del><ins>+void RTCDataChannel::send(ArrayBufferView& data, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- ASSERT(data);
- RefPtr<ArrayBuffer> arrayBuffer(data->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&, ExceptionCode& 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&, ExceptionCode&);
</span><span class="cx"> void send(JSC::ArrayBuffer&, ExceptionCode&);
</span><del>- void send(JSC::ArrayBufferView*, ExceptionCode&);
</del><ins>+ void send(JSC::ArrayBufferView&, ExceptionCode&);
</ins><span class="cx"> void send(Blob&, ExceptionCode&);
</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&);
</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<JSC::Float32Array>& array) { m_analyser.getFloatFrequencyData(array.get()); }
+ void getByteFrequencyData(const RefPtr<JSC::Uint8Array>& array) { m_analyser.getByteFrequencyData(array.get()); }
+ void getByteTimeDomainData(const RefPtr<JSC::Uint8Array>& 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<PeriodicWave> AudioContext::createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionCode& ec)
</del><ins>+RefPtr<PeriodicWave> AudioContext::createPeriodicWave(Float32Array& real, Float32Array& imaginary, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><del>- if (!real || !imag || (real->length() != imag->length() || (real->length() > MaxPeriodicWaveLength) || (real->length() <= 0))) {
</del><ins>+ if (real.length() != imaginary.length() || (real.length() > 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<ChannelSplitterNode> createChannelSplitter(size_t numberOfOutputs, ExceptionCode&);
</span><span class="cx"> RefPtr<ChannelMergerNode> createChannelMerger(size_t numberOfInputs, ExceptionCode&);
</span><span class="cx"> Ref<OscillatorNode> createOscillator();
</span><del>- RefPtr<PeriodicWave> createPeriodicWave(Float32Array* real, Float32Array* imag, ExceptionCode&);
</del><ins>+ RefPtr<PeriodicWave> createPeriodicWave(Float32Array& real, Float32Array& imaginary, ExceptionCode&);
</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<Float32Array>& 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<Float32Array>& frequencyHz, const RefPtr<Float32Array>& magResponse, const RefPtr<Float32Array>& 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<Float32Array>& frequencyHz, const RefPtr<Float32Array>& magResponse, const RefPtr<Float32Array>& phaseResponse);
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> BiquadFilterNode(AudioContext&, 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<PeriodicWave> PeriodicWave::create(float sampleRate, Float32Array* real, Float32Array* imag)
</del><ins>+Ref<PeriodicWave> PeriodicWave::create(float sampleRate, Float32Array& real, Float32Array& imaginary)
</ins><span class="cx"> {
</span><del>- bool isGood = real && imag && real->length() == imag->length();
- ASSERT(isGood);
- if (isGood) {
- RefPtr<PeriodicWave> waveTable = adoptRef(new PeriodicWave(sampleRate));
- size_t numberOfComponents = real->length();
- waveTable->createBandLimitedTables(real->data(), imag->data(), numberOfComponents);
- return waveTable;
- }
- return nullptr;
</del><ins>+ ASSERT(real.length() == imaginary.length());
+
+ auto waveTable = adoptRef(*new PeriodicWave(sampleRate));
+ waveTable->createBandLimitedTables(real.data(), imaginary.data(), real.length());
+ return waveTable;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Ref<PeriodicWave> 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<PeriodicWave> 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<PeriodicWave> create(float sampleRate, Float32Array* real, Float32Array* imag);
</del><ins>+ static Ref<PeriodicWave> create(float sampleRate, Float32Array& real, Float32Array& 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 "pitch" 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->send(binaryData, 0, binaryData.byteLength());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebSocket::send(ArrayBufferView* arrayBufferView, ExceptionCode& ec)
</del><ins>+void WebSocket::send(ArrayBufferView& arrayBufferView, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- LOG(Network, "WebSocket %p send() Sending ArrayBufferView %p", this, arrayBufferView);
- ASSERT(arrayBufferView);
</del><ins>+ LOG(Network, "WebSocket %p send() Sending ArrayBufferView %p", this, &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->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<ArrayBuffer> arrayBuffer(arrayBufferView->buffer());
- m_channel->send(*arrayBuffer, arrayBufferView->byteOffset(), arrayBufferView->byteLength());
</del><ins>+ m_channel->send(*arrayBufferView.buffer(), arrayBufferView.byteOffset(), arrayBufferView.byteLength());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebSocket::send(Blob& binaryData, ExceptionCode& 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& message, ExceptionCode&);
</span><span class="cx"> void send(JSC::ArrayBuffer&, ExceptionCode&);
</span><del>- void send(JSC::ArrayBufferView*, ExceptionCode&);
</del><ins>+ void send(JSC::ArrayBufferView&, ExceptionCode&);
</ins><span class="cx"> void send(Blob&, ExceptionCode&);
</span><span class="cx">
</span><span class="cx"> void close(Optional<unsigned short> code, const String& reason, ExceptionCode&);
</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, " return JSValue::encode(jsUndefined());\n");
</span><span class="cx">
</span><span class="cx"> my $isTearOff = $codeGenerator->IsSVGTypeNeedingTearOff($argType) && $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, " if (UNLIKELY(!$name))\n");
</span><span class="cx"> push(@$outputArray, " return throwVMTypeError(state);\n");
</span><span class="cx"> $value = $isTearOff ? "$name->propertyReference()" : "*$name";
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ if ($codeGenerator->IsTypedArrayType($argType) and $argType ne "ArrayBuffer") {
+ $value = $shouldPassByReference ? "$name.releaseNonNull()" : "WTFMove($name)";
+ }
+
</ins><span class="cx"> if ($argType eq "double" or $argType eq "float") {
</span><span class="cx"> push(@$outputArray, " if (UNLIKELY(!std::isfinite($name)))\n");
</span><span class="cx"> push(@$outputArray, " return throwVMTypeError(state);\n");
</span><span class="cx"> }
</span><del>-
- $value = "$name.get()" if $codeGenerator->IsTypedArrayType($argType) and $argType ne "ArrayBuffer";
</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->ShouldPassWrapperByReference($parameter, $interface) && substr(GetNativeType($parameter->type), -1) eq '*';
</del><ins>+
+ my $nativeType = GetNativeType($parameter->type);
+
+ return $codeGenerator->ShouldPassWrapperByReference($parameter, $interface) && (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<DOMStringList> values = toDOMStringList(state, state->argument(0));
</span><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- JSValue result = toJS(state, castedThis->globalObject(), WTF::getPtr(impl.domStringListFunction(values, ec)));
</del><ins>+ if (UNLIKELY(!values))
+ return throwVMTypeError(state);
+ JSValue result = toJS(state, castedThis->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<ArrayBufferView> arrayBufferView = toArrayBufferView(state->argument(0));
</span><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><del>- RefPtr<TestOverloadedConstructors> object = TestOverloadedConstructors::create(arrayBufferView);
</del><ins>+ if (UNLIKELY(!arrayBufferView))
+ return throwVMTypeError(state);
+ RefPtr<TestOverloadedConstructors> object = TestOverloadedConstructors::create(*arrayBufferView);
</ins><span class="cx"> return JSValue::encode(asObject(toJS(state, castedThis->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& keySystem, RefPtr<Uint8Array>&& initData, ExceptionCode& ec)
</del><ins>+void HTMLMediaElement::webkitGenerateKeyRequest(const String& keySystem, const RefPtr<Uint8Array>& initData, ExceptionCode& 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& keySystem, PassRefPtr<Uint8Array> key, PassRefPtr<Uint8Array> initData, const String& sessionId, ExceptionCode& ec)
</del><ins>+void HTMLMediaElement::webkitAddKey(const String& keySystem, Uint8Array& key, const RefPtr<Uint8Array>& initData, const String& sessionId, ExceptionCode& 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->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->length();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- MediaPlayer::MediaKeyException result = m_player->addKey(keySystem, key->data(), key->length(), initDataPointer, initDataLength, sessionId);
</del><ins>+ MediaPlayer::MediaKeyException result = m_player->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& keySystem, RefPtr<Uint8Array>&& initData, ExceptionCode&);
- void webkitAddKey(const String& keySystem, PassRefPtr<Uint8Array> key, PassRefPtr<Uint8Array> initData, const String& sessionId, ExceptionCode&);
</del><ins>+ void webkitGenerateKeyRequest(const String& keySystem, const RefPtr<Uint8Array>& initData, ExceptionCode&);
+ void webkitAddKey(const String& keySystem, Uint8Array& key, const RefPtr<Uint8Array>& initData, const String& sessionId, ExceptionCode&);
</ins><span class="cx"> void webkitCancelKeyRequest(const String& keySystem, const String& sessionId, ExceptionCode&);
</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) && (!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<ImageData> ImageData::create(unsigned sw, unsigned sh, ExceptionCode& ec)
</del><ins>+RefPtr<ImageData> ImageData::create(unsigned sw, unsigned sh, ExceptionCode& 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<ImageData> data = adoptRef(new ImageData(size));
</del><ins>+ auto data = adoptRef(*new ImageData(size));
</ins><span class="cx"> data->data()->zeroFill();
</span><del>- return data.release();
</del><ins>+ return WTFMove(data);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-PassRefPtr<ImageData> ImageData::create(const IntSize& size)
</del><ins>+RefPtr<ImageData> ImageData::create(const IntSize& size)
</ins><span class="cx"> {
</span><span class="cx"> Checked<int, RecordOverflow> 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<ImageData> ImageData::create(const IntSize& size, PassRefPtr<Uint8ClampedArray> byteArray)
</del><ins>+RefPtr<ImageData> ImageData::create(const IntSize& size, Ref<Uint8ClampedArray>&& byteArray)
</ins><span class="cx"> {
</span><span class="cx"> Checked<int, RecordOverflow> 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() < 0
</span><span class="cx"> || static_cast<unsigned>(dataSize.unsafeGet()) > byteArray->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<ImageData> ImageData::create(PassRefPtr<Uint8ClampedArray> byteArray, unsigned sw, unsigned sh, ExceptionCode& ec)
</del><ins>+RefPtr<ImageData> ImageData::create(Ref<Uint8ClampedArray>&& byteArray, unsigned sw, unsigned sh, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> unsigned length = byteArray->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& 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& size, PassRefPtr<Uint8ClampedArray> byteArray)
</del><ins>+ImageData::ImageData(const IntSize& size, Ref<Uint8ClampedArray>&& 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<unsigned>(size.width() * size.height() * 4) <= m_data->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<ImageData> {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<ImageData> create(unsigned sw, unsigned sh, ExceptionCode&);
- static PassRefPtr<ImageData> create(const IntSize&);
- static PassRefPtr<ImageData> create(const IntSize&, PassRefPtr<Uint8ClampedArray>);
- static PassRefPtr<ImageData> create(PassRefPtr<Uint8ClampedArray>, unsigned sw, unsigned sh, ExceptionCode&);
</del><ins>+ static RefPtr<ImageData> create(unsigned sw, unsigned sh, ExceptionCode&);
+ static RefPtr<ImageData> create(const IntSize&);
+ static RefPtr<ImageData> create(const IntSize&, Ref<Uint8ClampedArray>&&);
+ static RefPtr<ImageData> create(Ref<Uint8ClampedArray>&&, unsigned sw, unsigned sh, ExceptionCode&);
</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&);
</span><del>- ImageData(const IntSize&, PassRefPtr<Uint8ClampedArray>);
</del><ins>+ ImageData(const IntSize&, Ref<Uint8ClampedArray>&&);
</ins><span class="cx">
</span><span class="cx"> IntSize m_size;
</span><span class="cx"> RefPtr<Uint8ClampedArray> 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& 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<GraphicsContext3D> context,
- GraphicsContext3D::Attributes attributes) : WebGLRenderingContextBase(passedCanvas, context, attributes)
</del><ins>+WebGL2RenderingContext::WebGL2RenderingContext(HTMLCanvasElement* passedCanvas, RefPtr<GraphicsContext3D>&& 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->getExtensions()->ensureEnabled("GL_EXT_frag_depth");
</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<GC3Denum> attachments)
</del><ins>+void WebGL2RenderingContext::invalidateFramebuffer(GC3Denum, Vector<GC3Denum>)
</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<GC3Denum> attachments, GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height)
</del><ins>+void WebGL2RenderingContext::invalidateSubFramebuffer(GC3Denum, Vector<GC3Denum>, 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<ArrayBufferView>&&)
</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<ArrayBufferView>&&)
</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<ArrayBufferView>&&)
</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<ArrayBufferView>&&)
</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<Uint32Array>&&)
</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<Uint32Array>&&)
</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<Uint32Array>&&)
</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<Uint32Array>&&)
</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<Float32Array>&&)
</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<Float32Array>&&)
</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<Float32Array>&&)
</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<Float32Array>&&)
</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<Float32Array>&&)
</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<Float32Array>&&)
</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<Int32Array>&&)
</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<Uint32Array>&&)
</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<GC3Denum> 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<Int32Array>&&)
</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 < 0 || drawbuffer >= 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<Uint32Array>&&)
</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 < 0 || drawbuffer >= 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<Float32Array>&&)
</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 < 0 || drawbuffer >= 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<WebGLQuery> WebGL2RenderingContext::createQuery()
</del><ins>+RefPtr<WebGLQuery> 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<WebGLQuery> WebGL2RenderingContext::getQuery(GC3Denum target, GC3Denum pname)
</del><ins>+RefPtr<WebGLQuery> 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<WebGLSampler> WebGL2RenderingContext::createSampler()
</del><ins>+RefPtr<WebGLSampler> 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<WebGLSync> WebGL2RenderingContext::fenceSync(GC3Denum condition, GC3Dbitfield flags)
</del><ins>+RefPtr<WebGLSync> 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<WebGLTransformFeedback> WebGL2RenderingContext::createTransformFeedback()
</del><ins>+RefPtr<WebGLTransformFeedback> 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<String> varyings, GC3Denum bufferMode)
</del><ins>+void WebGL2RenderingContext::transformFeedbackVaryings(WebGLProgram*, Vector<String>, 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<WebGLActiveInfo> WebGL2RenderingContext::getTransformFeedbackVarying(WebGLProgram* program, GC3Duint index)
</del><ins>+RefPtr<WebGLActiveInfo> 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<String> uniformNames)
</del><ins>+Uint32Array* WebGL2RenderingContext::getUniformIndices(WebGLProgram*, Vector<String>)
</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<Uint32Array>&&, 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<WebGLVertexArrayObject> WebGL2RenderingContext::createVertexArray()
</del><ins>+RefPtr<WebGLVertexArrayObject> 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<WebGLVertexArrayObject> 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& ec)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getFramebufferAttachmentParameter(GC3Denum target, GC3Denum attachment, GC3Denum pname, ExceptionCode&)
</ins><span class="cx"> {
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> if (isContextLostOrPending() || !validateFramebufferFuncParameters("getFramebufferAttachmentParameter", 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<WebGLTexture>(reinterpret_cast<WebGLTexture*>(object)));
</del><ins>+ return WebGLGetInfo(reinterpret_cast<WebGLTexture*>(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<WebGLRenderbuffer>(reinterpret_cast<WebGLRenderbuffer*>(object)));
</del><ins>+ return WebGLGetInfo(reinterpret_cast<WebGLRenderbuffer*>(object));
</ins><span class="cx"> case GraphicsContext3D::FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING : {
</span><span class="cx"> WebGLRenderbuffer* renderBuffer = reinterpret_cast<WebGLRenderbuffer*>(object);
</span><span class="cx"> GC3Denum renderBufferFormat = renderBuffer->getInternalFormat();
</span><span class="lines">@@ -1352,9 +1078,9 @@
</span><span class="cx"> m_context->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& ec)
</del><ins>+void WebGL2RenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& pixels, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- if (isContextLostOrPending() || !validateTexFuncData("texSubImage2D", level, width, height, GraphicsContext3D::NONE, format, type, pixels, NullNotAllowed) || !validateTexFunc("texSubImage2D", TexSubImage, SourceArrayBufferView, target, level, GraphicsContext3D::NONE, width, height, 0, format, type, xoffset, yoffset))
</del><ins>+ if (isContextLostOrPending() || !validateTexFuncData("texSubImage2D", level, width, height, GraphicsContext3D::NONE, format, type, pixels.get(), NullNotAllowed) || !validateTexFunc("texSubImage2D", 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->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& ec)
</del><ins>+WebGLGetInfo WebGL2RenderingContext::getParameter(GC3Denum pname, ExceptionCode&)
</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<WebGLBuffer>(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<WebGLProgram>(m_currentProgram));
</del><ins>+ return WebGLGetInfo(m_currentProgram.get());
</ins><span class="cx"> case GraphicsContext3D::DEPTH_BITS:
</span><span class="cx"> if (!m_framebufferBinding && !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<WebGLBuffer>(m_boundVertexArrayObject->getElementArrayBuffer()));
</del><ins>+ return WebGLGetInfo(m_boundVertexArrayObject->getElementArrayBuffer());
</ins><span class="cx"> case GraphicsContext3D::FRAMEBUFFER_BINDING:
</span><del>- return WebGLGetInfo(PassRefPtr<WebGLFramebuffer>(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<WebGLRenderbuffer>(m_renderbufferBinding));
</del><ins>+ return WebGLGetInfo(m_renderbufferBinding.get());
</ins><span class="cx"> case GraphicsContext3D::RENDERER:
</span><span class="cx"> return WebGLGetInfo(String("WebKit WebGL"));
</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<WebGLTexture>(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<WebGLTexture>(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->isDefaultObject())
</span><del>- return WebGLGetInfo(PassRefPtr<WebGLVertexArrayObject>(static_cast<WebGLVertexArrayObject*>(m_boundVertexArrayObject.get())));
</del><ins>+ return WebGLGetInfo(static_cast<WebGLVertexArrayObject*>(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<GraphicsContext3D>, GraphicsContext3D::Attributes);
</del><ins>+ WebGL2RenderingContext(HTMLCanvasElement*, RefPtr<GraphicsContext3D>&&, 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<ArrayBufferView>&& 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<ArrayBufferView>&& pixels);
+ void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& 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<ArrayBufferView>&& data);
+ void compressedTexSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Dsizei imageSize, RefPtr<ArrayBufferView>&& 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<Uint32Array>&& value);
+ void uniform2uiv(WebGLUniformLocation*, RefPtr<Uint32Array>&& value);
+ void uniform3uiv(WebGLUniformLocation*, RefPtr<Uint32Array>&& value);
+ void uniform4uiv(WebGLUniformLocation*, RefPtr<Uint32Array>&& value);
+ void uniformMatrix2x3fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& value);
+ void uniformMatrix3x2fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& value);
+ void uniformMatrix2x4fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& value);
+ void uniformMatrix4x2fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& value);
+ void uniformMatrix3x4fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& value);
+ void uniformMatrix4x3fv(WebGLUniformLocation*, GC3Dboolean transpose, RefPtr<Float32Array>&& 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<Int32Array>&& 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<Uint32Array>&& 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<GC3Denum> 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<Int32Array>&& value);
+ void clearBufferuiv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr<Uint32Array>&& value);
+ void clearBufferfv(GC3Denum buffer, GC3Dint drawbuffer, RefPtr<Float32Array>&& 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<WebGLQuery> createQuery();
</del><ins>+ RefPtr<WebGLQuery> 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<WebGLQuery> getQuery(GC3Denum target, GC3Denum pname);
</del><ins>+ RefPtr<WebGLQuery> 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<WebGLSampler> createSampler();
</del><ins>+ RefPtr<WebGLSampler> 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<WebGLSync> fenceSync(GC3Denum condition, GC3Dbitfield flags);
</del><ins>+ RefPtr<WebGLSync> 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<WebGLTransformFeedback> createTransformFeedback();
</del><ins>+ RefPtr<WebGLTransformFeedback> 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<String> varyings, GC3Denum bufferMode);
- PassRefPtr<WebGLActiveInfo> getTransformFeedbackVarying(WebGLProgram* program, GC3Duint index);
</del><ins>+ void transformFeedbackVaryings(WebGLProgram*, Vector<String> varyings, GC3Denum bufferMode);
+ RefPtr<WebGLActiveInfo> 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<String> 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<String> uniformNames);
+ Int32Array* getActiveUniforms(WebGLProgram*, RefPtr<Uint32Array>&& 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<WebGLVertexArrayObject> createVertexArray();
</del><ins>+ RefPtr<WebGLVertexArrayObject> 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&) 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&) override;
</del><ins>+ GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&&, ExceptionCode&) 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&) 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<GLenum> 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<DOMString> 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->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& ec)
</del><ins>+void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& pixels, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- if (isContextLostOrPending() || !validateTexFuncData("texSubImage2D", level, width, height, format, format, type, pixels, NullNotAllowed) || !validateTexFunc("texSubImage2D", TexSubImage, SourceArrayBufferView, target, level, format, width, height, 0, format, type, xoffset, yoffset))
</del><ins>+ if (isContextLostOrPending() || !validateTexFuncData("texSubImage2D", level, width, height, format, format, type, pixels.get(), NullNotAllowed) || !validateTexFunc("texSubImage2D", 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->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&) 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&) override;
</del><ins>+ GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&&, ExceptionCode&) 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&) 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<WebGLRenderingContextBase> renderingContext = nullptr;
</span><span class="cx"> #if ENABLE(WEBGL2)
</span><span class="cx"> if (type == "webgl2")
</span><del>- renderingContext = std::unique_ptr<WebGL2RenderingContext>(new WebGL2RenderingContext(canvas, context, attributes));
</del><ins>+ renderingContext = std::unique_ptr<WebGL2RenderingContext>(new WebGL2RenderingContext(canvas, WTFMove(context), attributes));
</ins><span class="cx"> else
</span><span class="cx"> #endif
</span><del>- renderingContext = std::unique_ptr<WebGLRenderingContext>(new WebGLRenderingContext(canvas, context, attributes));
</del><ins>+ renderingContext = std::unique_ptr<WebGLRenderingContext>(new WebGLRenderingContext(canvas, WTFMove(context), attributes));
</ins><span class="cx"> renderingContext->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(&passedCanvas->document())
</span><del>- , m_context(0)
</del><ins>+ , m_context(nullptr)
</ins><span class="cx"> , m_dispatchContextLostEventTimer(*this, &WebGLRenderingContextBase::dispatchContextLostEvent)
</span><span class="cx"> , m_restoreAllowed(false)
</span><span class="cx"> , m_restoreTimer(*this, &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<GraphicsContext3D> context, GraphicsContext3D::Attributes attributes)
</del><ins>+WebGLRenderingContextBase::WebGLRenderingContextBase(HTMLCanvasElement* passedCanvas, RefPtr<GraphicsContext3D>&& context, GraphicsContext3D::Attributes attributes)
</ins><span class="cx"> : CanvasRenderingContext(passedCanvas)
</span><span class="cx"> , ActiveDOMObject(&passedCanvas->document())
</span><del>- , m_context(context)
</del><ins>+ , m_context(WTFMove(context))
</ins><span class="cx"> , m_dispatchContextLostEventTimer(*this, &WebGLRenderingContextBase::dispatchContextLostEvent)
</span><span class="cx"> , m_restoreAllowed(false)
</span><span class="cx"> , m_restoreTimer(*this, &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&)
</del><ins>+void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBuffer& data, GC3Denum usage, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending())
</span><span class="cx"> return;
</span><span class="cx"> WebGLBuffer* buffer = validateBufferDataParameters("bufferData", target, usage);
</span><span class="cx"> if (!buffer)
</span><span class="cx"> return;
</span><del>- if (!data) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "no data");
- return;
- }
</del><span class="cx"> if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
</span><del>- if (!buffer->associateBufferData(data)) {
</del><ins>+ if (!buffer->associateBufferData(&data)) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "invalid buffer");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> m_context->moveErrorsToSyntheticErrorList();
</span><del>- m_context->bufferData(target, data->byteLength(), data->data(), usage);
</del><ins>+ m_context->bufferData(target, data.byteLength(), data.data(), usage);
</ins><span class="cx"> if (m_context->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->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&)
</del><ins>+void WebGLRenderingContextBase::bufferData(GC3Denum target, ArrayBufferView& data, GC3Denum usage, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending())
</span><span class="cx"> return;
</span><span class="cx"> WebGLBuffer* buffer = validateBufferDataParameters("bufferData", target, usage);
</span><span class="cx"> if (!buffer)
</span><span class="cx"> return;
</span><del>- if (!data) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "no data");
- return;
- }
</del><span class="cx"> if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
</span><del>- if (!buffer->associateBufferData(data)) {
</del><ins>+ if (!buffer->associateBufferData(&data)) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "invalid buffer");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> m_context->moveErrorsToSyntheticErrorList();
</span><del>- m_context->bufferData(target, data->byteLength(), data->baseAddress(), usage);
</del><ins>+ m_context->bufferData(target, data.byteLength(), data.baseAddress(), usage);
</ins><span class="cx"> if (m_context->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->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&)
</del><ins>+void WebGLRenderingContextBase::bufferSubData(GC3Denum target, long long offset, RefPtr<ArrayBufferView>&& data, ExceptionCode&)
</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->associateBufferSubData(static_cast<GC3Dintptr>(offset), data)) {
</del><ins>+ if (!buffer->associateBufferSubData(static_cast<GC3Dintptr>(offset), data.get())) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferSubData", "offset out of range");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1249,8 +1241,7 @@
</span><span class="cx"> shader->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& 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->moveErrorsToSyntheticErrorList();
</span><span class="cx"> m_context->compressedTexImage2D(target, level, internalformat, width, height,
</span><del>- border, data->byteLength(), data->baseAddress());
</del><ins>+ border, data.byteLength(), data.baseAddress());
</ins><span class="cx"> if (m_context->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->markInvalid(target, level);
</span><span class="lines">@@ -1288,8 +1279,7 @@
</span><span class="cx"> tex->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& 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("compressedTexSubImage2D", target, level, xoffset, yoffset, width, height, format, tex))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- graphicsContext3D()->compressedTexSubImage2D(target, level, xoffset, yoffset,
- width, height, format, data->byteLength(), data->baseAddress());
</del><ins>+ graphicsContext3D()->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, data.byteLength(), data.baseAddress());
</ins><span class="cx"> tex->setCompressed();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2797,7 +2786,7 @@
</span><span class="cx"> m_context->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&)
</del><ins>+void WebGLRenderingContextBase::readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView& pixels, ExceptionCode&)
</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()->originClean());
</span><span class="cx"> // Validate input parameters.
</span><del>- if (!pixels) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "readPixels", "no destination ArrayBufferView");
- 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->getType() != JSC::TypeUint8) {
</del><ins>+ if (pixels.getType() != JSC::TypeUint8) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, "readPixels", "ArrayBufferView not Uint8Array");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -2851,18 +2836,18 @@
</span><span class="cx"> synthesizeGLError(error, "readPixels", "invalid dimensions");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (pixels->byteLength() < totalBytesRequired) {
</del><ins>+ if (pixels.byteLength() < totalBytesRequired) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, "readPixels", "ArrayBufferView not large enough for dimensions");
</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->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->getExtensions()->readnPixelsEXT(x, y, width, height, format, type, pixels->byteLength(), data);
</del><ins>+ m_context->getExtensions()->readnPixelsEXT(x, y, width, height, format, type, pixels.byteLength(), data);
</ins><span class="cx"> else
</span><span class="cx"> m_context->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& ec)
</del><ins>+void WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& pixels, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- if (isContextLostOrPending() || !validateTexFuncData("texImage2D", level, width, height, internalformat, format, type, pixels, NullAllowed)
</del><ins>+ if (isContextLostOrPending() || !validateTexFuncData("texImage2D", level, width, height, internalformat, format, type, pixels.get(), NullAllowed)
</ins><span class="cx"> || !validateTexFunc("texImage2D", 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->baseAddress() : 0;
</span><span class="lines">@@ -3340,12 +3323,12 @@
</span><span class="cx"> m_context->uniform1f(location->location(), x);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform1fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform1fv(const WebGLUniformLocation* location, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform1fv", location, v, 1))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform1fv(location->location(), v->length(), v->data());
</del><ins>+ m_context->uniform1fv(location->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&)
</span><span class="lines">@@ -3374,21 +3357,21 @@
</span><span class="cx"> m_context->uniform1i(location->location(), x);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform1iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform1iv(const WebGLUniformLocation* location, Int32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform1iv", location, v, 1))
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (location->type() == GraphicsContext3D::SAMPLER_2D || location->type() == GraphicsContext3D::SAMPLER_CUBE)
</span><del>- for (unsigned i = 0; i < v->length(); ++i) {
- if (v->data()[i] >= static_cast<int>(m_textureUnits.size())) {
- LOG(WebGL, "Texture unit size=%zu, v[%d]=%d. Location type = %04X.", m_textureUnits.size(), i, v->data()[i], location->type());
</del><ins>+ for (unsigned i = 0; i < v.length(); ++i) {
+ if (v.data()[i] >= static_cast<int>(m_textureUnits.size())) {
+ LOG(WebGL, "Texture unit size=%zu, v[%d]=%d. Location type = %04X.", m_textureUnits.size(), i, v.data()[i], location->type());
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "uniform1iv", "invalid texture unit");
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- m_context->uniform1iv(location->location(), v->length(), v->data());
</del><ins>+ m_context->uniform1iv(location->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&)
</span><span class="lines">@@ -3420,12 +3403,12 @@
</span><span class="cx"> m_context->uniform2f(location->location(), x, y);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform2fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform2fv(const WebGLUniformLocation* location, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform2fv", location, v, 2))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform2fv(location->location(), v->length() / 2, v->data());
</del><ins>+ m_context->uniform2fv(location->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&)
</span><span class="lines">@@ -3449,12 +3432,12 @@
</span><span class="cx"> m_context->uniform2i(location->location(), x, y);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform2iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform2iv(const WebGLUniformLocation* location, Int32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform2iv", location, v, 2))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform2iv(location->location(), v->length() / 2, v->data());
</del><ins>+ m_context->uniform2iv(location->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&)
</span><span class="lines">@@ -3478,12 +3461,12 @@
</span><span class="cx"> m_context->uniform3f(location->location(), x, y, z);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform3fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform3fv(const WebGLUniformLocation* location, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform3fv", location, v, 3))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform3fv(location->location(), v->length() / 3, v->data());
</del><ins>+ m_context->uniform3fv(location->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&)
</span><span class="lines">@@ -3507,12 +3490,12 @@
</span><span class="cx"> m_context->uniform3i(location->location(), x, y, z);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform3iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform3iv(const WebGLUniformLocation* location, Int32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform3iv", location, v, 3))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform3iv(location->location(), v->length() / 3, v->data());
</del><ins>+ m_context->uniform3iv(location->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&)
</span><span class="lines">@@ -3536,12 +3519,12 @@
</span><span class="cx"> m_context->uniform4f(location->location(), x, y, z, w);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform4fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform4fv(const WebGLUniformLocation* location, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform4fv", location, v, 4))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform4fv(location->location(), v->length() / 4, v->data());
</del><ins>+ m_context->uniform4fv(location->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&)
</span><span class="lines">@@ -3565,12 +3548,12 @@
</span><span class="cx"> m_context->uniform4i(location->location(), x, y, z, w);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&)
</del><ins>+void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, Int32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformParameters("uniform4iv", location, v, 4))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_context->uniform4iv(location->location(), v->length() / 4, v->data());
</del><ins>+ m_context->uniform4iv(location->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&)
</span><span class="lines">@@ -3581,11 +3564,11 @@
</span><span class="cx"> m_context->uniform4iv(location->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&)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformMatrixParameters("uniformMatrix2fv", location, transpose, v, 4))
</span><span class="cx"> return;
</span><del>- m_context->uniformMatrix2fv(location->location(), v->length() / 4, transpose, v->data());
</del><ins>+ m_context->uniformMatrix2fv(location->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&)
</span><span class="lines">@@ -3595,11 +3578,11 @@
</span><span class="cx"> m_context->uniformMatrix2fv(location->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&)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformMatrixParameters("uniformMatrix3fv", location, transpose, v, 9))
</span><span class="cx"> return;
</span><del>- m_context->uniformMatrix3fv(location->location(), v->length() / 9, transpose, v->data());
</del><ins>+ m_context->uniformMatrix3fv(location->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&)
</span><span class="lines">@@ -3609,11 +3592,11 @@
</span><span class="cx"> m_context->uniformMatrix3fv(location->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&)
</del><ins>+void WebGLRenderingContextBase::uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array& v, ExceptionCode&)
</ins><span class="cx"> {
</span><span class="cx"> if (isContextLostOrPending() || !validateUniformMatrixParameters("uniformMatrix4fv", location, transpose, v, 16))
</span><span class="cx"> return;
</span><del>- m_context->uniformMatrix4fv(location->location(), v->length() / 16, transpose, v->data());
</del><ins>+ m_context->uniformMatrix4fv(location->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&)
</span><span class="lines">@@ -3656,7 +3639,7 @@
</span><span class="cx"> vertexAttribfImpl("vertexAttrib1f", 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& v)
</ins><span class="cx"> {
</span><span class="cx"> vertexAttribfvImpl("vertexAttrib1fv", index, v, 1);
</span><span class="cx"> }
</span><span class="lines">@@ -3671,7 +3654,7 @@
</span><span class="cx"> vertexAttribfImpl("vertexAttrib2f", 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& v)
</ins><span class="cx"> {
</span><span class="cx"> vertexAttribfvImpl("vertexAttrib2fv", index, v, 2);
</span><span class="cx"> }
</span><span class="lines">@@ -3686,7 +3669,7 @@
</span><span class="cx"> vertexAttribfImpl("vertexAttrib3f", 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& v)
</ins><span class="cx"> {
</span><span class="cx"> vertexAttribfvImpl("vertexAttrib3fv", index, v, 3);
</span><span class="cx"> }
</span><span class="lines">@@ -3701,7 +3684,7 @@
</span><span class="cx"> vertexAttribfImpl("vertexAttrib4f", 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& v)
</ins><span class="cx"> {
</span><span class="cx"> vertexAttribfvImpl("vertexAttrib4fv", 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& pixels)
</ins><span class="cx"> {
</span><del>- if (!pixels) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no pixels");
- return false;
- }
</del><span class="cx"> if (width < 0 || height < 0) {
</span><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "width or height < 0");
</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->byteLength() != bytesRequired) {
</del><ins>+ if (pixels.byteLength() != bytesRequired) {
</ins><span class="cx"> synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "length of ArrayBufferView is not correct for dimensions");
</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& v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>- if (!v) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no array");
- return false;
- }
- return validateUniformMatrixParameters(functionName, location, false, v->data(), v->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& v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>- if (!v) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no array");
- return false;
- }
- return validateUniformMatrixParameters(functionName, location, false, v->data(), v->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& v, GC3Dsizei requiredMinSize)
</ins><span class="cx"> {
</span><del>- if (!v) {
- synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no array");
- return false;
- }
- return validateUniformMatrixParameters(functionName, location, transpose, v->data(), v->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& 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, "no array");
- return;
- }
- vertexAttribfvImpl(functionName, index, v->data(), v->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&);
</span><del>- void bufferData(GC3Denum target, ArrayBuffer* data, GC3Denum usage, ExceptionCode&);
- void bufferData(GC3Denum target, ArrayBufferView* data, GC3Denum usage, ExceptionCode&);
</del><ins>+ void bufferData(GC3Denum target, ArrayBuffer& data, GC3Denum usage, ExceptionCode&);
+ void bufferData(GC3Denum target, ArrayBufferView& data, GC3Denum usage, ExceptionCode&);
</ins><span class="cx"> void bufferSubData(GC3Denum target, long long offset, ArrayBuffer* data, ExceptionCode&);
</span><del>- void bufferSubData(GC3Denum target, long long offset, ArrayBufferView* data, ExceptionCode&);
</del><ins>+ void bufferSubData(GC3Denum target, long long offset, RefPtr<ArrayBufferView>&& data, ExceptionCode&);
</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&);
</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& data);
+ void compressedTexSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, ArrayBufferView& 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&);
</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&);
</del><ins>+ void readPixels(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, ArrayBufferView& pixels, ExceptionCode&);
</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&);
</del><ins>+ GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&&, ExceptionCode&);
</ins><span class="cx"> void texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
</span><span class="cx"> GC3Denum format, GC3Denum type, ImageData*, ExceptionCode&);
</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&) = 0;
</del><ins>+ GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&&, ExceptionCode&) = 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&) = 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&) = 0;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- void uniform1f(const WebGLUniformLocation* location, GC3Dfloat x, ExceptionCode&);
- void uniform1fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&);
- void uniform1fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&);
- void uniform1i(const WebGLUniformLocation* location, GC3Dint x, ExceptionCode&);
- void uniform1iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&);
- void uniform1iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&);
- void uniform2f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, ExceptionCode&);
- void uniform2fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&);
- void uniform2fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&);
- void uniform2i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, ExceptionCode&);
- void uniform2iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&);
- void uniform2iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&);
- void uniform3f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, ExceptionCode&);
- void uniform3fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&);
- void uniform3fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&);
- void uniform3i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, GC3Dint z, ExceptionCode&);
- void uniform3iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&);
- void uniform3iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&);
- void uniform4f(const WebGLUniformLocation* location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w, ExceptionCode&);
- void uniform4fv(const WebGLUniformLocation* location, Float32Array* v, ExceptionCode&);
- void uniform4fv(const WebGLUniformLocation* location, GC3Dfloat* v, GC3Dsizei size, ExceptionCode&);
- void uniform4i(const WebGLUniformLocation* location, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w, ExceptionCode&);
- void uniform4iv(const WebGLUniformLocation* location, Int32Array* v, ExceptionCode&);
- void uniform4iv(const WebGLUniformLocation* location, GC3Dint* v, GC3Dsizei size, ExceptionCode&);
- void uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&);
- void uniformMatrix2fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&);
- void uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&);
- void uniformMatrix3fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&);
- void uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, Float32Array* value, ExceptionCode&);
- void uniformMatrix4fv(const WebGLUniformLocation* location, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei size, ExceptionCode&);
</del><ins>+ void uniform1f(const WebGLUniformLocation*, GC3Dfloat x, ExceptionCode&);
+ void uniform1fv(const WebGLUniformLocation*, Float32Array& v, ExceptionCode&);
+ void uniform1fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&);
+ void uniform1i(const WebGLUniformLocation*, GC3Dint x, ExceptionCode&);
+ void uniform1iv(const WebGLUniformLocation*, Int32Array& v, ExceptionCode&);
+ void uniform1iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&);
+ void uniform2f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, ExceptionCode&);
+ void uniform2fv(const WebGLUniformLocation*, Float32Array& v, ExceptionCode&);
+ void uniform2fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&);
+ void uniform2i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, ExceptionCode&);
+ void uniform2iv(const WebGLUniformLocation*, Int32Array& v, ExceptionCode&);
+ void uniform2iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&);
+ void uniform3f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, ExceptionCode&);
+ void uniform3fv(const WebGLUniformLocation*, Float32Array& v, ExceptionCode&);
+ void uniform3fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&);
+ void uniform3i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, GC3Dint z, ExceptionCode&);
+ void uniform3iv(const WebGLUniformLocation*, Int32Array& v, ExceptionCode&);
+ void uniform3iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&);
+ void uniform4f(const WebGLUniformLocation*, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w, ExceptionCode&);
+ void uniform4fv(const WebGLUniformLocation*, Float32Array& v, ExceptionCode&);
+ void uniform4fv(const WebGLUniformLocation*, GC3Dfloat* v, GC3Dsizei, ExceptionCode&);
+ void uniform4i(const WebGLUniformLocation*, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w, ExceptionCode&);
+ void uniform4iv(const WebGLUniformLocation*, Int32Array& v, ExceptionCode&);
+ void uniform4iv(const WebGLUniformLocation*, GC3Dint* v, GC3Dsizei, ExceptionCode&);
+ void uniformMatrix2fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array& value, ExceptionCode&);
+ void uniformMatrix2fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&);
+ void uniformMatrix3fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array& value, ExceptionCode&);
+ void uniformMatrix3fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&);
+ void uniformMatrix4fv(const WebGLUniformLocation*, GC3Dboolean transpose, Float32Array& value, ExceptionCode&);
+ void uniformMatrix4fv(const WebGLUniformLocation*, GC3Dboolean transpose, GC3Dfloat* value, GC3Dsizei, ExceptionCode&);
</ins><span class="cx">
</span><span class="cx"> void useProgram(WebGLProgram*, ExceptionCode&);
</span><span class="cx"> void validateProgram(WebGLProgram*, ExceptionCode&);
</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& 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& 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& 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& 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&);
</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<GraphicsContext3D>, GraphicsContext3D::Attributes);
</del><ins>+ WebGLRenderingContextBase(HTMLCanvasElement*, RefPtr<GraphicsContext3D>&&, 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& 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&, GC3Dsizei mod);
+ bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, Int32Array&, 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&, 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&, 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<DOMString> 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) && 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) && 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<TimeRanges> Internals::createTimeRanges(Float32Array* startTimes, Float32Array* endTimes)
</del><ins>+Ref<TimeRanges> Internals::createTimeRanges(Float32Array& startTimes, Float32Array& endTimes)
</ins><span class="cx"> {
</span><del>- ASSERT(startTimes && endTimes);
- ASSERT(startTimes->length() == endTimes->length());
</del><ins>+ ASSERT(startTimes.length() == endTimes.length());
</ins><span class="cx"> Ref<TimeRanges> ranges = TimeRanges::create();
</span><span class="cx">
</span><del>- unsigned count = std::min(startTimes->length(), endTimes->length());
</del><ins>+ unsigned count = std::min(startTimes.length(), endTimes.length());
</ins><span class="cx"> for (unsigned i = 0; i < count; ++i)
</span><del>- ranges->add(startTimes->item(i), endTimes->item(i));
</del><ins>+ ranges->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&, ExceptionCode&);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>- Ref<TimeRanges> createTimeRanges(Float32Array* startTimes, Float32Array* endTimes);
</del><ins>+ Ref<TimeRanges> createTimeRanges(Float32Array& startTimes, Float32Array& endTimes);
</ins><span class="cx"> double closestTimeToTimeRanges(double time, TimeRanges&);
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>