<!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>[181614] trunk/Source/WebInspectorUI</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/181614">181614</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2015-03-16 21:41:36 -0700 (Mon, 16 Mar 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Add more DOM Native Function parameter strings
https://bugs.webkit.org/show_bug.cgi?id=142760

Reviewed by Timothy Hatcher.

* UserInterface/Models/NativeFunctionParameters.js:
Add native parameter strings generated and hand modified
for DOM built-in classes.

* UserInterface/Views/ObjectTreePropertyTreeElement.js:
For native constructors &quot;FooConstructor&quot; the description is just
the name of the Constructor not the function string.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsNativeFunctionParametersjs">trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreePropertyTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (181613 => 181614)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-03-17 04:41:34 UTC (rev 181613)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-03-17 04:41:36 UTC (rev 181614)
</span><span class="lines">@@ -1,5 +1,20 @@
</span><span class="cx"> 2015-03-16  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Web Inspector: Add more DOM Native Function parameter strings
+        https://bugs.webkit.org/show_bug.cgi?id=142760
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Models/NativeFunctionParameters.js:
+        Add native parameter strings generated and hand modified
+        for DOM built-in classes.
+
+        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
+        For native constructors &quot;FooConstructor&quot; the description is just
+        the name of the Constructor not the function string.
+
+2015-03-16  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
</ins><span class="cx">         Web Inspector: Object Previews in Indexed DB tables
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=140813
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsNativeFunctionParametersjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js (181613 => 181614)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js        2015-03-17 04:41:34 UTC (rev 181613)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js        2015-03-17 04:41:36 UTC (rev 181614)
</span><span class="lines">@@ -133,6 +133,42 @@
</span><span class="cx">         keyFor: &quot;symbol&quot;,
</span><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><ins>+
+    // Autogenerated DOM Interface static methods.
+
+    IDBKeyRangeConstructor: {
+        bound: &quot;lower, upper, [lowerOpen], [upperOpen]&quot;,
+        lowerBound: &quot;lower, [open]&quot;,
+        only: &quot;value&quot;,
+        upperBound: &quot;upper, [open]&quot;,
+        __proto__: null,
+    },
+
+    MediaSourceConstructor: {
+        isTypeSupported: &quot;type&quot;,
+        __proto__: null,
+    },
+
+    MediaStreamTrackConstructor: {
+        getSources: &quot;callback&quot;,
+        __proto__: null,
+    },
+
+    NotificationConstructor: {
+        requestPermission: &quot;[callback]&quot;,
+        __proto__: null,
+    },
+
+    URLConstructor: {
+        createObjectURL: &quot;blob&quot;,
+        revokeObjectURL: &quot;url&quot;,
+        __proto__: null,
+    },
+
+    WebKitMediaKeysConstructor: {
+        isTypeSupported: &quot;keySystem, [type]&quot;,
+        __proto__: null,
+    },
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.NativePrototypeFunctionParameters = {
</span><span class="lines">@@ -281,35 +317,24 @@
</span><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    // DOM objects.
-    // FIXME: Many idls. Generate?
</del><ins>+    // Curated DOM Interfaces.
</ins><span class="cx"> 
</span><del>-    HTMLElement: {
-        insertAdjacentElement: &quot;position, [element]&quot;,
-        insertAdjacentHTML: &quot;position, [html]&quot;,
-        insertAdjacentText: &quot;position, [text]&quot;,
-        __proto__: null,
-    },
-    
</del><span class="cx">     Element: {
</span><span class="cx">         closest: &quot;selectors&quot;,
</span><span class="cx">         getAttribute: &quot;attributeName&quot;,
</span><span class="cx">         getAttributeNS: &quot;namespace, attributeName&quot;,
</span><span class="cx">         getAttributeNode: &quot;attributeName&quot;,
</span><span class="cx">         getAttributeNodeNS: &quot;namespace, attributeName&quot;,
</span><del>-        getElementsByClassName: &quot;names&quot;,
-        getElementsByTagName: &quot;tagName&quot;,
-        getElementsByTagNameNS: &quot;namespace, localName&quot;,
</del><span class="cx">         hasAttribute: &quot;attributeName&quot;,
</span><span class="cx">         hasAttributeNS: &quot;namespace, attributeName&quot;,
</span><span class="cx">         matches: &quot;selector&quot;,
</span><span class="cx">         removeAttribute: &quot;attributeName&quot;,
</span><span class="cx">         removeAttributeNS: &quot;namespace, attributeName&quot;,
</span><span class="cx">         removeAttributeNode: &quot;attributeName&quot;,
</span><ins>+        scrollByLines: &quot;[lines]&quot;,
+        scrollByPages: &quot;[pages]&quot;,
</ins><span class="cx">         scrollIntoView: &quot;[alignWithTop]&quot;,
</span><span class="cx">         scrollIntoViewIfNeeded: &quot;[centerIfNeeded]&quot;,
</span><del>-        scrollByLines: &quot;[lines]&quot;,
-        scrollByPages: &quot;[pages]&quot;,
</del><span class="cx">         setAttribute: &quot;name, value&quot;,
</span><span class="cx">         setAttributeNS: &quot;namespace, name, value&quot;,
</span><span class="cx">         setAttributeNode: &quot;attributeNode&quot;,
</span><span class="lines">@@ -320,12 +345,12 @@
</span><span class="cx"> 
</span><span class="cx">     Node: {
</span><span class="cx">         appendChild: &quot;child&quot;,
</span><del>-        cloneNode: &quot;deep&quot;,
-        compareDocumentPosition: &quot;node&quot;,
-        contains: &quot;node&quot;,
</del><ins>+        cloneNode: &quot;[deep]&quot;,
+        compareDocumentPosition: &quot;[node]&quot;,
+        contains: &quot;[node]&quot;,
</ins><span class="cx">         insertBefore: &quot;insertElement, referenceElement&quot;,
</span><del>-        isDefaultNamespace: &quot;namespace&quot;,
-        isEqualNode: &quot;node&quot;,
</del><ins>+        isDefaultNamespace: &quot;[namespace]&quot;,
+        isEqualNode: &quot;[node]&quot;,
</ins><span class="cx">         lookupNamespaceURI: &quot;prefix&quot;,
</span><span class="cx">         removeChild: &quot;node&quot;,
</span><span class="cx">         replaceChild: &quot;newChild, oldChild&quot;,
</span><span class="lines">@@ -333,50 +358,46 @@
</span><span class="cx">     },
</span><span class="cx"> 
</span><span class="cx">     Window: {
</span><del>-        alert: &quot;message&quot;,
</del><ins>+        alert: &quot;[message]&quot;,
</ins><span class="cx">         atob: &quot;encodedData&quot;,
</span><span class="cx">         btoa: &quot;stringToEncode&quot;,
</span><ins>+        cancelAnimationFrame: &quot;id&quot;,
+        clearInterval: &quot;intervalId&quot;,
</ins><span class="cx">         clearTimeout: &quot;timeoutId&quot;,
</span><del>-        confirm: &quot;message&quot;,
</del><ins>+        confirm: &quot;[message]&quot;,
</ins><span class="cx">         find: &quot;string, [caseSensitive], [backwards], [wrapAround]&quot;,
</span><del>-        getComputedStyle: &quot;element, [pseudoElement]&quot;,
</del><ins>+        getComputedStyle: &quot;[element], [pseudoElement]&quot;,
+        getMatchedCSSRules: &quot;[element], [pseudoElement]&quot;,
</ins><span class="cx">         matchMedia: &quot;mediaQueryString&quot;,
</span><del>-        moveBy: &quot;deltaX, deltaY&quot;,
-        moveTo: &quot;screenX, screenY&quot;,
</del><ins>+        moveBy: &quot;[deltaX], [deltaY]&quot;,
+        moveTo: &quot;[screenX], [screenY]&quot;,
</ins><span class="cx">         open: &quot;url, windowName, [featuresString]&quot;,
</span><ins>+        openDatabase: &quot;name, version, displayName, estimatedSize, [creationCallback]&quot;,
</ins><span class="cx">         postMessage: &quot;message, targetOrigin, [...transferables]&quot;,
</span><del>-        prompt: &quot;text, [value]&quot;,
-        resizeBy: &quot;deltaX, deltaY&quot;,
-        resizeTo: &quot;width, height&quot;,
-        scrollBy: &quot;deltaX, deltaY&quot;,
-        scrollTo: &quot;x, y&quot;,
</del><ins>+        prompt: &quot;[message], [value]&quot;,
+        requestAnimationFrame: &quot;callback&quot;,
+        resizeBy: &quot;[deltaX], [deltaY]&quot;,
+        resizeTo: &quot;[width], [height]&quot;,
+        scrollBy: &quot;[deltaX], [deltaY]&quot;,
+        scrollTo: &quot;[x], [y]&quot;,
</ins><span class="cx">         setInterval: &quot;func, [delay], [...params]&quot;,
</span><span class="cx">         setTimeout: &quot;func, [delay], [...params]&quot;,
</span><span class="cx">         showModalDialog: &quot;url, [arguments], [options]&quot;,
</span><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    Event: {
-        initEvent: &quot;type, bubbles, cancelable&quot;,
-        __proto__: null,
-    },
-
-    HTMLDocument: {
-        write: &quot;html&quot;,
-        writeln: &quot;html&quot;,
-        __proto__: null,
-    },
-
</del><span class="cx">     Document: {
</span><del>-        adoptNode: &quot;node&quot;,
-        caretPositionFromPoint: &quot;x, y&quot;,
</del><ins>+        adoptNode: &quot;[node]&quot;,
+        caretRangeFromPoint: &quot;[x], [y]&quot;,
</ins><span class="cx">         createAttribute: &quot;attributeName&quot;,
</span><ins>+        createAttributeNS: &quot;namespace, qualifiedName&quot;,
</ins><span class="cx">         createCDATASection: &quot;data&quot;,
</span><span class="cx">         createComment: &quot;data&quot;,
</span><span class="cx">         createElement: &quot;tagName&quot;,
</span><span class="cx">         createElementNS: &quot;namespace, qualifiedName&quot;,
</span><ins>+        createEntityReference: &quot;name&quot;,
</ins><span class="cx">         createEvent: &quot;type&quot;,
</span><del>-        createExpression: &quot;xpath, namespaceURLMapper&quot;,
</del><ins>+        createExpression: &quot;xpath, resolver&quot;,
</ins><span class="cx">         createNSResolver: &quot;node&quot;,
</span><span class="cx">         createNodeIterator: &quot;root, whatToShow, filter&quot;,
</span><span class="cx">         createProcessingInstruction: &quot;target, data&quot;,
</span><span class="lines">@@ -385,39 +406,1657 @@
</span><span class="cx">         elementFromPoint: &quot;x, y&quot;,
</span><span class="cx">         evaluate: &quot;xpath, contextNode, namespaceResolver, resultType, result&quot;,
</span><span class="cx">         execCommand: &quot;command, userInterface, value&quot;,
</span><ins>+        getCSSCanvasContext: &quot;contextId, name, width, height&quot;,
</ins><span class="cx">         getElementById: &quot;id&quot;,
</span><span class="cx">         getElementsByName: &quot;name&quot;,
</span><ins>+        getOverrideStyle: &quot;[element], [pseudoElement]&quot;,
</ins><span class="cx">         importNode: &quot;node, deep&quot;,
</span><ins>+        queryCommandEnabled: &quot;command&quot;,
+        queryCommandIndeterm: &quot;command&quot;,
+        queryCommandState: &quot;command&quot;,
+        queryCommandSupported: &quot;command&quot;,
+        queryCommandValue: &quot;command&quot;,
</ins><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    // Autogenerated DOM Interfaces.
+
+    ANGLEInstancedArrays: {
+        drawArraysInstancedANGLE: &quot;mode, first, count, primcount&quot;,
+        drawElementsInstancedANGLE: &quot;mode, count, type, offset, primcount&quot;,
+        vertexAttribDivisorANGLE: &quot;index, divisor&quot;,
+        __proto__: null,
+    },
+
+    AnalyserNode: {
+        getByteFrequencyData: &quot;array&quot;,
+        getByteTimeDomainData: &quot;array&quot;,
+        getFloatFrequencyData: &quot;array&quot;,
+        __proto__: null,
+    },
+
+    AudioBuffer: {
+        getChannelData: &quot;channelIndex&quot;,
+        __proto__: null,
+    },
+
+    AudioBufferCallback: {
+        handleEvent: &quot;audioBuffer&quot;,
+        __proto__: null,
+    },
+
+    AudioBufferSourceNode: {
+        noteGrainOn: &quot;when, grainOffset, grainDuration&quot;,
+        noteOff: &quot;when&quot;,
+        noteOn: &quot;when&quot;,
+        start: &quot;[when], [grainOffset], [grainDuration]&quot;,
+        stop: &quot;[when]&quot;,
+        __proto__: null,
+    },
+
+    AudioListener: {
+        setOrientation: &quot;x, y, z, xUp, yUp, zUp&quot;,
+        setPosition: &quot;x, y, z&quot;,
+        setVelocity: &quot;x, y, z&quot;,
+        __proto__: null,
+    },
+
+    AudioNode: {
+        connect: &quot;destination, [output], [input]&quot;,
+        disconnect: &quot;[output]&quot;,
+        __proto__: null,
+    },
+
+    AudioParam: {
+        cancelScheduledValues: &quot;startTime&quot;,
+        exponentialRampToValueAtTime: &quot;value, time&quot;,
+        linearRampToValueAtTime: &quot;value, time&quot;,
+        setTargetAtTime: &quot;target, time, timeConstant&quot;,
+        setTargetValueAtTime: &quot;targetValue, time, timeConstant&quot;,
+        setValueAtTime: &quot;value, time&quot;,
+        setValueCurveAtTime: &quot;values, time, duration&quot;,
+        __proto__: null,
+    },
+
+    AudioTrackList: {
+        getTrackById: &quot;id&quot;,
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    BiquadFilterNode: {
+        getFrequencyResponse: &quot;frequencyHz, magResponse, phaseResponse&quot;,
+        __proto__: null,
+    },
+
+    Blob: {
+        slice: &quot;[start], [end], [contentType]&quot;,
+        __proto__: null,
+    },
+
+    CSS: {
+        supports: &quot;property, value&quot;,
+        __proto__: null,
+    },
+
+    CSSKeyframesRule: {
+        appendRule: &quot;[rule]&quot;,
+        deleteRule: &quot;[key]&quot;,
+        findRule: &quot;[key]&quot;,
+        insertRule: &quot;[rule]&quot;,
+        __proto__: null,
+    },
+
+    CSSMediaRule: {
+        deleteRule: &quot;[index]&quot;,
+        insertRule: &quot;[rule], [index]&quot;,
+        __proto__: null,
+    },
+
+    CSSPrimitiveValue: {
+        getFloatValue: &quot;[unitType]&quot;,
+        setFloatValue: &quot;[unitType], [floatValue]&quot;,
+        setStringValue: &quot;[stringType], [stringValue]&quot;,
+        __proto__: null,
+    },
+
+    CSSRuleList: {
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    CSSStyleDeclaration: {
+        getPropertyCSSValue: &quot;[propertyName]&quot;,
+        getPropertyPriority: &quot;[propertyName]&quot;,
+        getPropertyShorthand: &quot;[propertyName]&quot;,
+        getPropertyValue: &quot;[propertyName]&quot;,
+        isPropertyImplicit: &quot;[propertyName]&quot;,
+        item: &quot;[index]&quot;,
+        removeProperty: &quot;[propertyName]&quot;,
+        setProperty: &quot;[propertyName], [value], [priority]&quot;,
+        __proto__: null,
+    },
+
+    CSSStyleSheet: {
+        addRule: &quot;[selector], [style], [index]&quot;,
+        deleteRule: &quot;[index]&quot;,
+        insertRule: &quot;[rule], [index]&quot;,
+        removeRule: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    CSSSupportsRule: {
+        deleteRule: &quot;[index]&quot;,
+        insertRule: &quot;[rule], [index]&quot;,
+        __proto__: null,
+    },
+
+    CSSValueList: {
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    CanvasGradient: {
+        addColorStop: &quot;[offset], [color]&quot;,
+        __proto__: null,
+    },
+
+    CanvasRenderingContext2D: {
+        arc: &quot;x, y, radius, startAngle, endAngle, [anticlockwise]&quot;,
+        arcTo: &quot;x1, y1, x2, y2, radius&quot;,
+        bezierCurveTo: &quot;cp1x, cp1y, cp2x, cp2y, x, y&quot;,
+        clearRect: &quot;x, y, width, height&quot;,
+        clip: &quot;path, [winding]&quot;,
+        createImageData: &quot;imagedata&quot;,
+        createLinearGradient: &quot;x0, y0, x1, y1&quot;,
+        createPattern: &quot;canvas, repetitionType&quot;,
+        createRadialGradient: &quot;x0, y0, r0, x1, y1, r1&quot;,
+        drawFocusIfNeeded: &quot;element&quot;,
+        drawImage: &quot;image, x, y&quot;,
+        drawImageFromRect: &quot;image, [sx], [sy], [sw], [sh], [dx], [dy], [dw], [dh], [compositeOperation]&quot;,
+        ellipse: &quot;x, y, radiusX, radiusY, rotation, startAngle, endAngle, [anticlockwise]&quot;,
+        fill: &quot;path, [winding]&quot;,
+        fillRect: &quot;x, y, width, height&quot;,
+        fillText: &quot;text, x, y, [maxWidth]&quot;,
+        getImageData: &quot;sx, sy, sw, sh&quot;,
+        isPointInPath: &quot;path, x, y, [winding]&quot;,
+        isPointInStroke: &quot;path, x, y&quot;,
+        lineTo: &quot;x, y&quot;,
+        measureText: &quot;text&quot;,
+        moveTo: &quot;x, y&quot;,
+        putImageData: &quot;imagedata, dx, dy&quot;,
+        quadraticCurveTo: &quot;cpx, cpy, x, y&quot;,
+        rect: &quot;x, y, width, height&quot;,
+        rotate: &quot;angle&quot;,
+        scale: &quot;sx, sy&quot;,
+        setAlpha: &quot;[alpha]&quot;,
+        setCompositeOperation: &quot;[compositeOperation]&quot;,
+        setFillColor: &quot;color, [alpha]&quot;,
+        setLineCap: &quot;[cap]&quot;,
+        setLineDash: &quot;dash&quot;,
+        setLineJoin: &quot;[join]&quot;,
+        setLineWidth: &quot;[width]&quot;,
+        setMiterLimit: &quot;[limit]&quot;,
+        setShadow: &quot;width, height, blur, [color], [alpha]&quot;,
+        setStrokeColor: &quot;color, [alpha]&quot;,
+        setTransform: &quot;m11, m12, m21, m22, dx, dy&quot;,
+        stroke: &quot;path&quot;,
+        strokeRect: &quot;x, y, width, height&quot;,
+        strokeText: &quot;text, x, y, [maxWidth]&quot;,
+        transform: &quot;m11, m12, m21, m22, dx, dy&quot;,
+        translate: &quot;tx, ty&quot;,
+        webkitGetImageDataHD: &quot;sx, sy, sw, sh&quot;,
+        webkitPutImageDataHD: &quot;imagedata, dx, dy&quot;,
+        __proto__: null,
+    },
+
+    CharacterData: {
+        appendData: &quot;[data]&quot;,
+        deleteData: &quot;[offset], [length]&quot;,
+        insertData: &quot;[offset], [data]&quot;,
+        replaceData: &quot;[offset], [length], [data]&quot;,
+        substringData: &quot;[offset], [length]&quot;,
+        __proto__: null,
+    },
+
+    ClientRectList: {
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    CommandLineAPIHost: {
+        copyText: &quot;text&quot;,
+        databaseId: &quot;database&quot;,
+        getEventListeners: &quot;node&quot;,
+        inspect: &quot;objectId, hints&quot;,
+        storageId: &quot;storage&quot;,
+        __proto__: null,
+    },
+
+    CompositionEvent: {
+        initCompositionEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [viewArg], [dataArg]&quot;,
+        __proto__: null,
+    },
+
+    Crypto: {
+        getRandomValues: &quot;array&quot;,
+        __proto__: null,
+    },
+
+    CustomEvent: {
+        initCustomEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [detailArg]&quot;,
+        __proto__: null,
+    },
+
+    DOMApplicationCache: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    DOMImplementation: {
+        createCSSStyleSheet: &quot;[title], [media]&quot;,
+        createDocument: &quot;[namespaceURI], [qualifiedName], [doctype]&quot;,
+        createDocumentType: &quot;[qualifiedName], [publicId], [systemId]&quot;,
+        createHTMLDocument: &quot;[title]&quot;,
+        hasFeature: &quot;[feature], [version]&quot;,
+        __proto__: null,
+    },
+
+    DOMParser: {
+        parseFromString: &quot;[str], [contentType]&quot;,
+        __proto__: null,
+    },
+
+    DOMStringList: {
+        contains: &quot;[string]&quot;,
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    DOMTokenList: {
+        add: &quot;tokens...&quot;,
+        contains: &quot;token&quot;,
+        item: &quot;index&quot;,
+        remove: &quot;tokens...&quot;,
+        toggle: &quot;token, [force]&quot;,
+        __proto__: null,
+    },
+
+    DataTransfer: {
+        clearData: &quot;[type]&quot;,
+        getData: &quot;type&quot;,
+        setData: &quot;type, data&quot;,
+        setDragImage: &quot;image, x, y&quot;,
+        __proto__: null,
+    },
+
+    DataTransferItem: {
+        getAsString: &quot;[callback]&quot;,
+        __proto__: null,
+    },
+
+    DataTransferItemList: {
+        add: &quot;file&quot;,
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    Database: {
+        changeVersion: &quot;oldVersion, newVersion, [callback], [errorCallback], [successCallback]&quot;,
+        readTransaction: &quot;callback, [errorCallback], [successCallback]&quot;,
+        transaction: &quot;callback, [errorCallback], [successCallback]&quot;,
+        __proto__: null,
+    },
+
+    DatabaseCallback: {
+        handleEvent: &quot;database&quot;,
+        __proto__: null,
+    },
+
+    DedicatedWorkerGlobalScope: {
+        postMessage: &quot;message, [messagePorts]&quot;,
+        __proto__: null,
+    },
+
+    DeviceMotionEvent: {
+        initDeviceMotionEvent: &quot;[type], [bubbles], [cancelable], [acceleration], [accelerationIncludingGravity], [rotationRate], [interval]&quot;,
+        __proto__: null,
+    },
+
+    DeviceOrientationEvent: {
+        initDeviceOrientationEvent: &quot;[type], [bubbles], [cancelable], [alpha], [beta], [gamma], [absolute]&quot;,
+        __proto__: null,
+    },
+
+    DocumentFragment: {
+        querySelector: &quot;selectors&quot;,
+        querySelectorAll: &quot;selectors&quot;,
+        __proto__: null,
+    },
+
+    Event: {
+        initEvent: &quot;[type], [canBubble], [cancelable]&quot;,
+        __proto__: null,
+    },
+
+    FileList: {
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    FileReader: {
+        readAsArrayBuffer: &quot;blob&quot;,
+        readAsBinaryString: &quot;blob&quot;,
+        readAsDataURL: &quot;blob&quot;,
+        readAsText: &quot;blob, [encoding]&quot;,
+        __proto__: null,
+    },
+
+    FileReaderSync: {
+        readAsArrayBuffer: &quot;blob&quot;,
+        readAsBinaryString: &quot;blob&quot;,
+        readAsDataURL: &quot;blob&quot;,
+        readAsText: &quot;blob, [encoding]&quot;,
+        __proto__: null,
+    },
+
+    FontLoader: {
+        checkFont: &quot;font, [text]&quot;,
+        loadFont: &quot;params&quot;,
+        notifyWhenFontsReady: &quot;callback&quot;,
+        __proto__: null,
+    },
+
+    FormData: {
+        append: &quot;[name], [value], [filename]&quot;,
+        __proto__: null,
+    },
+
</ins><span class="cx">     Geolocation: {
</span><del>-        clearWatch: &quot;watchId&quot;,
-        getCurrentPosition: &quot;successHandler, [errorHandler], [options]&quot;,
-        watchPosition: &quot;successHandler, [errorHandler], [options]&quot;,
</del><ins>+        clearWatch: &quot;watchID&quot;,
+        getCurrentPosition: &quot;successCallback, [errorCallback], [options]&quot;,
+        watchPosition: &quot;successCallback, [errorCallback], [options]&quot;,
</ins><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    HTMLAllCollection: {
+        item: &quot;[index]&quot;,
+        namedItem: &quot;name&quot;,
+        tags: &quot;name&quot;,
+        __proto__: null,
+    },
+
+    HTMLButtonElement: {
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLCanvasElement: {
+        getContext: &quot;[contextId]&quot;,
+        probablySupportsContext: &quot;[contextId]&quot;,
+        toDataURL: &quot;[type]&quot;,
+        __proto__: null,
+    },
+
+    HTMLCollection: {
+        item: &quot;[index]&quot;,
+        namedItem: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    HTMLDocument: {
+        write: &quot;[html]&quot;,
+        writeln: &quot;[html]&quot;,
+        __proto__: null,
+    },
+
+    HTMLElement: {
+        insertAdjacentElement: &quot;[position], [element]&quot;,
+        insertAdjacentHTML: &quot;[position], [html]&quot;,
+        insertAdjacentText: &quot;[position], [text]&quot;,
+        __proto__: null,
+    },
+
+    HTMLFieldSetElement: {
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLFormControlsCollection: {
+        namedItem: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    HTMLInputElement: {
+        setCustomValidity: &quot;error&quot;,
+        setRangeText: &quot;replacement&quot;,
+        setSelectionRange: &quot;[start], [end], [direction]&quot;,
+        stepDown: &quot;[n]&quot;,
+        stepUp: &quot;[n]&quot;,
+        __proto__: null,
+    },
+
+    HTMLKeygenElement: {
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLMediaElement: {
+        addTextTrack: &quot;kind, [label], [language]&quot;,
+        canPlayType: &quot;[type], [keySystem]&quot;,
+        fastSeek: &quot;time&quot;,
+        webkitAddKey: &quot;keySystem, key, [initData], [sessionId]&quot;,
+        webkitCancelKeyRequest: &quot;keySystem, [sessionId]&quot;,
+        webkitGenerateKeyRequest: &quot;keySystem, [initData]&quot;,
+        webkitSetMediaKeys: &quot;mediaKeys&quot;,
+        __proto__: null,
+    },
+
+    HTMLObjectElement: {
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLOptionsCollection: {
+        add: &quot;element, [before]&quot;,
+        namedItem: &quot;[name]&quot;,
+        remove: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    HTMLOutputElement: {
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLSelectElement: {
+        add: &quot;element, [before]&quot;,
+        item: &quot;index&quot;,
+        namedItem: &quot;[name]&quot;,
+        setCustomValidity: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    HTMLTableElement: {
+        deleteRow: &quot;[index]&quot;,
+        insertRow: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    HTMLTableRowElement: {
+        deleteCell: &quot;[index]&quot;,
+        insertCell: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    HTMLTableSectionElement: {
+        deleteRow: &quot;[index]&quot;,
+        insertRow: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    HTMLTextAreaElement: {
+        setCustomValidity: &quot;error&quot;,
+        setRangeText: &quot;replacement&quot;,
+        setSelectionRange: &quot;[start], [end], [direction]&quot;,
+        __proto__: null,
+    },
+
+    HTMLVideoElement: {
+        webkitSetPresentationMode: &quot;mode&quot;,
+        webkitSupportsPresentationMode: &quot;mode&quot;,
+        __proto__: null,
+    },
+
+    HashChangeEvent: {
+        initHashChangeEvent: &quot;[type], [canBubble], [cancelable], [oldURL], [newURL]&quot;,
+        __proto__: null,
+    },
+
+    History: {
+        go: &quot;[distance]&quot;,
+        pushState: &quot;data, title, [url]&quot;,
+        replaceState: &quot;data, title, [url]&quot;,
+        __proto__: null,
+    },
+
+    IDBCursor: {
+        advance: &quot;count&quot;,
+        continue: &quot;[key]&quot;,
+        update: &quot;value&quot;,
+        __proto__: null,
+    },
+
+    IDBDatabase: {
+        createObjectStore: &quot;name, [options]&quot;,
+        deleteObjectStore: &quot;name&quot;,
+        transaction: &quot;storeName, [mode]&quot;,
+        __proto__: null,
+    },
+
+    IDBFactory: {
+        cmp: &quot;first, second&quot;,
+        deleteDatabase: &quot;name&quot;,
+        open: &quot;name, [version]&quot;,
+        __proto__: null,
+    },
+
+    IDBIndex: {
+        count: &quot;[range]&quot;,
+        get: &quot;key&quot;,
+        getKey: &quot;key&quot;,
+        openCursor: &quot;[range], [direction]&quot;,
+        openKeyCursor: &quot;[range], [direction]&quot;,
+        __proto__: null,
+    },
+
+    IDBObjectStore: {
+        add: &quot;value, [key]&quot;,
+        count: &quot;[range]&quot;,
+        createIndex: &quot;name, keyPath, [options]&quot;,
+        delete: &quot;keyRange&quot;,
+        deleteIndex: &quot;name&quot;,
+        get: &quot;key&quot;,
+        index: &quot;name&quot;,
+        openCursor: &quot;[range], [direction]&quot;,
+        put: &quot;value, [key]&quot;,
+        __proto__: null,
+    },
+
+    IDBTransaction: {
+        objectStore: &quot;name&quot;,
+        __proto__: null,
+    },
+
+    KeyboardEvent: {
+        initKeyboardEvent: &quot;[type], [canBubble], [cancelable], [view], [keyIdentifier], [location], [ctrlKey], [altKey], [shiftKey], [metaKey], [altGraphKey]&quot;,
+        __proto__: null,
+    },
+
+    Location: {
+        assign: &quot;[url]&quot;,
+        reload: &quot;[force=false]&quot;,
+        replace: &quot;[url]&quot;,
+        __proto__: null,
+    },
+
+    MediaController: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    MediaControlsHost: {
+        displayNameForTrack: &quot;track&quot;,
+        mediaUIImageData: &quot;partID&quot;,
+        setSelectedTextTrack: &quot;track&quot;,
+        sortedTrackListForMenu: &quot;trackList&quot;,
+        __proto__: null,
+    },
+
+    MediaList: {
+        appendMedium: &quot;[newMedium]&quot;,
+        deleteMedium: &quot;[oldMedium]&quot;,
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    MediaQueryList: {
+        addListener: &quot;[listener]&quot;,
+        removeListener: &quot;[listener]&quot;,
+        __proto__: null,
+    },
+
+    MediaQueryListListener: {
+        queryChanged: &quot;[list]&quot;,
+        __proto__: null,
+    },
+
+    MediaSource: {
+        addSourceBuffer: &quot;type&quot;,
+        endOfStream: &quot;[error]&quot;,
+        removeSourceBuffer: &quot;buffer&quot;,
+        __proto__: null,
+    },
+
+    MediaStreamTrack: {
+        applyConstraints: &quot;constraints&quot;,
+        __proto__: null,
+    },
+
+    MediaStreamTrackSourcesCallback: {
+        handleEvent: &quot;sources&quot;,
+        __proto__: null,
+    },
+
+    MessageEvent: {
+        initMessageEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [dataArg], [originArg], [lastEventIdArg], [sourceArg], [messagePorts]&quot;,
+        webkitInitMessageEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [dataArg], [originArg], [lastEventIdArg], [sourceArg], [transferables]&quot;,
+        __proto__: null,
+    },
+
+    MessagePort: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    MimeTypeArray: {
+        item: &quot;[index]&quot;,
+        namedItem: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    MouseEvent: {
+        initMouseEvent: &quot;[type], [canBubble], [cancelable], [view], [detail], [screenX], [screenY], [clientX], [clientY], [ctrlKey], [altKey], [shiftKey], [metaKey], [button], [relatedTarget]&quot;,
+        __proto__: null,
+    },
+
+    MutationEvent: {
+        initMutationEvent: &quot;[type], [canBubble], [cancelable], [relatedNode], [prevValue], [newValue], [attrName], [attrChange]&quot;,
+        __proto__: null,
+    },
+
+    MutationObserver: {
+        observe: &quot;target, options&quot;,
+        __proto__: null,
+    },
+
+    NamedNodeMap: {
+        getNamedItem: &quot;[name]&quot;,
+        getNamedItemNS: &quot;[namespaceURI], [localName]&quot;,
+        item: &quot;[index]&quot;,
+        removeNamedItem: &quot;[name]&quot;,
+        removeNamedItemNS: &quot;[namespaceURI], [localName]&quot;,
+        setNamedItem: &quot;[node]&quot;,
+        setNamedItemNS: &quot;[node]&quot;,
+        __proto__: null,
+    },
+
+    Navigator: {
+        webkitGetUserMedia: &quot;options, successCallback, [errorCallback]&quot;,
+        __proto__: null,
+    },
+
+    NavigatorUserMediaErrorCallback: {
+        handleEvent: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    NavigatorUserMediaSuccessCallback: {
+        handleEvent: &quot;stream&quot;,
+        __proto__: null,
+    },
+
+    NodeFilter: {
+        acceptNode: &quot;[n]&quot;,
+        __proto__: null,
+    },
+
+    NodeList: {
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    Notification: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    NotificationCenter: {
+        createNotification: &quot;iconUrl, title, body&quot;,
+        requestPermission: &quot;[callback]&quot;,
+        __proto__: null,
+    },
+
+    NotificationPermissionCallback: {
+        handleEvent: &quot;permission&quot;,
+        __proto__: null,
+    },
+
+    OESVertexArrayObject: {
+        bindVertexArrayOES: &quot;[arrayObject]&quot;,
+        deleteVertexArrayOES: &quot;[arrayObject]&quot;,
+        isVertexArrayOES: &quot;[arrayObject]&quot;,
+        __proto__: null,
+    },
+
+    OscillatorNode: {
+        noteOff: &quot;when&quot;,
+        noteOn: &quot;when&quot;,
+        setPeriodicWave: &quot;wave&quot;,
+        start: &quot;[when]&quot;,
+        stop: &quot;[when]&quot;,
+        __proto__: null,
+    },
+
+    Path2D: {
+        addPath: &quot;path, [transform]&quot;,
+        arc: &quot;[x], [y], [radius], [startAngle], [endAngle], [anticlockwise]&quot;,
+        arcTo: &quot;[x1], [y1], [x2], [y2], [radius]&quot;,
+        bezierCurveTo: &quot;[cp1x], [cp1y], [cp2x], [cp2y], [x], [y]&quot;,
+        ellipse: &quot;x, y, radiusX, radiusY, rotation, startAngle, endAngle, [anticlockwise]&quot;,
+        lineTo: &quot;[x], [y]&quot;,
+        moveTo: &quot;[x], [y]&quot;,
+        quadraticCurveTo: &quot;[cpx], [cpy], [x], [y]&quot;,
+        rect: &quot;[x], [y], [width], [height]&quot;,
+        __proto__: null,
+    },
+
+    Plugin: {
+        item: &quot;[index]&quot;,
+        namedItem: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    PluginArray: {
+        item: &quot;[index]&quot;,
+        namedItem: &quot;[name]&quot;,
+        refresh: &quot;[reload]&quot;,
+        __proto__: null,
+    },
+
+    PositionCallback: {
+        handleEvent: &quot;position&quot;,
+        __proto__: null,
+    },
+
+    PositionErrorCallback: {
+        handleEvent: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    QuickTimePluginReplacement: {
+        postEvent: &quot;eventName&quot;,
+        __proto__: null,
+    },
+
+    RTCDTMFSender: {
+        insertDTMF: &quot;tones, [duration], [interToneGap]&quot;,
+        __proto__: null,
+    },
+
+    RTCDataChannel: {
+        send: &quot;data&quot;,
+        __proto__: null,
+    },
+
+    RTCPeerConnectionErrorCallback: {
+        handleEvent: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    RTCSessionDescriptionCallback: {
+        handleEvent: &quot;sdp&quot;,
+        __proto__: null,
+    },
+
+    RTCStatsCallback: {
+        handleEvent: &quot;response&quot;,
+        __proto__: null,
+    },
+
+    RTCStatsReport: {
+        stat: &quot;name&quot;,
+        __proto__: null,
+    },
+
+    RTCStatsResponse: {
+        namedItem: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    Range: {
+        collapse: &quot;[toStart]&quot;,
+        compareBoundaryPoints: &quot;[how], [sourceRange]&quot;,
+        compareNode: &quot;[refNode]&quot;,
+        comparePoint: &quot;[refNode], [offset]&quot;,
+        createContextualFragment: &quot;[html]&quot;,
+        expand: &quot;[unit]&quot;,
+        insertNode: &quot;[newNode]&quot;,
+        intersectsNode: &quot;[refNode]&quot;,
+        isPointInRange: &quot;[refNode], [offset]&quot;,
+        selectNode: &quot;[refNode]&quot;,
+        selectNodeContents: &quot;[refNode]&quot;,
+        setEnd: &quot;[refNode], [offset]&quot;,
+        setEndAfter: &quot;[refNode]&quot;,
+        setEndBefore: &quot;[refNode]&quot;,
+        setStart: &quot;[refNode], [offset]&quot;,
+        setStartAfter: &quot;[refNode]&quot;,
+        setStartBefore: &quot;[refNode]&quot;,
+        surroundContents: &quot;[newParent]&quot;,
+        __proto__: null,
+    },
+
+    ReadableStream: {
+        cancel: &quot;reason&quot;,
+        pipeThrough: &quot;dest, options&quot;,
+        pipeTo: &quot;streams, options&quot;,
+        __proto__: null,
+    },
+
+    RequestAnimationFrameCallback: {
+        handleEvent: &quot;highResTime&quot;,
+        __proto__: null,
+    },
+
+    SQLResultSetRowList: {
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    SQLStatementCallback: {
+        handleEvent: &quot;transaction, resultSet&quot;,
+        __proto__: null,
+    },
+
+    SQLStatementErrorCallback: {
+        handleEvent: &quot;transaction, error&quot;,
+        __proto__: null,
+    },
+
+    SQLTransaction: {
+        executeSql: &quot;sqlStatement, arguments, [callback], [errorCallback]&quot;,
+        __proto__: null,
+    },
+
+    SQLTransactionCallback: {
+        handleEvent: &quot;transaction&quot;,
+        __proto__: null,
+    },
+
+    SQLTransactionErrorCallback: {
+        handleEvent: &quot;error&quot;,
+        __proto__: null,
+    },
+
+    SVGAngle: {
+        convertToSpecifiedUnits: &quot;unitType&quot;,
+        newValueSpecifiedUnits: &quot;unitType, valueInSpecifiedUnits&quot;,
+        __proto__: null,
+    },
+
+    SVGAnimationElement: {
+        beginElementAt: &quot;[offset]&quot;,
+        endElementAt: &quot;[offset]&quot;,
+        hasExtension: &quot;[extension]&quot;,
+        __proto__: null,
+    },
+
+    SVGColor: {
+        setColor: &quot;colorType, rgbColor, iccColor&quot;,
+        setRGBColor: &quot;rgbColor&quot;,
+        setRGBColorICCColor: &quot;rgbColor, iccColor&quot;,
+        __proto__: null,
+    },
+
+    SVGCursorElement: {
+        hasExtension: &quot;[extension]&quot;,
+        __proto__: null,
+    },
+
+    SVGDocument: {
+        createEvent: &quot;[eventType]&quot;,
+        __proto__: null,
+    },
+
+    SVGElement: {
+        getPresentationAttribute: &quot;[name]&quot;,
+        __proto__: null,
+    },
+
+    SVGFEDropShadowElement: {
+        setStdDeviation: &quot;[stdDeviationX], [stdDeviationY]&quot;,
+        __proto__: null,
+    },
+
+    SVGFEGaussianBlurElement: {
+        setStdDeviation: &quot;[stdDeviationX], [stdDeviationY]&quot;,
+        __proto__: null,
+    },
+
+    SVGFEMorphologyElement: {
+        setRadius: &quot;[radiusX], [radiusY]&quot;,
+        __proto__: null,
+    },
+
+    SVGFilterElement: {
+        setFilterRes: &quot;[filterResX], [filterResY]&quot;,
+        __proto__: null,
+    },
+
+    SVGGraphicsElement: {
+        getTransformToElement: &quot;[element]&quot;,
+        hasExtension: &quot;[extension]&quot;,
+        __proto__: null,
+    },
+
+    SVGLength: {
+        convertToSpecifiedUnits: &quot;unitType&quot;,
+        newValueSpecifiedUnits: &quot;unitType, valueInSpecifiedUnits&quot;,
+        __proto__: null,
+    },
+
+    SVGLengthList: {
+        appendItem: &quot;item&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;item&quot;,
+        insertItemBefore: &quot;item, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;item, index&quot;,
+        __proto__: null,
+    },
+
+    SVGMarkerElement: {
+        setOrientToAngle: &quot;[angle]&quot;,
+        __proto__: null,
+    },
+
+    SVGMaskElement: {
+        hasExtension: &quot;[extension]&quot;,
+        __proto__: null,
+    },
+
+    SVGMatrix: {
+        multiply: &quot;secondMatrix&quot;,
+        rotate: &quot;angle&quot;,
+        rotateFromVector: &quot;x, y&quot;,
+        scale: &quot;scaleFactor&quot;,
+        scaleNonUniform: &quot;scaleFactorX, scaleFactorY&quot;,
+        skewX: &quot;angle&quot;,
+        skewY: &quot;angle&quot;,
+        translate: &quot;x, y&quot;,
+        __proto__: null,
+    },
+
+    SVGNumberList: {
+        appendItem: &quot;item&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;item&quot;,
+        insertItemBefore: &quot;item, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;item, index&quot;,
+        __proto__: null,
+    },
+
+    SVGPaint: {
+        setPaint: &quot;paintType, uri, rgbColor, iccColor&quot;,
+        setUri: &quot;uri&quot;,
+        __proto__: null,
+    },
+
+    SVGPathElement: {
+        createSVGPathSegArcAbs: &quot;[x], [y], [r1], [r2], [angle], [largeArcFlag], [sweepFlag]&quot;,
+        createSVGPathSegArcRel: &quot;[x], [y], [r1], [r2], [angle], [largeArcFlag], [sweepFlag]&quot;,
+        createSVGPathSegCurvetoCubicAbs: &quot;[x], [y], [x1], [y1], [x2], [y2]&quot;,
+        createSVGPathSegCurvetoCubicRel: &quot;[x], [y], [x1], [y1], [x2], [y2]&quot;,
+        createSVGPathSegCurvetoCubicSmoothAbs: &quot;[x], [y], [x2], [y2]&quot;,
+        createSVGPathSegCurvetoCubicSmoothRel: &quot;[x], [y], [x2], [y2]&quot;,
+        createSVGPathSegCurvetoQuadraticAbs: &quot;[x], [y], [x1], [y1]&quot;,
+        createSVGPathSegCurvetoQuadraticRel: &quot;[x], [y], [x1], [y1]&quot;,
+        createSVGPathSegCurvetoQuadraticSmoothAbs: &quot;[x], [y]&quot;,
+        createSVGPathSegCurvetoQuadraticSmoothRel: &quot;[x], [y]&quot;,
+        createSVGPathSegLinetoAbs: &quot;[x], [y]&quot;,
+        createSVGPathSegLinetoHorizontalAbs: &quot;[x]&quot;,
+        createSVGPathSegLinetoHorizontalRel: &quot;[x]&quot;,
+        createSVGPathSegLinetoRel: &quot;[x], [y]&quot;,
+        createSVGPathSegLinetoVerticalAbs: &quot;[y]&quot;,
+        createSVGPathSegLinetoVerticalRel: &quot;[y]&quot;,
+        createSVGPathSegMovetoAbs: &quot;[x], [y]&quot;,
+        createSVGPathSegMovetoRel: &quot;[x], [y]&quot;,
+        getPathSegAtLength: &quot;[distance]&quot;,
+        getPointAtLength: &quot;[distance]&quot;,
+        __proto__: null,
+    },
+
+    SVGPathSegList: {
+        appendItem: &quot;newItem&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;newItem&quot;,
+        insertItemBefore: &quot;newItem, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;newItem, index&quot;,
+        __proto__: null,
+    },
+
+    SVGPatternElement: {
+        hasExtension: &quot;[extension]&quot;,
+        __proto__: null,
+    },
+
+    SVGPoint: {
+        matrixTransform: &quot;matrix&quot;,
+        __proto__: null,
+    },
+
+    SVGPointList: {
+        appendItem: &quot;item&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;item&quot;,
+        insertItemBefore: &quot;item, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;item, index&quot;,
+        __proto__: null,
+    },
+
+    SVGSVGElement: {
+        checkEnclosure: &quot;[element], [rect]&quot;,
+        checkIntersection: &quot;[element], [rect]&quot;,
+        createSVGTransformFromMatrix: &quot;[matrix]&quot;,
+        getElementById: &quot;[elementId]&quot;,
+        getEnclosureList: &quot;[rect], [referenceElement]&quot;,
+        getIntersectionList: &quot;[rect], [referenceElement]&quot;,
+        setCurrentTime: &quot;[seconds]&quot;,
+        suspendRedraw: &quot;[maxWaitMilliseconds]&quot;,
+        unsuspendRedraw: &quot;[suspendHandleId]&quot;,
+        __proto__: null,
+    },
+
+    SVGStringList: {
+        appendItem: &quot;item&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;item&quot;,
+        insertItemBefore: &quot;item, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;item, index&quot;,
+        __proto__: null,
+    },
+
+    SVGTextContentElement: {
+        getCharNumAtPosition: &quot;[point]&quot;,
+        getEndPositionOfChar: &quot;[offset]&quot;,
+        getExtentOfChar: &quot;[offset]&quot;,
+        getRotationOfChar: &quot;[offset]&quot;,
+        getStartPositionOfChar: &quot;[offset]&quot;,
+        getSubStringLength: &quot;[offset], [length]&quot;,
+        selectSubString: &quot;[offset], [length]&quot;,
+        __proto__: null,
+    },
+
+    SVGTransform: {
+        setMatrix: &quot;matrix&quot;,
+        setRotate: &quot;angle, cx, cy&quot;,
+        setScale: &quot;sx, sy&quot;,
+        setSkewX: &quot;angle&quot;,
+        setSkewY: &quot;angle&quot;,
+        setTranslate: &quot;tx, ty&quot;,
+        __proto__: null,
+    },
+
+    SVGTransformList: {
+        appendItem: &quot;item&quot;,
+        createSVGTransformFromMatrix: &quot;matrix&quot;,
+        getItem: &quot;index&quot;,
+        initialize: &quot;item&quot;,
+        insertItemBefore: &quot;item, index&quot;,
+        removeItem: &quot;index&quot;,
+        replaceItem: &quot;item, index&quot;,
+        __proto__: null,
+    },
+
+    SecurityPolicy: {
+        allowsConnectionTo: &quot;url&quot;,
+        allowsFontFrom: &quot;url&quot;,
+        allowsFormAction: &quot;url&quot;,
+        allowsFrameFrom: &quot;url&quot;,
+        allowsImageFrom: &quot;url&quot;,
+        allowsMediaFrom: &quot;url&quot;,
+        allowsObjectFrom: &quot;url&quot;,
+        allowsPluginType: &quot;type&quot;,
+        allowsScriptFrom: &quot;url&quot;,
+        allowsStyleFrom: &quot;url&quot;,
+        __proto__: null,
+    },
+
+    Selection: {
+        addRange: &quot;[range]&quot;,
+        collapse: &quot;[node], [index]&quot;,
+        containsNode: &quot;[node], [allowPartial]&quot;,
+        extend: &quot;[node], [offset]&quot;,
+        getRangeAt: &quot;[index]&quot;,
+        modify: &quot;[alter], [direction], [granularity]&quot;,
+        selectAllChildren: &quot;[node]&quot;,
+        setBaseAndExtent: &quot;[baseNode], [baseOffset], [extentNode], [extentOffset]&quot;,
+        setPosition: &quot;[node], [offset]&quot;,
+        __proto__: null,
+    },
+
+    SourceBuffer: {
+        appendBuffer: &quot;data&quot;,
+        remove: &quot;start, end&quot;,
+        __proto__: null,
+    },
+
+    SourceBufferList: {
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    SpeechSynthesis: {
+        speak: &quot;utterance&quot;,
+        __proto__: null,
+    },
+
+    SpeechSynthesisUtterance: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
</ins><span class="cx">     Storage: {
</span><span class="cx">         getItem: &quot;key&quot;,
</span><span class="cx">         key: &quot;index&quot;,
</span><span class="cx">         removeItem: &quot;key&quot;,
</span><ins>+        setItem: &quot;key, data&quot;,
</ins><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    Location: {
-        assign: &quot;url&quot;,
-        reload: &quot;[force=false]&quot;,
-        replace: &quot;url&quot;,
</del><ins>+    StorageErrorCallback: {
+        handleEvent: &quot;error&quot;,
</ins><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    History: {
-        go: &quot;distance&quot;,
-        pushState: &quot;data, title, url&quot;,
-        replaceState: &quot;data, title, url&quot;,
</del><ins>+    StorageEvent: {
+        initStorageEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [keyArg], [oldValueArg], [newValueArg], [urlArg], [storageAreaArg]&quot;,
</ins><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><ins>+
+    StorageInfo: {
+        queryUsageAndQuota: &quot;storageType, [usageCallback], [errorCallback]&quot;,
+        requestQuota: &quot;storageType, newQuotaInBytes, [quotaCallback], [errorCallback]&quot;,
+        __proto__: null,
+    },
+
+    StorageQuota: {
+        queryUsageAndQuota: &quot;usageCallback, [errorCallback]&quot;,
+        requestQuota: &quot;newQuotaInBytes, [quotaCallback], [errorCallback]&quot;,
+        __proto__: null,
+    },
+
+    StorageQuotaCallback: {
+        handleEvent: &quot;grantedQuotaInBytes&quot;,
+        __proto__: null,
+    },
+
+    StorageUsageCallback: {
+        handleEvent: &quot;currentUsageInBytes, currentQuotaInBytes&quot;,
+        __proto__: null,
+    },
+
+    StringCallback: {
+        handleEvent: &quot;data&quot;,
+        __proto__: null,
+    },
+
+    StyleMedia: {
+        matchMedium: &quot;[mediaquery]&quot;,
+        __proto__: null,
+    },
+
+    StyleSheetList: {
+        item: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    Text: {
+        replaceWholeText: &quot;[content]&quot;,
+        splitText: &quot;offset&quot;,
+        __proto__: null,
+    },
+
+    TextEvent: {
+        initTextEvent: &quot;[typeArg], [canBubbleArg], [cancelableArg], [viewArg], [dataArg]&quot;,
+        __proto__: null,
+    },
+
+    TextTrack: {
+        addCue: &quot;cue&quot;,
+        addRegion: &quot;region&quot;,
+        removeCue: &quot;cue&quot;,
+        removeRegion: &quot;region&quot;,
+        __proto__: null,
+    },
+
+    TextTrackCue: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    TextTrackCueList: {
+        getCueById: &quot;id&quot;,
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    TextTrackList: {
+        getTrackById: &quot;id&quot;,
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    TimeRanges: {
+        end: &quot;index&quot;,
+        start: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    TouchEvent: {
+        initTouchEvent: &quot;[touches], [targetTouches], [changedTouches], [type], [view], [screenX], [screenY], [clientX], [clientY], [ctrlKey], [altKey], [shiftKey], [metaKey]&quot;,
+        __proto__: null,
+    },
+
+    TouchList: {
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    UIEvent: {
+        initUIEvent: &quot;[type], [canBubble], [cancelable], [view], [detail]&quot;,
+        __proto__: null,
+    },
+
+    UserMessageHandler: {
+        postMessage: &quot;message&quot;,
+        __proto__: null,
+    },
+
+    VTTRegionList: {
+        getRegionById: &quot;id&quot;,
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    VideoTrackList: {
+        getTrackById: &quot;id&quot;,
+        item: &quot;index&quot;,
+        __proto__: null,
+    },
+
+    WebGL2RenderingContext: {
+        beginQuery: &quot;target, query&quot;,
+        beginTransformFeedback: &quot;primitiveMode&quot;,
+        bindBufferBase: &quot;target, index, buffer&quot;,
+        bindBufferRange: &quot;target, index, buffer, offset, size&quot;,
+        bindSampler: &quot;unit, sampler&quot;,
+        bindTransformFeedback: &quot;target, id&quot;,
+        bindVertexArray: &quot;vertexArray&quot;,
+        blitFramebuffer: &quot;srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter&quot;,
+        clearBufferfi: &quot;buffer, drawbuffer, depth, stencil&quot;,
+        clearBufferfv: &quot;buffer, drawbuffer, value&quot;,
+        clearBufferiv: &quot;buffer, drawbuffer, value&quot;,
+        clearBufferuiv: &quot;buffer, drawbuffer, value&quot;,
+        clientWaitSync: &quot;sync, flags, timeout&quot;,
+        compressedTexImage3D: &quot;target, level, internalformat, width, height, depth, border, imageSize, data&quot;,
+        compressedTexSubImage3D: &quot;target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data&quot;,
+        copyBufferSubData: &quot;readTarget, writeTarget, readOffset, writeOffset, size&quot;,
+        copyTexSubImage3D: &quot;target, level, xoffset, yoffset, zoffset, x, y, width, height&quot;,
+        deleteQuery: &quot;query&quot;,
+        deleteSampler: &quot;sampler&quot;,
+        deleteSync: &quot;sync&quot;,
+        deleteTransformFeedback: &quot;id&quot;,
+        deleteVertexArray: &quot;vertexArray&quot;,
+        drawArraysInstanced: &quot;mode, first, count, instanceCount&quot;,
+        drawBuffers: &quot;buffers&quot;,
+        drawElementsInstanced: &quot;mode, count, type, offset, instanceCount&quot;,
+        drawRangeElements: &quot;mode, start, end, count, type, offset&quot;,
+        endQuery: &quot;target&quot;,
+        fenceSync: &quot;condition, flags&quot;,
+        framebufferTextureLayer: &quot;target, attachment, texture, level, layer&quot;,
+        getActiveUniformBlockName: &quot;program, uniformBlockIndex&quot;,
+        getActiveUniformBlockParameter: &quot;program, uniformBlockIndex, pname&quot;,
+        getActiveUniforms: &quot;program, uniformIndices, pname&quot;,
+        getBufferSubData: &quot;target, offset, returnedData&quot;,
+        getFragDataLocation: &quot;program, name&quot;,
+        getIndexedParameter: &quot;target, index&quot;,
+        getInternalformatParameter: &quot;target, internalformat, pname&quot;,
+        getQuery: &quot;target, pname&quot;,
+        getQueryParameter: &quot;query, pname&quot;,
+        getSamplerParameter: &quot;sampler, pname&quot;,
+        getSyncParameter: &quot;sync, pname&quot;,
+        getTransformFeedbackVarying: &quot;program, index&quot;,
+        getUniformBlockIndex: &quot;program, uniformBlockName&quot;,
+        getUniformIndices: &quot;program, uniformNames&quot;,
+        invalidateFramebuffer: &quot;target, attachments&quot;,
+        invalidateSubFramebuffer: &quot;target, attachments, x, y, width, height&quot;,
+        isQuery: &quot;query&quot;,
+        isSampler: &quot;sampler&quot;,
+        isSync: &quot;sync&quot;,
+        isTransformFeedback: &quot;id&quot;,
+        isVertexArray: &quot;vertexArray&quot;,
+        readBuffer: &quot;src&quot;,
+        renderbufferStorageMultisample: &quot;target, samples, internalformat, width, height&quot;,
+        samplerParameterf: &quot;sampler, pname, param&quot;,
+        samplerParameteri: &quot;sampler, pname, param&quot;,
+        texImage3D: &quot;target, level, internalformat, width, height, depth, border, format, type, pixels&quot;,
+        texStorage2D: &quot;target, levels, internalformat, width, height&quot;,
+        texStorage3D: &quot;target, levels, internalformat, width, height, depth&quot;,
+        texSubImage3D: &quot;target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels&quot;,
+        transformFeedbackVaryings: &quot;program, varyings, bufferMode&quot;,
+        uniform1ui: &quot;location, v0&quot;,
+        uniform1uiv: &quot;location, value&quot;,
+        uniform2ui: &quot;location, v0, v1&quot;,
+        uniform2uiv: &quot;location, value&quot;,
+        uniform3ui: &quot;location, v0, v1, v2&quot;,
+        uniform3uiv: &quot;location, value&quot;,
+        uniform4ui: &quot;location, v0, v1, v2, v3&quot;,
+        uniform4uiv: &quot;location, value&quot;,
+        uniformBlockBinding: &quot;program, uniformBlockIndex, uniformBlockBinding&quot;,
+        uniformMatrix2x3fv: &quot;location, transpose, value&quot;,
+        uniformMatrix2x4fv: &quot;location, transpose, value&quot;,
+        uniformMatrix3x2fv: &quot;location, transpose, value&quot;,
+        uniformMatrix3x4fv: &quot;location, transpose, value&quot;,
+        uniformMatrix4x2fv: &quot;location, transpose, value&quot;,
+        uniformMatrix4x3fv: &quot;location, transpose, value&quot;,
+        vertexAttribDivisor: &quot;index, divisor&quot;,
+        vertexAttribI4i: &quot;index, x, y, z, w&quot;,
+        vertexAttribI4iv: &quot;index, v&quot;,
+        vertexAttribI4ui: &quot;index, x, y, z, w&quot;,
+        vertexAttribI4uiv: &quot;index, v&quot;,
+        vertexAttribIPointer: &quot;index, size, type, stride, offset&quot;,
+        waitSync: &quot;sync, flags, timeout&quot;,
+        __proto__: null,
+    },
+
+    WebGLDebugShaders: {
+        getTranslatedShaderSource: &quot;shader&quot;,
+        __proto__: null,
+    },
+
+    WebGLDrawBuffers: {
+        drawBuffersWEBGL: &quot;buffers&quot;,
+        __proto__: null,
+    },
+
+    WebGLRenderingContextBase: {
+        activeTexture: &quot;texture&quot;,
+        attachShader: &quot;program, shader&quot;,
+        bindAttribLocation: &quot;program, index, name&quot;,
+        bindBuffer: &quot;target, buffer&quot;,
+        bindFramebuffer: &quot;target, framebuffer&quot;,
+        bindRenderbuffer: &quot;target, renderbuffer&quot;,
+        bindTexture: &quot;target, texture&quot;,
+        blendColor: &quot;red, green, blue, alpha&quot;,
+        blendEquation: &quot;mode&quot;,
+        blendEquationSeparate: &quot;modeRGB, modeAlpha&quot;,
+        blendFunc: &quot;sfactor, dfactor&quot;,
+        blendFuncSeparate: &quot;srcRGB, dstRGB, srcAlpha, dstAlpha&quot;,
+        bufferData: &quot;target, data, usage&quot;,
+        bufferSubData: &quot;target, offset, data&quot;,
+        checkFramebufferStatus: &quot;target&quot;,
+        clear: &quot;mask&quot;,
+        clearColor: &quot;red, green, blue, alpha&quot;,
+        clearDepth: &quot;depth&quot;,
+        clearStencil: &quot;s&quot;,
+        colorMask: &quot;red, green, blue, alpha&quot;,
+        compileShader: &quot;shader&quot;,
+        compressedTexImage2D: &quot;target, level, internalformat, width, height, border, data&quot;,
+        compressedTexSubImage2D: &quot;target, level, xoffset, yoffset, width, height, format, data&quot;,
+        copyTexImage2D: &quot;target, level, internalformat, x, y, width, height, border&quot;,
+        copyTexSubImage2D: &quot;target, level, xoffset, yoffset, x, y, width, height&quot;,
+        createShader: &quot;type&quot;,
+        cullFace: &quot;mode&quot;,
+        deleteBuffer: &quot;buffer&quot;,
+        deleteFramebuffer: &quot;framebuffer&quot;,
+        deleteProgram: &quot;program&quot;,
+        deleteRenderbuffer: &quot;renderbuffer&quot;,
+        deleteShader: &quot;shader&quot;,
+        deleteTexture: &quot;texture&quot;,
+        depthFunc: &quot;func&quot;,
+        depthMask: &quot;flag&quot;,
+        depthRange: &quot;zNear, zFar&quot;,
+        detachShader: &quot;program, shader&quot;,
+        disable: &quot;cap&quot;,
+        disableVertexAttribArray: &quot;index&quot;,
+        drawArrays: &quot;mode, first, count&quot;,
+        drawElements: &quot;mode, count, type, offset&quot;,
+        enable: &quot;cap&quot;,
+        enableVertexAttribArray: &quot;index&quot;,
+        framebufferRenderbuffer: &quot;target, attachment, renderbuffertarget, renderbuffer&quot;,
+        framebufferTexture2D: &quot;target, attachment, textarget, texture, level&quot;,
+        frontFace: &quot;mode&quot;,
+        generateMipmap: &quot;target&quot;,
+        getActiveAttrib: &quot;program, index&quot;,
+        getActiveUniform: &quot;program, index&quot;,
+        getAttachedShaders: &quot;program&quot;,
+        getAttribLocation: &quot;program, name&quot;,
+        getBufferParameter: &quot;target, pname&quot;,
+        getExtension: &quot;name&quot;,
+        getFramebufferAttachmentParameter: &quot;target, attachment, pname&quot;,
+        getParameter: &quot;pname&quot;,
+        getProgramInfoLog: &quot;program&quot;,
+        getProgramParameter: &quot;program, pname&quot;,
+        getRenderbufferParameter: &quot;target, pname&quot;,
+        getShaderInfoLog: &quot;shader&quot;,
+        getShaderParameter: &quot;shader, pname&quot;,
+        getShaderPrecisionFormat: &quot;shadertype, precisiontype&quot;,
+        getShaderSource: &quot;shader&quot;,
+        getTexParameter: &quot;target, pname&quot;,
+        getUniform: &quot;program, location&quot;,
+        getUniformLocation: &quot;program, name&quot;,
+        getVertexAttrib: &quot;index, pname&quot;,
+        getVertexAttribOffset: &quot;index, pname&quot;,
+        hint: &quot;target, mode&quot;,
+        isBuffer: &quot;buffer&quot;,
+        isEnabled: &quot;cap&quot;,
+        isFramebuffer: &quot;framebuffer&quot;,
+        isProgram: &quot;program&quot;,
+        isRenderbuffer: &quot;renderbuffer&quot;,
+        isShader: &quot;shader&quot;,
+        isTexture: &quot;texture&quot;,
+        lineWidth: &quot;width&quot;,
+        linkProgram: &quot;program&quot;,
+        pixelStorei: &quot;pname, param&quot;,
+        polygonOffset: &quot;factor, units&quot;,
+        readPixels: &quot;x, y, width, height, format, type, pixels&quot;,
+        renderbufferStorage: &quot;target, internalformat, width, height&quot;,
+        sampleCoverage: &quot;value, invert&quot;,
+        scissor: &quot;x, y, width, height&quot;,
+        shaderSource: &quot;shader, string&quot;,
+        stencilFunc: &quot;func, ref, mask&quot;,
+        stencilFuncSeparate: &quot;face, func, ref, mask&quot;,
+        stencilMask: &quot;mask&quot;,
+        stencilMaskSeparate: &quot;face, mask&quot;,
+        stencilOp: &quot;fail, zfail, zpass&quot;,
+        stencilOpSeparate: &quot;face, fail, zfail, zpass&quot;,
+        texImage2D: &quot;target, level, internalformat, width, height, border, format, type, pixels&quot;,
+        texParameterf: &quot;target, pname, param&quot;,
+        texParameteri: &quot;target, pname, param&quot;,
+        texSubImage2D: &quot;target, level, xoffset, yoffset, width, height, format, type, pixels&quot;,
+        uniform1f: &quot;location, x&quot;,
+        uniform1fv: &quot;location, v&quot;,
+        uniform1i: &quot;location, x&quot;,
+        uniform1iv: &quot;location, v&quot;,
+        uniform2f: &quot;location, x, y&quot;,
+        uniform2fv: &quot;location, v&quot;,
+        uniform2i: &quot;location, x, y&quot;,
+        uniform2iv: &quot;location, v&quot;,
+        uniform3f: &quot;location, x, y, z&quot;,
+        uniform3fv: &quot;location, v&quot;,
+        uniform3i: &quot;location, x, y, z&quot;,
+        uniform3iv: &quot;location, v&quot;,
+        uniform4f: &quot;location, x, y, z, w&quot;,
+        uniform4fv: &quot;location, v&quot;,
+        uniform4i: &quot;location, x, y, z, w&quot;,
+        uniform4iv: &quot;location, v&quot;,
+        uniformMatrix2fv: &quot;location, transpose, array&quot;,
+        uniformMatrix3fv: &quot;location, transpose, array&quot;,
+        uniformMatrix4fv: &quot;location, transpose, array&quot;,
+        useProgram: &quot;program&quot;,
+        validateProgram: &quot;program&quot;,
+        vertexAttrib1f: &quot;indx, x&quot;,
+        vertexAttrib1fv: &quot;indx, values&quot;,
+        vertexAttrib2f: &quot;indx, x, y&quot;,
+        vertexAttrib2fv: &quot;indx, values&quot;,
+        vertexAttrib3f: &quot;indx, x, y, z&quot;,
+        vertexAttrib3fv: &quot;indx, values&quot;,
+        vertexAttrib4f: &quot;indx, x, y, z, w&quot;,
+        vertexAttrib4fv: &quot;indx, values&quot;,
+        vertexAttribPointer: &quot;indx, size, type, normalized, stride, offset&quot;,
+        viewport: &quot;x, y, width, height&quot;,
+        __proto__: null,
+    },
+
+    WebKitCSSMatrix: {
+        multiply: &quot;[secondMatrix]&quot;,
+        rotate: &quot;[rotX], [rotY], [rotZ]&quot;,
+        rotateAxisAngle: &quot;[x], [y], [z], [angle]&quot;,
+        scale: &quot;[scaleX], [scaleY], [scaleZ]&quot;,
+        setMatrixValue: &quot;[string]&quot;,
+        skewX: &quot;[angle]&quot;,
+        skewY: &quot;[angle]&quot;,
+        translate: &quot;[x], [y], [z]&quot;,
+        __proto__: null,
+    },
+
+    WebKitMediaKeySession: {
+        update: &quot;key&quot;,
+        __proto__: null,
+    },
+
+    WebKitMediaKeys: {
+        createSession: &quot;[type], [initData]&quot;,
+        __proto__: null,
+    },
+
+    WebKitNamedFlow: {
+        getRegionsByContent: &quot;contentNode&quot;,
+        __proto__: null,
+    },
+
+    WebKitNamedFlowCollection: {
+        item: &quot;index&quot;,
+        namedItem: &quot;name&quot;,
+        __proto__: null,
+    },
+
+    WebKitSubtleCrypto: {
+        decrypt: &quot;algorithm, key, data&quot;,
+        digest: &quot;algorithm, data&quot;,
+        encrypt: &quot;algorithm, key, data&quot;,
+        exportKey: &quot;format, key&quot;,
+        generateKey: &quot;algorithm, [extractable], [keyUsages]&quot;,
+        importKey: &quot;format, keyData, algorithm, [extractable], [keyUsages]&quot;,
+        sign: &quot;algorithm, key, data&quot;,
+        unwrapKey: &quot;format, wrappedKey, unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, [extractable], [keyUsages]&quot;,
+        verify: &quot;algorithm, key, signature, data&quot;,
+        wrapKey: &quot;format, key, wrappingKey, wrapAlgorithm&quot;,
+        __proto__: null,
+    },
+
+    WebSocket: {
+        close: &quot;[code], [reason]&quot;,
+        send: &quot;data&quot;,
+        __proto__: null,
+    },
+
+    WheelEvent: {
+        initWebKitWheelEvent: &quot;[wheelDeltaX], [wheelDeltaY], [view], [screenX], [screenY], [clientX], [clientY], [ctrlKey], [altKey], [shiftKey], [metaKey]&quot;,
+        __proto__: null,
+    },
+
+    Worker: {
+        postMessage: &quot;message, [messagePorts]&quot;,
+        __proto__: null,
+    },
+
+    WorkerGlobalScope: {
+        clearInterval: &quot;[handle]&quot;,
+        clearTimeout: &quot;[handle]&quot;,
+        setInterval: &quot;handler, [timeout]&quot;,
+        setTimeout: &quot;handler, [timeout]&quot;,
+        __proto__: null,
+    },
+
+    XMLHttpRequest: {
+        getResponseHeader: &quot;header&quot;,
+        open: &quot;method, url, [async], [user], [password]&quot;,
+        overrideMimeType: &quot;override&quot;,
+        setRequestHeader: &quot;header, value&quot;,
+        __proto__: null,
+    },
+
+    XMLHttpRequestUpload: {
+        /* EventTarget */
+        __proto__: null,
+    },
+
+    XMLSerializer: {
+        serializeToString: &quot;[node]&quot;,
+        __proto__: null,
+    },
+
+    XPathEvaluator: {
+        createExpression: &quot;[expression], [resolver]&quot;,
+        createNSResolver: &quot;[nodeResolver]&quot;,
+        evaluate: &quot;[expression], [contextNode], [resolver], [type], [inResult]&quot;,
+        __proto__: null,
+    },
+
+    XPathExpression: {
+        evaluate: &quot;[contextNode], [type], [inResult]&quot;,
+        __proto__: null,
+    },
+
+    XPathNSResolver: {
+        lookupNamespaceURI: &quot;[prefix]&quot;,
+        __proto__: null,
+    },
+
+    XPathResult: {
+        snapshotItem: &quot;[index]&quot;,
+        __proto__: null,
+    },
+
+    XSLTProcessor: {
+        getParameter: &quot;namespaceURI, localName&quot;,
+        importStylesheet: &quot;[stylesheet]&quot;,
+        removeParameter: &quot;namespaceURI, localName&quot;,
+        setParameter: &quot;namespaceURI, localName, value&quot;,
+        transformToDocument: &quot;[source]&quot;,
+        transformToFragment: &quot;[source], [docVal]&quot;,
+        __proto__: null,
+    },
+
+    webkitAudioContext: {
+        createBuffer: &quot;numberOfChannels, numberOfFrames, sampleRate&quot;,
+        createChannelMerger: &quot;[numberOfInputs]&quot;,
+        createChannelSplitter: &quot;[numberOfOutputs]&quot;,
+        createDelay: &quot;[maxDelayTime]&quot;,
+        createDelayNode: &quot;[maxDelayTime]&quot;,
+        createJavaScriptNode: &quot;bufferSize, [numberOfInputChannels], [numberOfOutputChannels]&quot;,
+        createMediaElementSource: &quot;mediaElement&quot;,
+        createPeriodicWave: &quot;real, imag&quot;,
+        createScriptProcessor: &quot;bufferSize, [numberOfInputChannels], [numberOfOutputChannels]&quot;,
+        decodeAudioData: &quot;audioData, successCallback, [errorCallback]&quot;,
+        __proto__: null,
+    },
+
+    webkitAudioPannerNode: {
+        setOrientation: &quot;x, y, z&quot;,
+        setPosition: &quot;x, y, z&quot;,
+        setVelocity: &quot;x, y, z&quot;,
+        __proto__: null,
+    },
+
+    webkitMediaStream: {
+        addTrack: &quot;track&quot;,
+        getTrackById: &quot;trackId&quot;,
+        removeTrack: &quot;track&quot;,
+        __proto__: null,
+    },
+
+    webkitRTCPeerConnection: {
+        addIceCandidate: &quot;candidate, successCallback, failureCallback&quot;,
+        addStream: &quot;stream&quot;,
+        createAnswer: &quot;successCallback, failureCallback, [answerOptions]&quot;,
+        createDTMFSender: &quot;track&quot;,
+        createDataChannel: &quot;label, [options]&quot;,
+        createOffer: &quot;successCallback, failureCallback, [offerOptions]&quot;,
+        getStats: &quot;successCallback, failureCallback, [selector]&quot;,
+        getStreamById: &quot;streamId&quot;,
+        removeStream: &quot;stream&quot;,
+        setLocalDescription: &quot;description, successCallback, failureCallback&quot;,
+        setRemoteDescription: &quot;description, successCallback, failureCallback&quot;,
+        updateIce: &quot;configuration&quot;,
+        __proto__: null,
+    },
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.NativePrototypeFunctionParameters.WeakMap = WebInspector.NativePrototypeFunctionParameters.Map;
</span><span class="lines">@@ -434,11 +2073,20 @@
</span><span class="cx">         dispatchEvent: &quot;event&quot;,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    mixin(WebInspector.NativePrototypeFunctionParameters.Node, EventTarget);
-    mixin(WebInspector.NativePrototypeFunctionParameters.Window, EventTarget);
</del><ins>+    var eventTargetTypes = [
+        &quot;Node&quot;, &quot;Window&quot;,
+        &quot;AudioNode&quot;, &quot;AudioTrackList&quot;, &quot;DOMApplicationCache&quot;, &quot;FileReader&quot;, &quot;FontLoader&quot;,
+        &quot;MediaController&quot;, &quot;MediaStreamTrack&quot;, &quot;MessagePort&quot;, &quot;Notification&quot;, &quot;RTCDTMFSender&quot;,
+        &quot;SpeechSynthesisUtterance&quot;, &quot;TextTrack&quot;, &quot;TextTrackCue&quot;, &quot;TextTrackList&quot;,
+        &quot;VideoTrackList&quot;, &quot;WebKitMediaKeySession&quot;, &quot;WebKitNamedFlow&quot;, &quot;WebSocket&quot;,
+        &quot;WorkerGlobalScope&quot;, &quot;XMLHttpRequest&quot;, &quot;webkitMediaStream&quot;, &quot;webkitRTCPeerConnection&quot;
+    ];
</ins><span class="cx"> 
</span><ins>+    for (var type of eventTargetTypes)
+        mixin(WebInspector.NativePrototypeFunctionParameters[type], EventTarget);
+
</ins><span class="cx">     var ElementQueries = {
</span><del>-        getElementsByClassName: &quot;names&quot;,
</del><ins>+        getElementsByClassName: &quot;classNames&quot;,
</ins><span class="cx">         getElementsByTagName: &quot;tagName&quot;,
</span><span class="cx">         getElementsByTagNameNS: &quot;namespace, localName&quot;,
</span><span class="cx">         querySelector: &quot;selectors&quot;,
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreePropertyTreeElementjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js (181613 => 181614)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js        2015-03-17 04:41:34 UTC (rev 181613)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js        2015-03-17 04:41:36 UTC (rev 181614)
</span><span class="lines">@@ -270,8 +270,17 @@
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">             }
</span><del>-        }        
</del><span class="cx"> 
</span><ins>+            // Native DOM constructor.
+            if (this._propertyPath.object.description.endsWith(&quot;Constructor&quot;)) {
+                var name = this._propertyPath.object.description;
+                if (WebInspector.NativeConstructorFunctionParameters[name]) {
+                    var params = WebInspector.NativeConstructorFunctionParameters[name][this._property.name];
+                    return params ? &quot;(&quot; + params + &quot;)&quot; : &quot;()&quot;;
+                }
+            }
+        }
+
</ins><span class="cx">         var match = resolvedValue.description.match(/^function.*?(\([^)]+?\))/);
</span><span class="cx">         return match ? match[1] : &quot;()&quot;;
</span><span class="cx">     },
</span></span></pre>
</div>
</div>

</body>
</html>