Web Inspector: replace Canvas stack iteration with createScriptCallStack
authorwebkit@devinrousso.com <webkit@devinrousso.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Oct 2017 08:06:07 +0000 (08:06 +0000)
committerwebkit@devinrousso.com <webkit@devinrousso.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Oct 2017 08:06:07 +0000 (08:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=178980

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, updated existing tests.

* inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::buildAction):
(WebCore::iterateCallFrames): Deleted.

LayoutTests:

* inspector/canvas/create-context-2d-expected.txt:
* inspector/canvas/create-context-webgl-expected.txt:
* inspector/canvas/create-context-webgl2-expected.txt:
* inspector/canvas/create-context-webgpu-expected.txt:
* inspector/canvas/recording-2d-expected.txt:
* inspector/canvas/recording-webgl-expected.txt:
* inspector/canvas/recording-webgl-snapshots-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/inspector/canvas/create-context-2d-expected.txt
LayoutTests/inspector/canvas/create-context-webgl-expected.txt
LayoutTests/inspector/canvas/create-context-webgl2-expected.txt
LayoutTests/inspector/canvas/create-context-webgpu-expected.txt
LayoutTests/inspector/canvas/recording-2d-expected.txt
LayoutTests/inspector/canvas/recording-webgl-expected.txt
LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/inspector/InspectorCanvas.cpp

index 42aae93..563e3db 100644 (file)
@@ -1,3 +1,18 @@
+2017-10-31  Devin Rousso  <webkit@devinrousso.com>
+
+        Web Inspector: replace Canvas stack iteration with createScriptCallStack
+        https://bugs.webkit.org/show_bug.cgi?id=178980
+
+        Reviewed by Joseph Pecoraro.
+
+        * inspector/canvas/create-context-2d-expected.txt:
+        * inspector/canvas/create-context-webgl-expected.txt:
+        * inspector/canvas/create-context-webgl2-expected.txt:
+        * inspector/canvas/create-context-webgpu-expected.txt:
+        * inspector/canvas/recording-2d-expected.txt:
+        * inspector/canvas/recording-webgl-expected.txt:
+        * inspector/canvas/recording-webgl-snapshots-expected.txt:
+
 2017-10-30  Chris Dumez  <cdumez@apple.com>
 
         Fire updatefound event after resolving the registration promise
index b5b3acd..f3c8b75 100644 (file)
@@ -7,32 +7,35 @@ PASS: CanvasManager should have no canvases.
 
 -- Running test case: Canvas.CreateContext2D.Attached
 PASS: Canvas context should be 2D.
-  0: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContext2D.Detached
 PASS: Canvas context should be 2D.
-  0: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContext2D.CSSCanvas
 Create CSS canvas from -webkit-canvas(css-canvas).
 PASS: Canvas context should be 2D.
-  0: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getCSSCanvasContext - [native code]
+  1: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Canvas name should equal the identifier passed to -webkit-canvas.
 
index 89fc1ec..4fa9440 100644 (file)
@@ -7,32 +7,35 @@ PASS: CanvasManager should have no canvases.
 
 -- Running test case: Canvas.CreateContextWebGL.Attached
 PASS: Canvas context should be WebGL.
-  0: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGL.Detached
 PASS: Canvas context should be WebGL.
-  0: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGL.CSSCanvas
 Create CSS canvas from -webkit-canvas(css-canvas).
 PASS: Canvas context should be WebGL.
-  0: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getCSSCanvasContext - [native code]
+  1: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Canvas name should equal the identifier passed to -webkit-canvas.
 
index 3c1e139..e02d886 100644 (file)
@@ -7,32 +7,35 @@ PASS: CanvasManager should have no canvases.
 
 -- Running test case: Canvas.CreateContextWebGL2.Attached
 PASS: Canvas context should be WebGL2.
-  0: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGL2.Detached
 PASS: Canvas context should be WebGL2.
-  0: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGL2.CSSCanvas
 Create CSS canvas from -webkit-canvas(css-canvas).
 PASS: Canvas context should be WebGL2.
-  0: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getCSSCanvasContext - [native code]
+  1: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Canvas name should equal the identifier passed to -webkit-canvas.
 
index 4f0d351..8443ce5 100644 (file)
@@ -7,32 +7,35 @@ PASS: CanvasManager should have no canvases.
 
 -- Running test case: Canvas.CreateContextWebGPU.Attached
 PASS: Canvas context should be WebGPU.
-  0: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createAttachedCanvas - inspector/canvas/resources/create-context-utilities.js:4:36
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGPU.Detached
 PASS: Canvas context should be WebGPU.
-  0: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getContext - [native code]
+  1: createDetachedCanvas - inspector/canvas/resources/create-context-utilities.js:8:62
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Removed canvas has expected ID.
 
 -- Running test case: Canvas.CreateContextWebGPU.CSSCanvas
 Create CSS canvas from -webkit-canvas(css-canvas).
 PASS: Canvas context should be WebGPU.
-  0: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
-  1: Global Code - [program code]
-  2: evaluateWithScopeExtension - [native code]
-  3: _evaluateOn - [native code]
-  4: _evaluateAndWrap - [native code]
+  0: getCSSCanvasContext - [native code]
+  1: createCSSCanvas - inspector/canvas/resources/create-context-utilities.js:12:47
+  2: Global Code - [program code]
+  3: evaluateWithScopeExtension - [native code]
+  4: _evaluateOn - [native code]
+  5: _evaluateAndWrap - [native code]
 
 PASS: Canvas name should equal the identifier passed to -webkit-canvas.
 
index 1cf0a45..161b393 100644 (file)
@@ -36,27 +36,29 @@ frames:
     0: arc(1, 2, 3, 4, 5, false)
       swizzleTypes: [Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (13)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (16)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
-        4: performActions - inspector/canvas/recording-2d.html:394:25 (20)
-        5: Global Code - [program code] (22)
-        6: evaluateWithScopeExtension - [native code] (25)
-        7: _evaluateOn (27)
-        8: _evaluateAndWrap (29)
+        0: arc - [native code] (13)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (15)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (18)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
+        5: performActions - inspector/canvas/recording-2d.html:394:25 (22)
+        6: Global Code - [program code] (24)
+        7: evaluateWithScopeExtension - [native code] (26)
+        8: _evaluateOn (28)
+        9: _evaluateAndWrap (30)
     1: arc(6, 7, 8, 9, 10, true)
       swizzleTypes: [Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:78:42 (30)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:78:28 (31)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
-        4: performActions - inspector/canvas/recording-2d.html:394:25 (20)
-        5: Global Code - [program code] (22)
-        6: evaluateWithScopeExtension - [native code] (25)
-        7: _evaluateOn (27)
-        8: _evaluateAndWrap (29)
+        0: arc - [native code] (13)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:78:42 (31)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:78:28 (32)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
+        5: performActions - inspector/canvas/recording-2d.html:394:25 (22)
+        6: Global Code - [program code] (24)
+        7: evaluateWithScopeExtension - [native code] (26)
+        8: _evaluateOn (28)
+        9: _evaluateAndWrap (30)
 data:
   0: "source-over"
   1: "butt"
@@ -70,26 +72,27 @@ data:
   9: "low"
   10: ""
   11: "arc"
-  12: "inspector/canvas/recording-2d.html"
-  13: [10,12,78,42]
-  14: "ignoreException"
-  15: [14,12,49,13]
-  16: [10,12,78,28]
-  17: "executeFrameFunction"
-  18: [17,12,391,24]
-  19: "performActions"
-  20: [19,12,395,25]
-  21: "global code"
-  22: [21,10,1,15]
-  23: "evaluateWithScopeExtension"
-  24: "[native code]"
-  25: [23,24,0,0]
-  26: "_evaluateOn"
-  27: [26,10,128,29]
-  28: "_evaluateAndWrap"
-  29: [28,10,122,108]
-  30: [10,12,79,42]
-  31: [10,12,79,28]
+  12: "[native code]"
+  13: [11,12,0,0]
+  14: "inspector/canvas/recording-2d.html"
+  15: [10,14,78,42]
+  16: "ignoreException"
+  17: [16,14,49,13]
+  18: [10,14,78,28]
+  19: "executeFrameFunction"
+  20: [19,14,391,24]
+  21: "performActions"
+  22: [21,14,395,25]
+  23: "global code"
+  24: [23,10,1,15]
+  25: "evaluateWithScopeExtension"
+  26: [25,12,0,0]
+  27: "_evaluateOn"
+  28: [27,10,128,29]
+  29: "_evaluateAndWrap"
+  30: [29,10,122,108]
+  31: [10,14,79,42]
+  32: [10,14,79,28]
 
 -- Running test case: Canvas.recording2D.multipleFrames
 initialState:
@@ -125,861 +128,967 @@ frames:
     0: arc(1, 2, 3, 4, 5, false)
       swizzleTypes: [Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (13)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (16)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
-        4: performActions - inspector/canvas/recording-2d.html:394:25 (20)
-        5: Global Code - [program code] (22)
-        6: evaluateWithScopeExtension - [native code] (25)
-        7: _evaluateOn (27)
-        8: _evaluateAndWrap (29)
+        0: arc - [native code] (13)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (15)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (18)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
+        5: performActions - inspector/canvas/recording-2d.html:394:25 (22)
+        6: Global Code - [program code] (24)
+        7: evaluateWithScopeExtension - [native code] (26)
+        8: _evaluateOn (28)
+        9: _evaluateAndWrap (30)
     1: arc(6, 7, 8, 9, 10, true)
       swizzleTypes: [Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:78:42 (30)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:78:28 (31)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
-        4: performActions - inspector/canvas/recording-2d.html:394:25 (20)
-        5: Global Code - [program code] (22)
-        6: evaluateWithScopeExtension - [native code] (25)
-        7: _evaluateOn (27)
-        8: _evaluateAndWrap (29)
+        0: arc - [native code] (13)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:78:42 (31)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:78:28 (32)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
+        5: performActions - inspector/canvas/recording-2d.html:394:25 (22)
+        6: Global Code - [program code] (24)
+        7: evaluateWithScopeExtension - [native code] (26)
+        8: _evaluateOn (28)
+        9: _evaluateAndWrap (30)
   1:
     0: arcTo(1, 2, 3, 4, 5)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:81:44 (33)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:81:28 (34)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: arcTo - [native code] (34)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:81:44 (35)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:81:28 (36)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   2:
     0: beginPath()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:84:26 (36)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: beginPath - [native code] (38)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:84:26 (39)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   3:
     0: bezierCurveTo(1, 2, 3, 4, 5, 6)
       swizzleTypes: [Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:87:30 (38)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: bezierCurveTo - [native code] (41)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:87:30 (42)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   4:
     0: clearRect(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:90:26 (40)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clearRect - [native code] (44)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:90:26 (45)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   5:
     0: clearShadow()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:93:28 (42)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clearShadow - [native code] (47)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:93:28 (48)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   6:
     0: clip("nonzero")
-      swizzleTypes: [String (44)]
+      swizzleTypes: [String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:96:21 (45)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clip - [native code] (51)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:96:21 (52)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: clip("evenodd")
-      swizzleTypes: [String (46)]
+      swizzleTypes: [String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:97:21 (47)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clip - [native code] (51)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:97:21 (54)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: clip([object Path2D], "nonzero")
-      swizzleTypes: [Path2D (48), String (44)]
+      swizzleTypes: [Path2D (55), String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:98:21 (49)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clip - [native code] (51)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:98:21 (56)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: clip([object Path2D], "evenodd")
-      swizzleTypes: [Path2D (50), String (46)]
+      swizzleTypes: [Path2D (57), String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:99:21 (51)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: clip - [native code] (51)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:99:21 (58)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   7:
     0: closePath()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:102:26 (53)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: closePath - [native code] (60)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:102:26 (61)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   8:
     0: createImageData([object ImageData])
-      swizzleTypes: [ImageData (55)]
+      swizzleTypes: [ImageData (63)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:105:54 (56)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:105:28 (57)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createImageData - [native code] (64)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:105:54 (65)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:105:28 (66)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: createImageData(2, 3)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:106:54 (58)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:106:28 (59)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createImageData - [native code] (64)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:106:54 (67)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:106:28 (68)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   9:
     0: createLinearGradient(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:109:59 (61)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:109:28 (62)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createLinearGradient - [native code] (70)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:109:59 (71)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:109:28 (72)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   10:
     0: createPattern([object HTMLImageElement], "testA")
-      swizzleTypes: [Image (64), String (65)]
+      swizzleTypes: [Image (74), String (75)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:112:52 (66)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:112:28 (67)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createPattern - [native code] (76)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:112:52 (77)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:112:28 (78)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: createPattern([object HTMLImageElement], "testB")
-      swizzleTypes: [Image (68), String (69)]
+      swizzleTypes: [Image (79), String (80)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:113:52 (70)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:113:28 (71)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createPattern - [native code] (76)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:113:52 (81)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:113:28 (82)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: createPattern([object HTMLImageElement], "testC")
-      swizzleTypes: [Image (72), String (73)]
+      swizzleTypes: [Image (83), String (84)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:114:52 (74)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:114:28 (75)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createPattern - [native code] (76)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:114:52 (85)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:114:28 (86)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   11:
     0: createRadialGradient(1, 2, 3, 4, 5, 6)
       swizzleTypes: [Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:117:59 (77)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:117:28 (78)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: createRadialGradient - [native code] (88)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:117:59 (89)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:117:28 (90)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   12:
     0: direction
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:120:16 (80)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:120:16 (92)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   13:
     0: drawFocusIfNeeded("Element")
-      swizzleTypes: [None (82)]
+      swizzleTypes: [None (94)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:124:34 (83)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawFocusIfNeeded - [native code] (95)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:124:34 (96)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: drawFocusIfNeeded([object Path2D], "Element")
-      swizzleTypes: [Path2D (48), None (82)]
+      swizzleTypes: [Path2D (55), None (94)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:125:34 (84)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawFocusIfNeeded - [native code] (95)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:125:34 (97)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   14:
     0: drawImage([object HTMLImageElement], 1, 2)
-      swizzleTypes: [Image (64), Number, Number]
+      swizzleTypes: [Image (74), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:128:48 (86)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:128:28 (87)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:128:48 (100)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:128:28 (101)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: drawImage([object HTMLImageElement], 3, 4)
-      swizzleTypes: [Image (68), Number, Number]
+      swizzleTypes: [Image (79), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:129:48 (88)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:129:28 (89)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:129:48 (102)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:129:28 (103)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: drawImage([object HTMLImageElement], 5, 6)
-      swizzleTypes: [Image (72), Number, Number]
+      swizzleTypes: [Image (83), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:130:48 (90)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:130:28 (91)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:130:48 (104)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:130:28 (105)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: drawImage([object HTMLImageElement], 7, 8, 9, 10)
-      swizzleTypes: [Image (64), Number, Number, Number, Number]
+      swizzleTypes: [Image (74), Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:131:48 (92)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:131:28 (93)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:131:48 (106)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:131:28 (107)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: drawImage([object HTMLImageElement], 11, 12, 13, 14)
-      swizzleTypes: [Image (68), Number, Number, Number, Number]
+      swizzleTypes: [Image (79), Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:132:48 (94)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:132:28 (95)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:132:48 (108)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:132:28 (109)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     5: drawImage([object HTMLImageElement], 15, 16, 17, 18)
-      swizzleTypes: [Image (72), Number, Number, Number, Number]
+      swizzleTypes: [Image (83), Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:133:48 (96)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:133:28 (97)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:133:48 (110)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:133:28 (111)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     6: drawImage([object HTMLImageElement], 19, 20, 21, 22, 23, 24, 25, 26)
-      swizzleTypes: [Image (64), Number, Number, Number, Number, Number, Number, Number, Number]
+      swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:134:48 (98)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:134:28 (99)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:134:48 (112)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:134:28 (113)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     7: drawImage([object HTMLImageElement], 27, 28, 29, 30, 31, 32, 33, 34)
-      swizzleTypes: [Image (68), Number, Number, Number, Number, Number, Number, Number, Number]
+      swizzleTypes: [Image (79), Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:135:48 (100)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:135:28 (101)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:135:48 (114)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:135:28 (115)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     8: drawImage([object HTMLImageElement], 35, 36, 37, 38, 39, 40, 41, 42)
-      swizzleTypes: [Image (72), Number, Number, Number, Number, Number, Number, Number, Number]
+      swizzleTypes: [Image (83), Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:136:48 (102)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:136:28 (103)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImage - [native code] (99)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:136:48 (116)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:136:28 (117)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   15:
     0: drawImageFromRect([object HTMLImageElement], 1, 2, 3, 4, 5, 6, 7, 8, "")
-      swizzleTypes: [Image (64), Number, Number, Number, Number, Number, Number, Number, Number, String (10)]
+      swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number, String (10)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:139:34 (105)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImageFromRect - [native code] (119)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:139:34 (120)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: drawImageFromRect([object HTMLImageElement], 9, 10, 11, 12, 13, 14, 15, 16, "test")
-      swizzleTypes: [Image (64), Number, Number, Number, Number, Number, Number, Number, Number, String (106)]
+      swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number, String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:140:34 (107)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: drawImageFromRect - [native code] (119)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:140:34 (122)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   16:
     0: ellipse(1, 2, 3, 4, 5, 6, 7, false)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:143:46 (109)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:143:28 (110)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: ellipse - [native code] (124)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:143:46 (125)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:143:28 (126)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: ellipse(8, 9, 10, 11, 12, 13, 14, true)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:144:46 (111)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:144:28 (112)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: ellipse - [native code] (124)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:144:46 (127)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:144:28 (128)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   17:
     0: fill("nonzero")
-      swizzleTypes: [String (44)]
+      swizzleTypes: [String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:147:21 (114)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fill - [native code] (130)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:147:21 (131)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: fill("evenodd")
-      swizzleTypes: [String (46)]
+      swizzleTypes: [String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:148:21 (115)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fill - [native code] (130)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:148:21 (132)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: fill([object Path2D], "nonzero")
-      swizzleTypes: [Path2D (48), String (44)]
+      swizzleTypes: [Path2D (55), String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:149:21 (116)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fill - [native code] (130)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:149:21 (133)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: fill([object Path2D], "evenodd")
-      swizzleTypes: [Path2D (50), String (46)]
+      swizzleTypes: [Path2D (57), String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:150:21 (117)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fill - [native code] (130)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:150:21 (134)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   18:
     0: fillRect(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:153:25 (119)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fillRect - [native code] (136)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:153:25 (137)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   19:
     0: fillStyle
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:156:16 (121)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:156:16 (139)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: fillStyle = "test"
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:157:16 (122)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:157:16 (140)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: fillStyle = [object CanvasGradient]
-      swizzleTypes: [CanvasGradient (124)]
+      swizzleTypes: [CanvasGradient (142)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:158:16 (125)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:158:16 (143)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: fillStyle = [object CanvasGradient]
-      swizzleTypes: [CanvasGradient (127)]
+      swizzleTypes: [CanvasGradient (145)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:159:16 (128)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:159:16 (146)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: fillStyle = [object CanvasPattern]
-      swizzleTypes: [CanvasPattern (131)]
+      swizzleTypes: [CanvasPattern (149)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:160:16 (132)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:160:16 (150)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   20:
     0: fillText("testA", 1, 2)
-      swizzleTypes: [String (65), Number, Number]
+      swizzleTypes: [String (75), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:163:25 (134)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fillText - [native code] (152)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:163:25 (153)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: fillText("testB", 3, 4, 5)
-      swizzleTypes: [String (69), Number, Number, Number]
+      swizzleTypes: [String (80), Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:164:25 (135)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: fillText - [native code] (152)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:164:25 (154)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   21:
     0: font
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:167:16 (137)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:167:16 (156)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: font = "test"
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:168:16 (138)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:168:16 (157)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   22:
     0: getImageData(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:171:51 (140)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:171:28 (141)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: getImageData - [native code] (159)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:171:51 (160)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:171:28 (161)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   23:
     0: getLineDash()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:174:28 (143)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: getLineDash - [native code] (163)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:174:28 (164)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   24:
     0: getTransform
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:177:29 (145)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: getTransform - [native code] (166)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:177:29 (167)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   25:
     0: globalAlpha
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:180:16 (147)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:180:16 (169)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: globalAlpha = 0
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:181:16 (148)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:181:16 (170)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   26:
     0: globalCompositeOperation
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:184:16 (150)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:184:16 (172)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: globalCompositeOperation = "test"
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:185:16 (151)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:185:16 (173)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   27:
     0: imageSmoothingEnabled
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:188:16 (153)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:188:16 (175)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: imageSmoothingEnabled = true
       swizzleTypes: [Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:189:16 (154)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:189:16 (176)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   28:
     0: imageSmoothingQuality
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:192:16 (156)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:192:16 (178)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: imageSmoothingQuality = "low"
       swizzleTypes: [String (9)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:193:16 (157)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:193:16 (179)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   29:
     0: isPointInPath([object Path2D], 5, 6, "nonzero")
-      swizzleTypes: [Path2D (48), Number, Number, String (44)]
+      swizzleTypes: [Path2D (55), Number, Number, String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:196:30 (159)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInPath - [native code] (181)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:196:30 (182)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: isPointInPath([object Path2D], 7, 8, "evenodd")
-      swizzleTypes: [Path2D (50), Number, Number, String (46)]
+      swizzleTypes: [Path2D (57), Number, Number, String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:197:30 (160)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInPath - [native code] (181)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:197:30 (183)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: isPointInPath(9, 10, "nonzero")
-      swizzleTypes: [Number, Number, String (44)]
+      swizzleTypes: [Number, Number, String (50)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:198:30 (161)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInPath - [native code] (181)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:198:30 (184)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: isPointInPath(11, 12, "evenodd")
-      swizzleTypes: [Number, Number, String (46)]
+      swizzleTypes: [Number, Number, String (53)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:199:30 (162)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInPath - [native code] (181)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:199:30 (185)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   30:
     0: isPointInStroke([object Path2D], 3, 4)
-      swizzleTypes: [Path2D (48), Number, Number]
+      swizzleTypes: [Path2D (55), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:202:32 (164)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInStroke - [native code] (187)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:202:32 (188)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: isPointInStroke(5, 6)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:203:32 (165)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: isPointInStroke - [native code] (187)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:203:32 (189)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   31:
     0: lineCap
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:206:16 (167)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:206:16 (191)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   32:
     0: lineDashOffset
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:210:16 (169)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:210:16 (193)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: lineDashOffset = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:211:16 (170)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:211:16 (194)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   33:
     0: lineJoin
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:214:16 (172)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:214:16 (196)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   34:
     0: lineTo(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:218:23 (174)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: lineTo - [native code] (198)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:218:23 (199)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   35:
     0: lineWidth
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:221:16 (176)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:221:16 (201)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: lineWidth = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:222:16 (177)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:222:16 (202)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   36:
     0: measureText("test")
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:225:28 (179)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: measureText - [native code] (204)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:225:28 (205)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   37:
     0: miterLimit
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:228:16 (181)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:228:16 (207)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: miterLimit = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:229:16 (182)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:229:16 (208)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   38:
     0: moveTo(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:232:23 (184)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: moveTo - [native code] (210)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:232:23 (211)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   39:
     0: putImageData([object ImageData], 5, 6)
-      swizzleTypes: [ImageData (55), Number, Number]
+      swizzleTypes: [ImageData (63), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:235:29 (186)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: putImageData - [native code] (213)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:235:29 (214)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: putImageData([object ImageData], 7, 8, 9, 10, 11, 12)
-      swizzleTypes: [ImageData (187), Number, Number, Number, Number, Number, Number]
+      swizzleTypes: [ImageData (215), Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:236:29 (188)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: putImageData - [native code] (213)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:236:29 (216)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   40:
     0: quadraticCurveTo(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:239:33 (190)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: quadraticCurveTo - [native code] (218)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:239:33 (219)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   41:
     0: rect(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:242:21 (192)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: rect - [native code] (221)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:242:21 (222)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   42:
     0: resetTransform()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:245:31 (194)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: resetTransform - [native code] (224)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:245:31 (225)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   43:
     0: restore()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:248:24 (196)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: restore - [native code] (227)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:248:24 (228)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   44:
     0: rotate(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:253:23 (198)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: rotate - [native code] (230)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:253:23 (231)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   45:
     0: save()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:256:21 (200)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: save - [native code] (233)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:256:21 (234)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   46:
     0: scale(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:259:22 (202)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: scale - [native code] (236)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:259:22 (237)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   47:
     0: setAlpha(null)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:262:25 (204)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setAlpha - [native code] (239)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:262:25 (240)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setAlpha(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:263:25 (205)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setAlpha - [native code] (239)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:263:25 (241)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   48:
     0: setCompositeOperation("undefined")
-      swizzleTypes: [String (207)]
+      swizzleTypes: [String (243)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:266:38 (208)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setCompositeOperation - [native code] (244)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:266:38 (245)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setCompositeOperation("test")
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:267:38 (209)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setCompositeOperation - [native code] (244)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:267:38 (246)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   49:
     0: setFillColor("testA")
-      swizzleTypes: [String (65)]
+      swizzleTypes: [String (75)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:270:29 (211)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:270:29 (249)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setFillColor("testB", 1)
-      swizzleTypes: [String (69), Number]
+      swizzleTypes: [String (80), Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:271:29 (212)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:271:29 (250)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: setFillColor(2, 1)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:272:29 (213)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:272:29 (251)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: setFillColor(3, 4)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:273:29 (214)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:273:29 (252)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: setFillColor(5, 6, 7, 8)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:274:29 (215)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:274:29 (253)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     5: setFillColor(9, 10, 11, 12, 13)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:275:29 (216)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setFillColor - [native code] (248)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:275:29 (254)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   50:
     0: setLineCap("undefined")
-      swizzleTypes: [String (207)]
+      swizzleTypes: [String (243)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:278:27 (218)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineCap - [native code] (256)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:278:27 (257)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setLineCap("test")
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:279:27 (219)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineCap - [native code] (256)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:279:27 (258)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   51:
     0: setLineDash([1,2])
       swizzleTypes: [Array]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:282:28 (221)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineDash - [native code] (260)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:282:28 (261)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   52:
     0: setLineJoin("undefined")
-      swizzleTypes: [String (207)]
+      swizzleTypes: [String (243)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:285:28 (223)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineJoin - [native code] (263)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:285:28 (264)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setLineJoin("test")
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:286:28 (224)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineJoin - [native code] (263)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:286:28 (265)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   53:
     0: setLineWidth(null)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:289:29 (226)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineWidth - [native code] (267)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:289:29 (268)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setLineWidth(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:290:29 (227)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setLineWidth - [native code] (267)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:290:29 (269)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   54:
     0: setMiterLimit(null)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:293:30 (229)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setMiterLimit - [native code] (271)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:293:30 (272)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setMiterLimit(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:294:30 (230)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setMiterLimit - [native code] (271)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:294:30 (273)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   55:
     0: setShadow(1, 2, 3, "")
-      swizzleTypes: [Number, Number, Number, String (232)]
+      swizzleTypes: [Number, Number, Number, String (275)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:297:26 (233)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:297:26 (277)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setShadow(4, 5, 6, "test", 7)
-      swizzleTypes: [Number, Number, Number, String (106), Number]
+      swizzleTypes: [Number, Number, Number, String (121), Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:298:26 (234)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:298:26 (278)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: setShadow(8, 9, 10, 11, 1)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:299:26 (235)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:299:26 (279)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: setShadow(12, 13, 14, 15, 16)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:300:26 (236)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:300:26 (280)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: setShadow(17, 18, 19, 20, 21, 22, 23)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:301:26 (237)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:301:26 (281)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     5: setShadow(24, 25, 26, 27, 28, 29, 30, 31)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:302:26 (238)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setShadow - [native code] (276)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:302:26 (282)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   56:
     0: setStrokeColor("testA")
-      swizzleTypes: [String (65)]
+      swizzleTypes: [String (75)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:305:31 (240)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:305:31 (285)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setStrokeColor("testB", 1)
-      swizzleTypes: [String (69), Number]
+      swizzleTypes: [String (80), Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:306:31 (241)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:306:31 (286)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: setStrokeColor(2, 1)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:307:31 (242)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:307:31 (287)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: setStrokeColor(3, 4)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:308:31 (243)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:308:31 (288)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: setStrokeColor(5, 6, 7, 8)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:309:31 (244)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:309:31 (289)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     5: setStrokeColor(9, 10, 11, 12, 13)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:310:31 (245)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setStrokeColor - [native code] (284)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:310:31 (290)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   57:
     0: setTransform(1, 2, 3, 4, 5, 6)
       swizzleTypes: [Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:313:29 (247)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setTransform - [native code] (292)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:313:29 (293)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: setTransform(matrix(1, 0, 0, 1, 0, 0))
       swizzleTypes: [DOMMatrix]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:314:51 (248)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:314:28 (249)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setTransform - [native code] (292)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:314:51 (294)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:314:28 (295)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: setTransform(matrix(7, 8, 9, 10, 11, 12))
       swizzleTypes: [DOMMatrix]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:315:51 (250)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:315:28 (251)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: setTransform - [native code] (292)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:315:51 (296)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:315:28 (297)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   58:
     0: shadowBlur
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:318:16 (253)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:318:16 (299)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: shadowBlur = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:319:16 (254)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:319:16 (300)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   59:
     0: shadowColor
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:322:16 (256)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:322:16 (302)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: shadowColor = "test"
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:323:16 (257)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:323:16 (303)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   60:
     0: shadowOffsetX
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:326:16 (259)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:326:16 (305)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: shadowOffsetX = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:327:16 (260)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:327:16 (306)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   61:
     0: shadowOffsetY
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:330:16 (262)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:330:16 (308)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: shadowOffsetY = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:331:16 (263)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:331:16 (309)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   62:
     0: stroke()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:334:23 (265)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: stroke - [native code] (311)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:334:23 (312)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: stroke([object Path2D])
-      swizzleTypes: [Path2D (48)]
+      swizzleTypes: [Path2D (55)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:335:23 (266)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: stroke - [native code] (311)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:335:23 (313)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   63:
     0: strokeRect(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:338:27 (268)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: strokeRect - [native code] (315)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:338:27 (316)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   64:
     0: strokeStyle
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:341:16 (270)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:341:16 (318)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: strokeStyle = "test"
-      swizzleTypes: [String (106)]
+      swizzleTypes: [String (121)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:342:16 (271)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:342:16 (319)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     2: strokeStyle = [object CanvasGradient]
-      swizzleTypes: [CanvasGradient (124)]
+      swizzleTypes: [CanvasGradient (142)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:343:16 (272)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:343:16 (320)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     3: strokeStyle = [object CanvasGradient]
-      swizzleTypes: [CanvasGradient (127)]
+      swizzleTypes: [CanvasGradient (145)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:344:16 (273)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:344:16 (321)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     4: strokeStyle = [object CanvasPattern]
-      swizzleTypes: [CanvasPattern (131)]
+      swizzleTypes: [CanvasPattern (149)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:345:16 (274)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:345:16 (322)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   65:
     0: strokeText("testA", 1, 2)
-      swizzleTypes: [String (65), Number, Number]
+      swizzleTypes: [String (75), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:348:27 (276)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: strokeText - [native code] (324)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:348:27 (325)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: strokeText("testB", 3, 4, 5)
-      swizzleTypes: [String (69), Number, Number, Number]
+      swizzleTypes: [String (80), Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:349:27 (277)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: strokeText - [native code] (324)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:349:27 (326)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   66:
     0: textAlign
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:352:16 (279)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:352:16 (328)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   67:
     0: textBaseline
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:356:16 (281)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:356:16 (330)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   68:
     0: transform(1, 2, 3, 4, 5, 6)
       swizzleTypes: [Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:360:26 (283)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: transform - [native code] (332)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:360:26 (333)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   69:
     0: translate(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:363:26 (285)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: translate - [native code] (335)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:363:26 (336)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   70:
     0: webkitGetImageDataHD(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:366:59 (287)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:366:28 (288)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: webkitGetImageDataHD - [native code] (338)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:366:59 (339)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:366:28 (340)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   71:
     0: webkitImageSmoothingEnabled
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:369:16 (290)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:369:16 (342)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: webkitImageSmoothingEnabled = true
       swizzleTypes: [Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:370:16 (291)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:370:16 (343)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   72:
     0: webkitLineDash
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:373:16 (293)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:373:16 (345)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: webkitLineDash = [1,2]
       swizzleTypes: [Array]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:374:16 (294)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:374:16 (346)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   73:
     0: webkitLineDashOffset
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:377:16 (296)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:377:16 (348)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: webkitLineDashOffset = 1
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:378:16 (297)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: (anonymous function) - inspector/canvas/recording-2d.html:378:16 (349)
+        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
   74:
     0: webkitPutImageDataHD([object ImageData], 5, 6)
-      swizzleTypes: [ImageData (55), Number, Number]
+      swizzleTypes: [ImageData (63), Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:381:37 (299)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: webkitPutImageDataHD - [native code] (351)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:381:37 (352)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
     1: webkitPutImageDataHD([object ImageData], 7, 8, 9, 10, 11, 12)
-      swizzleTypes: [ImageData (187), Number, Number, Number, Number, Number, Number]
+      swizzleTypes: [ImageData (215), Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:382:37 (300)
-        1: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
+        0: webkitPutImageDataHD - [native code] (351)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:382:37 (353)
+        2: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
 data:
   0: "source-over"
   1: "butt"
@@ -993,295 +1102,348 @@ data:
   9: "low"
   10: ""
   11: "arc"
-  12: "inspector/canvas/recording-2d.html"
-  13: [10,12,78,42]
-  14: "ignoreException"
-  15: [14,12,49,13]
-  16: [10,12,78,28]
-  17: "executeFrameFunction"
-  18: [17,12,391,24]
-  19: "performActions"
-  20: [19,12,395,25]
-  21: "global code"
-  22: [21,10,1,15]
-  23: "evaluateWithScopeExtension"
-  24: "[native code]"
-  25: [23,24,0,0]
-  26: "_evaluateOn"
-  27: [26,10,128,29]
-  28: "_evaluateAndWrap"
-  29: [28,10,122,108]
-  30: [10,12,79,42]
-  31: [10,12,79,28]
-  32: "arcTo"
-  33: [10,12,82,44]
-  34: [10,12,82,28]
-  35: "beginPath"
-  36: [10,12,85,26]
-  37: "bezierCurveTo"
-  38: [10,12,88,30]
-  39: "clearRect"
-  40: [10,12,91,26]
-  41: "clearShadow"
-  42: [10,12,94,28]
-  43: "clip"
-  44: "nonzero"
-  45: [10,12,97,21]
-  46: "evenodd"
-  47: [10,12,98,21]
-  48: "M1 2"
-  49: [10,12,99,21]
-  50: "M3 4"
-  51: [10,12,100,21]
-  52: "closePath"
-  53: [10,12,103,26]
-  54: "createImageData"
-  55: [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],1,4]
-  56: [10,12,106,54]
-  57: [10,12,106,28]
-  58: [10,12,107,54]
-  59: [10,12,107,28]
-  60: "createLinearGradient"
-  61: [10,12,110,59]
-  62: [10,12,110,28]
-  63: "createPattern"
-  64: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
-  65: "testA"
-  66: [10,12,113,52]
-  67: [10,12,113,28]
-  68: "data:,"
-  69: "testB"
-  70: [10,12,114,52]
-  71: [10,12,114,28]
-  72: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC"
-  73: "testC"
-  74: [10,12,115,52]
-  75: [10,12,115,28]
-  76: "createRadialGradient"
-  77: [10,12,118,59]
-  78: [10,12,118,28]
-  79: "direction"
-  80: [10,12,121,16]
-  81: "drawFocusIfNeeded"
-  82: "Element"
-  83: [10,12,125,34]
-  84: [10,12,126,34]
-  85: "drawImage"
-  86: [10,12,129,48]
-  87: [10,12,129,28]
-  88: [10,12,130,48]
-  89: [10,12,130,28]
-  90: [10,12,131,48]
-  91: [10,12,131,28]
-  92: [10,12,132,48]
-  93: [10,12,132,28]
-  94: [10,12,133,48]
-  95: [10,12,133,28]
-  96: [10,12,134,48]
-  97: [10,12,134,28]
-  98: [10,12,135,48]
-  99: [10,12,135,28]
-  100: [10,12,136,48]
-  101: [10,12,136,28]
-  102: [10,12,137,48]
-  103: [10,12,137,28]
-  104: "drawImageFromRect"
-  105: [10,12,140,34]
-  106: "test"
-  107: [10,12,141,34]
-  108: "ellipse"
-  109: [10,12,144,46]
-  110: [10,12,144,28]
-  111: [10,12,145,46]
-  112: [10,12,145,28]
-  113: "fill"
-  114: [10,12,148,21]
-  115: [10,12,149,21]
-  116: [10,12,150,21]
-  117: [10,12,151,21]
-  118: "fillRect"
-  119: [10,12,154,25]
-  120: "fillStyle"
-  121: [10,12,157,16]
-  122: [10,12,158,16]
-  123: "linear-gradient"
-  124: [123,[1,2,3,4],[]]
-  125: [10,12,159,16]
-  126: "radial-gradient"
-  127: [126,[1,2,3,4,5,6],[]]
-  128: [10,12,160,16]
-  129: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
-  130: "no-repeat"
-  131: [129,130]
-  132: [10,12,161,16]
-  133: "fillText"
-  134: [10,12,164,25]
-  135: [10,12,165,25]
-  136: "font"
-  137: [10,12,168,16]
-  138: [10,12,169,16]
-  139: "getImageData"
-  140: [10,12,172,51]
-  141: [10,12,172,28]
-  142: "getLineDash"
-  143: [10,12,175,28]
-  144: "getTransform"
-  145: [10,12,178,29]
-  146: "globalAlpha"
-  147: [10,12,181,16]
-  148: [10,12,182,16]
-  149: "globalCompositeOperation"
-  150: [10,12,185,16]
-  151: [10,12,186,16]
-  152: "imageSmoothingEnabled"
-  153: [10,12,189,16]
-  154: [10,12,190,16]
-  155: "imageSmoothingQuality"
-  156: [10,12,193,16]
-  157: [10,12,194,16]
-  158: "isPointInPath"
-  159: [10,12,197,30]
-  160: [10,12,198,30]
-  161: [10,12,199,30]
-  162: [10,12,200,30]
-  163: "isPointInStroke"
-  164: [10,12,203,32]
-  165: [10,12,204,32]
-  166: "lineCap"
-  167: [10,12,207,16]
-  168: "lineDashOffset"
-  169: [10,12,211,16]
-  170: [10,12,212,16]
-  171: "lineJoin"
-  172: [10,12,215,16]
-  173: "lineTo"
-  174: [10,12,219,23]
-  175: "lineWidth"
-  176: [10,12,222,16]
-  177: [10,12,223,16]
-  178: "measureText"
-  179: [10,12,226,28]
-  180: "miterLimit"
-  181: [10,12,229,16]
-  182: [10,12,230,16]
-  183: "moveTo"
-  184: [10,12,233,23]
-  185: "putImageData"
-  186: [10,12,236,29]
-  187: [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],2,3]
-  188: [10,12,237,29]
-  189: "quadraticCurveTo"
-  190: [10,12,240,33]
-  191: "rect"
-  192: [10,12,243,21]
-  193: "resetTransform"
-  194: [10,12,246,31]
-  195: "restore"
-  196: [10,12,249,24]
-  197: "rotate"
-  198: [10,12,254,23]
-  199: "save"
-  200: [10,12,257,21]
-  201: "scale"
-  202: [10,12,260,22]
-  203: "setAlpha"
-  204: [10,12,263,25]
-  205: [10,12,264,25]
-  206: "setCompositeOperation"
-  207: "undefined"
-  208: [10,12,267,38]
-  209: [10,12,268,38]
-  210: "setFillColor"
-  211: [10,12,271,29]
-  212: [10,12,272,29]
-  213: [10,12,273,29]
-  214: [10,12,274,29]
-  215: [10,12,275,29]
-  216: [10,12,276,29]
-  217: "setLineCap"
-  218: [10,12,279,27]
-  219: [10,12,280,27]
-  220: "setLineDash"
-  221: [10,12,283,28]
-  222: "setLineJoin"
-  223: [10,12,286,28]
-  224: [10,12,287,28]
-  225: "setLineWidth"
-  226: [10,12,290,29]
-  227: [10,12,291,29]
-  228: "setMiterLimit"
-  229: [10,12,294,30]
-  230: [10,12,295,30]
-  231: "setShadow"
-  232: ""
-  233: [10,12,298,26]
-  234: [10,12,299,26]
-  235: [10,12,300,26]
-  236: [10,12,301,26]
-  237: [10,12,302,26]
-  238: [10,12,303,26]
-  239: "setStrokeColor"
-  240: [10,12,306,31]
-  241: [10,12,307,31]
-  242: [10,12,308,31]
-  243: [10,12,309,31]
-  244: [10,12,310,31]
-  245: [10,12,311,31]
-  246: "setTransform"
-  247: [10,12,314,29]
-  248: [10,12,315,51]
-  249: [10,12,315,28]
-  250: [10,12,316,51]
-  251: [10,12,316,28]
-  252: "shadowBlur"
-  253: [10,12,319,16]
-  254: [10,12,320,16]
-  255: "shadowColor"
-  256: [10,12,323,16]
-  257: [10,12,324,16]
-  258: "shadowOffsetX"
-  259: [10,12,327,16]
-  260: [10,12,328,16]
-  261: "shadowOffsetY"
-  262: [10,12,331,16]
-  263: [10,12,332,16]
-  264: "stroke"
-  265: [10,12,335,23]
-  266: [10,12,336,23]
-  267: "strokeRect"
-  268: [10,12,339,27]
-  269: "strokeStyle"
-  270: [10,12,342,16]
-  271: [10,12,343,16]
-  272: [10,12,344,16]
-  273: [10,12,345,16]
-  274: [10,12,346,16]
-  275: "strokeText"
-  276: [10,12,349,27]
-  277: [10,12,350,27]
-  278: "textAlign"
-  279: [10,12,353,16]
-  280: "textBaseline"
-  281: [10,12,357,16]
-  282: "transform"
-  283: [10,12,361,26]
-  284: "translate"
-  285: [10,12,364,26]
-  286: "webkitGetImageDataHD"
-  287: [10,12,367,59]
-  288: [10,12,367,28]
-  289: "webkitImageSmoothingEnabled"
-  290: [10,12,370,16]
-  291: [10,12,371,16]
-  292: "webkitLineDash"
-  293: [10,12,374,16]
-  294: [10,12,375,16]
-  295: "webkitLineDashOffset"
-  296: [10,12,378,16]
-  297: [10,12,379,16]
-  298: "webkitPutImageDataHD"
-  299: [10,12,382,37]
-  300: [10,12,383,37]
+  12: "[native code]"
+  13: [11,12,0,0]
+  14: "inspector/canvas/recording-2d.html"
+  15: [10,14,78,42]
+  16: "ignoreException"
+  17: [16,14,49,13]
+  18: [10,14,78,28]
+  19: "executeFrameFunction"
+  20: [19,14,391,24]
+  21: "performActions"
+  22: [21,14,395,25]
+  23: "global code"
+  24: [23,10,1,15]
+  25: "evaluateWithScopeExtension"
+  26: [25,12,0,0]
+  27: "_evaluateOn"
+  28: [27,10,128,29]
+  29: "_evaluateAndWrap"
+  30: [29,10,122,108]
+  31: [10,14,79,42]
+  32: [10,14,79,28]
+  33: "arcTo"
+  34: [33,12,0,0]
+  35: [10,14,82,44]
+  36: [10,14,82,28]
+  37: "beginPath"
+  38: [37,12,0,0]
+  39: [10,14,85,26]
+  40: "bezierCurveTo"
+  41: [40,12,0,0]
+  42: [10,14,88,30]
+  43: "clearRect"
+  44: [43,12,0,0]
+  45: [10,14,91,26]
+  46: "clearShadow"
+  47: [46,12,0,0]
+  48: [10,14,94,28]
+  49: "clip"
+  50: "nonzero"
+  51: [49,12,0,0]
+  52: [10,14,97,21]
+  53: "evenodd"
+  54: [10,14,98,21]
+  55: "M1 2"
+  56: [10,14,99,21]
+  57: "M3 4"
+  58: [10,14,100,21]
+  59: "closePath"
+  60: [59,12,0,0]
+  61: [10,14,103,26]
+  62: "createImageData"
+  63: [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],1,4]
+  64: [62,12,0,0]
+  65: [10,14,106,54]
+  66: [10,14,106,28]
+  67: [10,14,107,54]
+  68: [10,14,107,28]
+  69: "createLinearGradient"
+  70: [69,12,0,0]
+  71: [10,14,110,59]
+  72: [10,14,110,28]
+  73: "createPattern"
+  74: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
+  75: "testA"
+  76: [73,12,0,0]
+  77: [10,14,113,52]
+  78: [10,14,113,28]
+  79: "data:,"
+  80: "testB"
+  81: [10,14,114,52]
+  82: [10,14,114,28]
+  83: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC"
+  84: "testC"
+  85: [10,14,115,52]
+  86: [10,14,115,28]
+  87: "createRadialGradient"
+  88: [87,12,0,0]
+  89: [10,14,118,59]
+  90: [10,14,118,28]
+  91: "direction"
+  92: [10,14,121,16]
+  93: "drawFocusIfNeeded"
+  94: "Element"
+  95: [93,12,0,0]
+  96: [10,14,125,34]
+  97: [10,14,126,34]
+  98: "drawImage"
+  99: [98,12,0,0]
+  100: [10,14,129,48]
+  101: [10,14,129,28]
+  102: [10,14,130,48]
+  103: [10,14,130,28]
+  104: [10,14,131,48]
+  105: [10,14,131,28]
+  106: [10,14,132,48]
+  107: [10,14,132,28]
+  108: [10,14,133,48]
+  109: [10,14,133,28]
+  110: [10,14,134,48]
+  111: [10,14,134,28]
+  112: [10,14,135,48]
+  113: [10,14,135,28]
+  114: [10,14,136,48]
+  115: [10,14,136,28]
+  116: [10,14,137,48]
+  117: [10,14,137,28]
+  118: "drawImageFromRect"
+  119: [118,12,0,0]
+  120: [10,14,140,34]
+  121: "test"
+  122: [10,14,141,34]
+  123: "ellipse"
+  124: [123,12,0,0]
+  125: [10,14,144,46]
+  126: [10,14,144,28]
+  127: [10,14,145,46]
+  128: [10,14,145,28]
+  129: "fill"
+  130: [129,12,0,0]
+  131: [10,14,148,21]
+  132: [10,14,149,21]
+  133: [10,14,150,21]
+  134: [10,14,151,21]
+  135: "fillRect"
+  136: [135,12,0,0]
+  137: [10,14,154,25]
+  138: "fillStyle"
+  139: [10,14,157,16]
+  140: [10,14,158,16]
+  141: "linear-gradient"
+  142: [141,[1,2,3,4],[]]
+  143: [10,14,159,16]
+  144: "radial-gradient"
+  145: [144,[1,2,3,4,5,6],[]]
+  146: [10,14,160,16]
+  147: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
+  148: "no-repeat"
+  149: [147,148]
+  150: [10,14,161,16]
+  151: "fillText"
+  152: [151,12,0,0]
+  153: [10,14,164,25]
+  154: [10,14,165,25]
+  155: "font"
+  156: [10,14,168,16]
+  157: [10,14,169,16]
+  158: "getImageData"
+  159: [158,12,0,0]
+  160: [10,14,172,51]
+  161: [10,14,172,28]
+  162: "getLineDash"
+  163: [162,12,0,0]
+  164: [10,14,175,28]
+  165: "getTransform"
+  166: [165,12,0,0]
+  167: [10,14,178,29]
+  168: "globalAlpha"
+  169: [10,14,181,16]
+  170: [10,14,182,16]
+  171: "globalCompositeOperation"
+  172: [10,14,185,16]
+  173: [10,14,186,16]
+  174: "imageSmoothingEnabled"
+  175: [10,14,189,16]
+  176: [10,14,190,16]
+  177: "imageSmoothingQuality"
+  178: [10,14,193,16]
+  179: [10,14,194,16]
+  180: "isPointInPath"
+  181: [180,12,0,0]
+  182: [10,14,197,30]
+  183: [10,14,198,30]
+  184: [10,14,199,30]
+  185: [10,14,200,30]
+  186: "isPointInStroke"
+  187: [186,12,0,0]
+  188: [10,14,203,32]
+  189: [10,14,204,32]
+  190: "lineCap"
+  191: [10,14,207,16]
+  192: "lineDashOffset"
+  193: [10,14,211,16]
+  194: [10,14,212,16]
+  195: "lineJoin"
+  196: [10,14,215,16]
+  197: "lineTo"
+  198: [197,12,0,0]
+  199: [10,14,219,23]
+  200: "lineWidth"
+  201: [10,14,222,16]
+  202: [10,14,223,16]
+  203: "measureText"
+  204: [203,12,0,0]
+  205: [10,14,226,28]
+  206: "miterLimit"
+  207: [10,14,229,16]
+  208: [10,14,230,16]
+  209: "moveTo"
+  210: [209,12,0,0]
+  211: [10,14,233,23]
+  212: "putImageData"
+  213: [212,12,0,0]
+  214: [10,14,236,29]
+  215: [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],2,3]
+  216: [10,14,237,29]
+  217: "quadraticCurveTo"
+  218: [217,12,0,0]
+  219: [10,14,240,33]
+  220: "rect"
+  221: [220,12,0,0]
+  222: [10,14,243,21]
+  223: "resetTransform"
+  224: [223,12,0,0]
+  225: [10,14,246,31]
+  226: "restore"
+  227: [226,12,0,0]
+  228: [10,14,249,24]
+  229: "rotate"
+  230: [229,12,0,0]
+  231: [10,14,254,23]
+  232: "save"
+  233: [232,12,0,0]
+  234: [10,14,257,21]
+  235: "scale"
+  236: [235,12,0,0]
+  237: [10,14,260,22]
+  238: "setAlpha"
+  239: [238,12,0,0]
+  240: [10,14,263,25]
+  241: [10,14,264,25]
+  242: "setCompositeOperation"
+  243: "undefined"
+  244: [242,12,0,0]
+  245: [10,14,267,38]
+  246: [10,14,268,38]
+  247: "setFillColor"
+  248: [247,12,0,0]
+  249: [10,14,271,29]
+  250: [10,14,272,29]
+  251: [10,14,273,29]
+  252: [10,14,274,29]
+  253: [10,14,275,29]
+  254: [10,14,276,29]
+  255: "setLineCap"
+  256: [255,12,0,0]
+  257: [10,14,279,27]
+  258: [10,14,280,27]
+  259: "setLineDash"
+  260: [259,12,0,0]
+  261: [10,14,283,28]
+  262: "setLineJoin"
+  263: [262,12,0,0]
+  264: [10,14,286,28]
+  265: [10,14,287,28]
+  266: "setLineWidth"
+  267: [266,12,0,0]
+  268: [10,14,290,29]
+  269: [10,14,291,29]
+  270: "setMiterLimit"
+  271: [270,12,0,0]
+  272: [10,14,294,30]
+  273: [10,14,295,30]
+  274: "setShadow"
+  275: ""
+  276: [274,12,0,0]
+  277: [10,14,298,26]
+  278: [10,14,299,26]
+  279: [10,14,300,26]
+  280: [10,14,301,26]
+  281: [10,14,302,26]
+  282: [10,14,303,26]
+  283: "setStrokeColor"
+  284: [283,12,0,0]
+  285: [10,14,306,31]
+  286: [10,14,307,31]
+  287: [10,14,308,31]
+  288: [10,14,309,31]
+  289: [10,14,310,31]
+  290: [10,14,311,31]
+  291: "setTransform"
+  292: [291,12,0,0]
+  293: [10,14,314,29]
+  294: [10,14,315,51]
+  295: [10,14,315,28]
+  296: [10,14,316,51]
+  297: [10,14,316,28]
+  298: "shadowBlur"
+  299: [10,14,319,16]
+  300: [10,14,320,16]
+  301: "shadowColor"
+  302: [10,14,323,16]
+  303: [10,14,324,16]
+  304: "shadowOffsetX"
+  305: [10,14,327,16]
+  306: [10,14,328,16]
+  307: "shadowOffsetY"
+  308: [10,14,331,16]
+  309: [10,14,332,16]
+  310: "stroke"
+  311: [310,12,0,0]
+  312: [10,14,335,23]
+  313: [10,14,336,23]
+  314: "strokeRect"
+  315: [314,12,0,0]
+  316: [10,14,339,27]
+  317: "strokeStyle"
+  318: [10,14,342,16]
+  319: [10,14,343,16]
+  320: [10,14,344,16]
+  321: [10,14,345,16]
+  322: [10,14,346,16]
+  323: "strokeText"
+  324: [323,12,0,0]
+  325: [10,14,349,27]
+  326: [10,14,350,27]
+  327: "textAlign"
+  328: [10,14,353,16]
+  329: "textBaseline"
+  330: [10,14,357,16]
+  331: "transform"
+  332: [331,12,0,0]
+  333: [10,14,361,26]
+  334: "translate"
+  335: [334,12,0,0]
+  336: [10,14,364,26]
+  337: "webkitGetImageDataHD"
+  338: [337,12,0,0]
+  339: [10,14,367,59]
+  340: [10,14,367,28]
+  341: "webkitImageSmoothingEnabled"
+  342: [10,14,370,16]
+  343: [10,14,371,16]
+  344: "webkitLineDash"
+  345: [10,14,374,16]
+  346: [10,14,375,16]
+  347: "webkitLineDashOffset"
+  348: [10,14,378,16]
+  349: [10,14,379,16]
+  350: "webkitPutImageDataHD"
+  351: [350,12,0,0]
+  352: [10,14,382,37]
+  353: [10,14,383,37]
 
 -- Running test case: Canvas.recording2D.memoryLimit
 initialState:
@@ -1317,15 +1479,16 @@ frames:
     0: arc(1, 2, 3, 4, 5, false)
       swizzleTypes: [Number, Number, Number, Number, Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (13)
-        1: ignoreException - inspector/canvas/recording-2d.html:48:13 (15)
-        2: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (16)
-        3: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (18)
-        4: performActions - inspector/canvas/recording-2d.html:394:25 (20)
-        5: Global Code - [program code] (22)
-        6: evaluateWithScopeExtension - [native code] (25)
-        7: _evaluateOn (27)
-        8: _evaluateAndWrap (29)
+        0: arc - [native code] (13)
+        1: (anonymous function) - inspector/canvas/recording-2d.html:77:42 (15)
+        2: ignoreException - inspector/canvas/recording-2d.html:48:13 (17)
+        3: (anonymous function) - inspector/canvas/recording-2d.html:77:28 (18)
+        4: executeFrameFunction - inspector/canvas/recording-2d.html:390:24 (20)
+        5: performActions - inspector/canvas/recording-2d.html:394:25 (22)
+        6: Global Code - [program code] (24)
+        7: evaluateWithScopeExtension - [native code] (26)
+        8: _evaluateOn (28)
+        9: _evaluateAndWrap (30)
 data:
   0: "source-over"
   1: "butt"
@@ -1339,24 +1502,25 @@ data:
   9: "low"
   10: ""
   11: "arc"
-  12: "inspector/canvas/recording-2d.html"
-  13: [10,12,78,42]
-  14: "ignoreException"
-  15: [14,12,49,13]
-  16: [10,12,78,28]
-  17: "executeFrameFunction"
-  18: [17,12,391,24]
-  19: "performActions"
-  20: [19,12,395,25]
-  21: "global code"
-  22: [21,10,1,15]
-  23: "evaluateWithScopeExtension"
-  24: "[native code]"
-  25: [23,24,0,0]
-  26: "_evaluateOn"
-  27: [26,10,128,29]
-  28: "_evaluateAndWrap"
-  29: [28,10,122,108]
+  12: "[native code]"
+  13: [11,12,0,0]
+  14: "inspector/canvas/recording-2d.html"
+  15: [10,14,78,42]
+  16: "ignoreException"
+  17: [16,14,49,13]
+  18: [10,14,78,28]
+  19: "executeFrameFunction"
+  20: [19,14,391,24]
+  21: "performActions"
+  22: [21,14,395,25]
+  23: "global code"
+  24: [23,10,1,15]
+  25: "evaluateWithScopeExtension"
+  26: [25,12,0,0]
+  27: "_evaluateOn"
+  28: [27,10,128,29]
+  29: "_evaluateAndWrap"
+  30: [29,10,122,108]
 
 -- Running test case: Canvas.recording2D.ActionParameterNaN
 PASS: The recording should have 1 frame.
index 30a0ea5..333b9c4 100644 (file)
@@ -15,31 +15,33 @@ frames:
     0: activeTexture(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (3)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-        2: performActions - inspector/canvas/recording-webgl.html:495:25 (7)
-        3: Global Code - [program code] (9)
-        4: evaluateWithScopeExtension - [native code] (12)
-        5: _evaluateOn (14)
-        6: _evaluateAndWrap (16)
+        0: activeTexture - [native code] (2)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (5)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+        3: performActions - inspector/canvas/recording-webgl.html:495:25 (9)
+        4: Global Code - [program code] (11)
+        5: evaluateWithScopeExtension - [native code] (13)
+        6: _evaluateOn (15)
+        7: _evaluateAndWrap (17)
 data:
   0: "activeTexture"
-  1: ""
-  2: "inspector/canvas/recording-webgl.html"
-  3: [1,2,73,34]
-  4: "executeFrameFunction"
-  5: [4,2,492,24]
-  6: "performActions"
-  7: [6,2,496,25]
-  8: "global code"
-  9: [8,1,1,15]
-  10: "evaluateWithScopeExtension"
-  11: "[native code]"
-  12: [10,11,0,0]
-  13: "_evaluateOn"
-  14: [13,1,128,29]
-  15: "_evaluateAndWrap"
-  16: [15,1,122,108]
+  1: "[native code]"
+  2: [0,1,0,0]
+  3: ""
+  4: "inspector/canvas/recording-webgl.html"
+  5: [3,4,73,34]
+  6: "executeFrameFunction"
+  7: [6,4,492,24]
+  8: "performActions"
+  9: [8,4,496,25]
+  10: "global code"
+  11: [10,3,1,15]
+  12: "evaluateWithScopeExtension"
+  13: [12,1,0,0]
+  14: "_evaluateOn"
+  15: [14,3,128,29]
+  16: "_evaluateAndWrap"
+  17: [16,3,122,108]
 
 -- Running test case: Canvas.recordingWebGL.multipleFrames
 initialState:
@@ -54,1131 +56,1408 @@ frames:
     0: activeTexture(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (3)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-        2: performActions - inspector/canvas/recording-webgl.html:495:25 (7)
-        3: Global Code - [program code] (9)
-        4: evaluateWithScopeExtension - [native code] (12)
-        5: _evaluateOn (14)
-        6: _evaluateAndWrap (16)
+        0: activeTexture - [native code] (2)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (5)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+        3: performActions - inspector/canvas/recording-webgl.html:495:25 (9)
+        4: Global Code - [program code] (11)
+        5: evaluateWithScopeExtension - [native code] (13)
+        6: _evaluateOn (15)
+        7: _evaluateAndWrap (17)
   1:
     0: attachShader(0, 0)
       swizzleTypes: [WebGLProgram, WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:75:33 (18)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: attachShader - [native code] (19)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:75:33 (20)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   2:
     0: bindAttribLocation(0, 1, "test")
-      swizzleTypes: [WebGLProgram, Number, String (20)]
+      swizzleTypes: [WebGLProgram, Number, String (22)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:78:39 (21)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bindAttribLocation - [native code] (23)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:78:39 (24)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   3:
     0: bindBuffer(1, 0)
       swizzleTypes: [Number, WebGLBuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:81:31 (23)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bindBuffer - [native code] (26)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:81:31 (27)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   4:
     0: bindFramebuffer(1, 0)
       swizzleTypes: [Number, WebGLFramebuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:84:36 (25)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bindFramebuffer - [native code] (29)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:84:36 (30)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   5:
     0: bindRenderbuffer(1, 0)
       swizzleTypes: [Number, WebGLRenderbuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:87:37 (27)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bindRenderbuffer - [native code] (32)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:87:37 (33)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   6:
     0: bindTexture(1, 0)
       swizzleTypes: [Number, WebGLTexture]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:90:32 (29)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bindTexture - [native code] (35)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:90:32 (36)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   7:
     0: blendColor(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:93:31 (31)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: blendColor - [native code] (38)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:93:31 (39)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   8:
     0: blendEquation(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:96:34 (33)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: blendEquation - [native code] (41)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:96:34 (42)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   9:
     0: blendEquationSeparate(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:99:42 (35)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: blendEquationSeparate - [native code] (44)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:99:42 (45)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   10:
     0: blendFunc(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:102:30 (37)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: blendFunc - [native code] (47)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:102:30 (48)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   11:
     0: blendFuncSeparate(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:105:38 (39)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: blendFuncSeparate - [native code] (50)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:105:38 (51)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   12:
     0: bufferData(1, 0, 2)
       swizzleTypes: [Number, TypedArray, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:108:31 (41)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bufferData - [native code] (53)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:108:31 (54)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
     1: bufferData(3, 4, 5)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:109:31 (42)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bufferData - [native code] (53)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:109:31 (55)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   13:
     0: bufferSubData(1, 2, 0)
       swizzleTypes: [Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:112:34 (44)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: bufferSubData - [native code] (57)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:112:34 (58)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   14:
     0: checkFramebufferStatus(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:115:43 (46)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: checkFramebufferStatus - [native code] (60)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:115:43 (61)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   15:
     0: clear(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:118:26 (48)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (49)
+        0: clear - [native code] (63)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:118:26 (64)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (65)
   16:
     0: clearColor(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:121:31 (51)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: clearColor - [native code] (67)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:121:31 (68)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   17:
     0: clearDepth(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:124:31 (53)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: clearDepth - [native code] (70)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:124:31 (71)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   18:
     0: clearStencil(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:127:33 (55)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: clearStencil - [native code] (73)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:127:33 (74)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   19:
     0: colorMask(true, false, true, false)
       swizzleTypes: [Boolean, Boolean, Boolean, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:130:30 (57)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: colorMask - [native code] (76)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:130:30 (77)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   20:
     0: compileShader(0)
       swizzleTypes: [WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:133:34 (59)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: compileShader - [native code] (79)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:133:34 (80)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   21:
     0: compressedTexImage2D(1, 2, 3, 4, 5, 6, 0)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:136:41 (61)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: compressedTexImage2D - [native code] (82)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:136:41 (83)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   22:
     0: compressedTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 0)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:139:44 (63)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: compressedTexSubImage2D - [native code] (85)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:139:44 (86)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   23:
     0: copyTexImage2D(1, 2, 3, 4, 5, 6, 7, 8)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:142:35 (65)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: copyTexImage2D - [native code] (88)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:142:35 (89)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   24:
     0: copyTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 8)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:145:38 (67)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: copyTexSubImage2D - [native code] (91)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:145:38 (92)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   25:
     0: createBuffer()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:148:33 (69)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createBuffer - [native code] (94)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:148:33 (95)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   26:
     0: createFramebuffer()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:151:38 (71)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createFramebuffer - [native code] (97)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:151:38 (98)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   27:
     0: createProgram()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:154:34 (73)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createProgram - [native code] (100)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:154:34 (101)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   28:
     0: createRenderbuffer()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:157:39 (75)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createRenderbuffer - [native code] (103)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:157:39 (104)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   29:
     0: createShader(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:160:33 (77)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createShader - [native code] (106)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:160:33 (107)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   30:
     0: createTexture()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:163:34 (79)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: createTexture - [native code] (109)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:163:34 (110)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   31:
     0: cullFace(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:166:29 (81)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: cullFace - [native code] (112)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:166:29 (113)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   32:
     0: deleteBuffer(0)
       swizzleTypes: [WebGLBuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:169:33 (83)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteBuffer - [native code] (115)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:169:33 (116)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   33:
     0: deleteFramebuffer(0)
       swizzleTypes: [WebGLFramebuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:172:38 (85)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteFramebuffer - [native code] (118)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:172:38 (119)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   34:
     0: deleteProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:175:34 (87)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteProgram - [native code] (121)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:175:34 (122)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   35:
     0: deleteRenderbuffer(0)
       swizzleTypes: [WebGLRenderbuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:178:39 (89)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteRenderbuffer - [native code] (124)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:178:39 (125)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   36:
     0: deleteShader(0)
       swizzleTypes: [WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:181:33 (91)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteShader - [native code] (127)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:181:33 (128)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   37:
     0: deleteTexture(0)
       swizzleTypes: [WebGLTexture]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:184:34 (93)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: deleteTexture - [native code] (130)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:184:34 (131)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   38:
     0: depthFunc(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:187:30 (95)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: depthFunc - [native code] (133)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:187:30 (134)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   39:
     0: depthMask(true)
       swizzleTypes: [Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:190:30 (97)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: depthMask - [native code] (136)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:190:30 (137)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   40:
     0: depthRange(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:193:31 (99)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: depthRange - [native code] (139)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:193:31 (140)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   41:
     0: detachShader(0, 0)
       swizzleTypes: [WebGLProgram, WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:196:33 (101)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: detachShader - [native code] (142)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:196:33 (143)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   42:
     0: disable(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:199:28 (103)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: disable - [native code] (145)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:199:28 (146)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   43:
     0: disableVertexAttribArray(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:202:45 (105)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: disableVertexAttribArray - [native code] (148)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:202:45 (149)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   44:
     0: drawArrays(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:205:31 (107)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (49)
+        0: drawArrays - [native code] (151)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:205:31 (152)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (65)
   45:
     0: drawElements(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:208:33 (109)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (49)
+        0: drawElements - [native code] (154)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:208:33 (155)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" (65)
   46:
     0: enable(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:211:27 (111)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: enable - [native code] (157)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:211:27 (158)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   47:
     0: enableVertexAttribArray(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:214:44 (113)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: enableVertexAttribArray - [native code] (160)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:214:44 (161)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   48:
     0: finish()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:217:27 (115)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: finish - [native code] (163)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:217:27 (164)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   49:
     0: flush()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:220:26 (117)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: flush - [native code] (166)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:220:26 (167)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   50:
     0: framebufferRenderbuffer(1, 2, 3, 0)
       swizzleTypes: [Number, Number, Number, WebGLRenderbuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:223:44 (119)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: framebufferRenderbuffer - [native code] (169)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:223:44 (170)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   51:
     0: framebufferTexture2D(1, 2, 3, 0, 4)
       swizzleTypes: [Number, Number, Number, WebGLTexture, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:226:41 (121)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: framebufferTexture2D - [native code] (172)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:226:41 (173)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   52:
     0: frontFace(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:229:30 (123)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: frontFace - [native code] (175)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:229:30 (176)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   53:
     0: generateMipmap(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:232:35 (125)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: generateMipmap - [native code] (178)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:232:35 (179)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   54:
     0: getActiveAttrib(0, 1)
       swizzleTypes: [WebGLProgram, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:235:36 (127)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getActiveAttrib - [native code] (181)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:235:36 (182)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   55:
     0: getActiveUniform(0, 1)
       swizzleTypes: [WebGLProgram, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:238:37 (129)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getActiveUniform - [native code] (184)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:238:37 (185)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   56:
     0: getAttachedShaders(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:241:39 (131)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getAttachedShaders - [native code] (187)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:241:39 (188)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   57:
     0: getAttribLocation(0, "test")
-      swizzleTypes: [WebGLProgram, String (20)]
+      swizzleTypes: [WebGLProgram, String (22)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:244:38 (133)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getAttribLocation - [native code] (190)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:244:38 (191)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   58:
     0: getBufferParameter(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:247:39 (135)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getBufferParameter - [native code] (193)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:247:39 (194)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   59:
     0: getContextAttributes()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:250:41 (137)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getContextAttributes - [native code] (196)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:250:41 (197)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   60:
     0: getError()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:253:29 (139)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getError - [native code] (199)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:253:29 (200)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   61:
     0: getExtension("test")
-      swizzleTypes: [String (20)]
+      swizzleTypes: [String (22)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:256:33 (141)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getExtension - [native code] (202)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:256:33 (203)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   62:
     0: getFramebufferAttachmentParameter(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:259:54 (143)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getFramebufferAttachmentParameter - [native code] (205)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:259:54 (206)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   63:
     0: getParameter(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:262:33 (145)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getParameter - [native code] (208)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:262:33 (209)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   64:
     0: getProgramInfoLog(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:265:38 (147)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getProgramInfoLog - [native code] (211)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:265:38 (212)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   65:
     0: getProgramParameter(0, 1)
       swizzleTypes: [WebGLProgram, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:268:40 (149)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getProgramParameter - [native code] (214)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:268:40 (215)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   66:
     0: getRenderbufferParameter(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:271:45 (151)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getRenderbufferParameter - [native code] (217)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:271:45 (218)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   67:
     0: getShaderInfoLog(0)
       swizzleTypes: [WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:274:37 (153)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getShaderInfoLog - [native code] (220)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:274:37 (221)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   68:
     0: getShaderParameter(0, 1)
       swizzleTypes: [WebGLShader, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:277:39 (155)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getShaderParameter - [native code] (223)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:277:39 (224)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   69:
     0: getShaderPrecisionFormat(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:280:45 (157)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getShaderPrecisionFormat - [native code] (226)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:280:45 (227)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   70:
     0: getShaderSource(0)
       swizzleTypes: [WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:283:36 (159)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getShaderSource - [native code] (229)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:283:36 (230)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   71:
     0: getSupportedExtensions()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:286:43 (161)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getSupportedExtensions - [native code] (232)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:286:43 (233)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   72:
     0: getTexParameter(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:289:36 (163)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getTexParameter - [native code] (235)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:289:36 (236)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   73:
     0: getUniform(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:292:31 (165)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getUniform - [native code] (238)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:292:31 (239)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   74:
     0: getUniformLocation(0, "test")
-      swizzleTypes: [WebGLProgram, String (20)]
+      swizzleTypes: [WebGLProgram, String (22)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:295:39 (167)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getUniformLocation - [native code] (241)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:295:39 (242)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   75:
     0: getVertexAttrib(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:298:36 (169)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getVertexAttrib - [native code] (244)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:298:36 (245)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   76:
     0: getVertexAttribOffset(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:301:42 (171)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: getVertexAttribOffset - [native code] (247)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:301:42 (248)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   77:
     0: hint(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:304:25 (173)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: hint - [native code] (250)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:304:25 (251)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   78:
     0: isBuffer(0)
       swizzleTypes: [WebGLBuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:307:29 (175)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isBuffer - [native code] (253)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:307:29 (254)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   79:
     0: isContextLost()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:310:34 (177)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isContextLost - [native code] (256)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:310:34 (257)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   80:
     0: isEnabled(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:313:30 (179)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isEnabled - [native code] (259)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:313:30 (260)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   81:
     0: isFramebuffer(0)
       swizzleTypes: [WebGLFramebuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:316:34 (181)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isFramebuffer - [native code] (262)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:316:34 (263)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   82:
     0: isProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:319:30 (183)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isProgram - [native code] (265)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:319:30 (266)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   83:
     0: isRenderbuffer(0)
       swizzleTypes: [WebGLRenderbuffer]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:322:35 (185)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isRenderbuffer - [native code] (268)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:322:35 (269)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   84:
     0: isShader(0)
       swizzleTypes: [WebGLShader]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:325:29 (187)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isShader - [native code] (271)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:325:29 (272)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   85:
     0: isTexture(0)
       swizzleTypes: [WebGLTexture]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:328:30 (189)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: isTexture - [native code] (274)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:328:30 (275)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   86:
     0: lineWidth(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:331:30 (191)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: lineWidth - [native code] (277)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:331:30 (278)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   87:
     0: linkProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:334:32 (193)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: linkProgram - [native code] (280)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:334:32 (281)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   88:
     0: pixelStorei(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:337:32 (195)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: pixelStorei - [native code] (283)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:337:32 (284)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   89:
     0: polygonOffset(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:340:34 (197)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: polygonOffset - [native code] (286)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:340:34 (287)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   90:
     0: readPixels(1, 2, 3, 4, 5, 6, 0)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:343:31 (199)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: readPixels - [native code] (289)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:343:31 (290)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   91:
     0: releaseShaderCompiler()
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:346:42 (201)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: releaseShaderCompiler - [native code] (292)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:346:42 (293)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   92:
     0: renderbufferStorage(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:349:40 (203)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: renderbufferStorage - [native code] (295)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:349:40 (296)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   93:
     0: sampleCoverage(1, true)
       swizzleTypes: [Number, Boolean]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:352:35 (205)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: sampleCoverage - [native code] (298)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:352:35 (299)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   94:
     0: scissor(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:355:28 (207)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: scissor - [native code] (301)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:355:28 (302)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   95:
     0: shaderSource(0, "test")
-      swizzleTypes: [WebGLShader, String (20)]
+      swizzleTypes: [WebGLShader, String (22)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:358:33 (209)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: shaderSource - [native code] (304)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:358:33 (305)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   96:
     0: stencilFunc(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:361:32 (211)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilFunc - [native code] (307)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:361:32 (308)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   97:
     0: stencilFuncSeparate(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:364:40 (213)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilFuncSeparate - [native code] (310)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:364:40 (311)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   98:
     0: stencilMask(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:367:32 (215)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilMask - [native code] (313)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:367:32 (314)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   99:
     0: stencilMaskSeparate(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:370:40 (217)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilMaskSeparate - [native code] (316)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:370:40 (317)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   100:
     0: stencilOp(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:373:30 (219)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilOp - [native code] (319)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:373:30 (320)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   101:
     0: stencilOpSeparate(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:376:38 (221)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: stencilOpSeparate - [native code] (322)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:376:38 (323)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   102:
     0: texImage2D(1, 2, 3, 4, 5, [object HTMLImageElement])
-      swizzleTypes: [Number, Number, Number, Number, Number, Image (223)]
+      swizzleTypes: [Number, Number, Number, Number, Number, Image (325)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:379:31 (224)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texImage2D - [native code] (326)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:379:31 (327)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
     1: texImage2D(6, 7, 8, 9, 10, 11, 12, 13, 0)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:380:31 (225)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texImage2D - [native code] (326)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:380:31 (328)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   103:
     0: texParameterf(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:383:34 (227)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texParameterf - [native code] (330)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:383:34 (331)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   104:
     0: texParameteri(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:386:34 (229)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texParameteri - [native code] (333)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:386:34 (334)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   105:
     0: texSubImage2D(1, 2, 3, 4, 5, 6, [object HTMLImageElement])
-      swizzleTypes: [Number, Number, Number, Number, Number, Number, Image (223)]
+      swizzleTypes: [Number, Number, Number, Number, Number, Number, Image (325)]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:389:34 (231)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texSubImage2D - [native code] (336)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:389:34 (337)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
     1: texSubImage2D(7, 8, 9, 10, 11, 12, 13, 14, 0)
       swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:390:34 (232)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: texSubImage2D - [native code] (336)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:390:34 (338)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   106:
     0: uniform1f(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:393:30 (234)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform1f - [native code] (340)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:393:30 (341)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   107:
     0: uniform1fv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:396:31 (236)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform1fv - [native code] (343)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:396:31 (344)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   108:
     0: uniform1i(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:399:30 (238)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform1i - [native code] (346)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:399:30 (347)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   109:
     0: uniform1iv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:402:31 (240)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform1iv - [native code] (349)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:402:31 (350)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   110:
     0: uniform2f(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:405:30 (242)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform2f - [native code] (352)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:405:30 (353)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   111:
     0: uniform2fv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:408:31 (244)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform2fv - [native code] (355)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:408:31 (356)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   112:
     0: uniform2i(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:411:30 (246)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform2i - [native code] (358)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:411:30 (359)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   113:
     0: uniform2iv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:414:31 (248)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform2iv - [native code] (361)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:414:31 (362)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   114:
     0: uniform3f(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:417:30 (250)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform3f - [native code] (364)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:417:30 (365)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   115:
     0: uniform3fv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:420:31 (252)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform3fv - [native code] (367)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:420:31 (368)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   116:
     0: uniform3i(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:423:30 (254)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform3i - [native code] (370)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:423:30 (371)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   117:
     0: uniform3iv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:426:31 (256)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform3iv - [native code] (373)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:426:31 (374)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   118:
     0: uniform4f(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:429:30 (258)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform4f - [native code] (376)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:429:30 (377)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   119:
     0: uniform4fv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:432:31 (260)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform4fv - [native code] (379)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:432:31 (380)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   120:
     0: uniform4i(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:435:30 (262)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform4i - [native code] (382)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:435:30 (383)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   121:
     0: uniform4iv(0)
       swizzleTypes: [TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:438:31 (264)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniform4iv - [native code] (385)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:438:31 (386)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   122:
     0: uniformMatrix2fv(true, 0)
       swizzleTypes: [Boolean, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:441:37 (266)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniformMatrix2fv - [native code] (388)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:441:37 (389)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   123:
     0: uniformMatrix3fv(true, 0)
       swizzleTypes: [Boolean, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:444:37 (268)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniformMatrix3fv - [native code] (391)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:444:37 (392)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   124:
     0: uniformMatrix4fv(true, 0)
       swizzleTypes: [Boolean, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:447:37 (270)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: uniformMatrix4fv - [native code] (394)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:447:37 (395)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   125:
     0: useProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:450:31 (272)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: useProgram - [native code] (397)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:450:31 (398)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   126:
     0: validateProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:453:36 (274)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: validateProgram - [native code] (400)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:453:36 (401)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   127:
     0: vertexAttrib1f(1, 2)
       swizzleTypes: [Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:456:35 (276)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib1f - [native code] (403)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:456:35 (404)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   128:
     0: vertexAttrib1fv(1, 0)
       swizzleTypes: [Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:459:36 (278)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib1fv - [native code] (406)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:459:36 (407)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   129:
     0: vertexAttrib2f(1, 2, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:462:35 (280)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib2f - [native code] (409)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:462:35 (410)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   130:
     0: vertexAttrib2fv(1, 0)
       swizzleTypes: [Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:465:36 (282)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib2fv - [native code] (412)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:465:36 (413)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   131:
     0: vertexAttrib3f(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:468:35 (284)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib3f - [native code] (415)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:468:35 (416)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   132:
     0: vertexAttrib3fv(1, 0)
       swizzleTypes: [Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:471:36 (286)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib3fv - [native code] (418)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:471:36 (419)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   133:
     0: vertexAttrib4f(1, 2, 3, 4, 5)
       swizzleTypes: [Number, Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:474:35 (288)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib4f - [native code] (421)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:474:35 (422)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   134:
     0: vertexAttrib4fv(1, 0)
       swizzleTypes: [Number, TypedArray]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:477:36 (290)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttrib4fv - [native code] (424)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:477:36 (425)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   135:
     0: vertexAttribPointer(1, 2, 3, true, 5, 6)
       swizzleTypes: [Number, Number, Number, Boolean, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:480:40 (292)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: vertexAttribPointer - [native code] (427)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:480:40 (428)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
   136:
     0: viewport(1, 2, 3, 4)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:483:29 (294)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
+        0: viewport - [native code] (430)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:483:29 (431)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
 data:
   0: "activeTexture"
-  1: ""
-  2: "inspector/canvas/recording-webgl.html"
-  3: [1,2,73,34]
-  4: "executeFrameFunction"
-  5: [4,2,492,24]
-  6: "performActions"
-  7: [6,2,496,25]
-  8: "global code"
-  9: [8,1,1,15]
-  10: "evaluateWithScopeExtension"
-  11: "[native code]"
-  12: [10,11,0,0]
-  13: "_evaluateOn"
-  14: [13,1,128,29]
-  15: "_evaluateAndWrap"
-  16: [15,1,122,108]
-  17: "attachShader"
-  18: [1,2,76,33]
-  19: "bindAttribLocation"
-  20: "test"
-  21: [1,2,79,39]
-  22: "bindBuffer"
-  23: [1,2,82,31]
-  24: "bindFramebuffer"
-  25: [1,2,85,36]
-  26: "bindRenderbuffer"
-  27: [1,2,88,37]
-  28: "bindTexture"
-  29: [1,2,91,32]
-  30: "blendColor"
-  31: [1,2,94,31]
-  32: "blendEquation"
-  33: [1,2,97,34]
-  34: "blendEquationSeparate"
-  35: [1,2,100,42]
-  36: "blendFunc"
-  37: [1,2,103,30]
-  38: "blendFuncSeparate"
-  39: [1,2,106,38]
-  40: "bufferData"
-  41: [1,2,109,31]
-  42: [1,2,110,31]
-  43: "bufferSubData"
-  44: [1,2,113,34]
-  45: "checkFramebufferStatus"
-  46: [1,2,116,43]
-  47: "clear"
-  48: [1,2,119,26]
-  49: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC"
-  50: "clearColor"
-  51: [1,2,122,31]
-  52: "clearDepth"
-  53: [1,2,125,31]
-  54: "clearStencil"
-  55: [1,2,128,33]
-  56: "colorMask"
-  57: [1,2,131,30]
-  58: "compileShader"
-  59: [1,2,134,34]
-  60: "compressedTexImage2D"
-  61: [1,2,137,41]
-  62: "compressedTexSubImage2D"
-  63: [1,2,140,44]
-  64: "copyTexImage2D"
-  65: [1,2,143,35]
-  66: "copyTexSubImage2D"
-  67: [1,2,146,38]
-  68: "createBuffer"
-  69: [1,2,149,33]
-  70: "createFramebuffer"
-  71: [1,2,152,38]
-  72: "createProgram"
-  73: [1,2,155,34]
-  74: "createRenderbuffer"
-  75: [1,2,158,39]
-  76: "createShader"
-  77: [1,2,161,33]
-  78: "createTexture"
-  79: [1,2,164,34]
-  80: "cullFace"
-  81: [1,2,167,29]
-  82: "deleteBuffer"
-  83: [1,2,170,33]
-  84: "deleteFramebuffer"
-  85: [1,2,173,38]
-  86: "deleteProgram"
-  87: [1,2,176,34]
-  88: "deleteRenderbuffer"
-  89: [1,2,179,39]
-  90: "deleteShader"
-  91: [1,2,182,33]
-  92: "deleteTexture"
-  93: [1,2,185,34]
-  94: "depthFunc"
-  95: [1,2,188,30]
-  96: "depthMask"
-  97: [1,2,191,30]
-  98: "depthRange"
-  99: [1,2,194,31]
-  100: "detachShader"
-  101: [1,2,197,33]
-  102: "disable"
-  103: [1,2,200,28]
-  104: "disableVertexAttribArray"
-  105: [1,2,203,45]
-  106: "drawArrays"
-  107: [1,2,206,31]
-  108: "drawElements"
-  109: [1,2,209,33]
-  110: "enable"
-  111: [1,2,212,27]
-  112: "enableVertexAttribArray"
-  113: [1,2,215,44]
-  114: "finish"
-  115: [1,2,218,27]
-  116: "flush"
-  117: [1,2,221,26]
-  118: "framebufferRenderbuffer"
-  119: [1,2,224,44]
-  120: "framebufferTexture2D"
-  121: [1,2,227,41]
-  122: "frontFace"
-  123: [1,2,230,30]
-  124: "generateMipmap"
-  125: [1,2,233,35]
-  126: "getActiveAttrib"
-  127: [1,2,236,36]
-  128: "getActiveUniform"
-  129: [1,2,239,37]
-  130: "getAttachedShaders"
-  131: [1,2,242,39]
-  132: "getAttribLocation"
-  133: [1,2,245,38]
-  134: "getBufferParameter"
-  135: [1,2,248,39]
-  136: "getContextAttributes"
-  137: [1,2,251,41]
-  138: "getError"
-  139: [1,2,254,29]
-  140: "getExtension"
-  141: [1,2,257,33]
-  142: "getFramebufferAttachmentParameter"
-  143: [1,2,260,54]
-  144: "getParameter"
-  145: [1,2,263,33]
-  146: "getProgramInfoLog"
-  147: [1,2,266,38]
-  148: "getProgramParameter"
-  149: [1,2,269,40]
-  150: "getRenderbufferParameter"
-  151: [1,2,272,45]
-  152: "getShaderInfoLog"
-  153: [1,2,275,37]
-  154: "getShaderParameter"
-  155: [1,2,278,39]
-  156: "getShaderPrecisionFormat"
-  157: [1,2,281,45]
-  158: "getShaderSource"
-  159: [1,2,284,36]
-  160: "getSupportedExtensions"
-  161: [1,2,287,43]
-  162: "getTexParameter"
-  163: [1,2,290,36]
-  164: "getUniform"
-  165: [1,2,293,31]
-  166: "getUniformLocation"
-  167: [1,2,296,39]
-  168: "getVertexAttrib"
-  169: [1,2,299,36]
-  170: "getVertexAttribOffset"
-  171: [1,2,302,42]
-  172: "hint"
-  173: [1,2,305,25]
-  174: "isBuffer"
-  175: [1,2,308,29]
-  176: "isContextLost"
-  177: [1,2,311,34]
-  178: "isEnabled"
-  179: [1,2,314,30]
-  180: "isFramebuffer"
-  181: [1,2,317,34]
-  182: "isProgram"
-  183: [1,2,320,30]
-  184: "isRenderbuffer"
-  185: [1,2,323,35]
-  186: "isShader"
-  187: [1,2,326,29]
-  188: "isTexture"
-  189: [1,2,329,30]
-  190: "lineWidth"
-  191: [1,2,332,30]
-  192: "linkProgram"
-  193: [1,2,335,32]
-  194: "pixelStorei"
-  195: [1,2,338,32]
-  196: "polygonOffset"
-  197: [1,2,341,34]
-  198: "readPixels"
-  199: [1,2,344,31]
-  200: "releaseShaderCompiler"
-  201: [1,2,347,42]
-  202: "renderbufferStorage"
-  203: [1,2,350,40]
-  204: "sampleCoverage"
-  205: [1,2,353,35]
-  206: "scissor"
-  207: [1,2,356,28]
-  208: "shaderSource"
-  209: [1,2,359,33]
-  210: "stencilFunc"
-  211: [1,2,362,32]
-  212: "stencilFuncSeparate"
-  213: [1,2,365,40]
-  214: "stencilMask"
-  215: [1,2,368,32]
-  216: "stencilMaskSeparate"
-  217: [1,2,371,40]
-  218: "stencilOp"
-  219: [1,2,374,30]
-  220: "stencilOpSeparate"
-  221: [1,2,377,38]
-  222: "texImage2D"
-  223: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
-  224: [1,2,380,31]
-  225: [1,2,381,31]
-  226: "texParameterf"
-  227: [1,2,384,34]
-  228: "texParameteri"
-  229: [1,2,387,34]
-  230: "texSubImage2D"
-  231: [1,2,390,34]
-  232: [1,2,391,34]
-  233: "uniform1f"
-  234: [1,2,394,30]
-  235: "uniform1fv"
-  236: [1,2,397,31]
-  237: "uniform1i"
-  238: [1,2,400,30]
-  239: "uniform1iv"
-  240: [1,2,403,31]
-  241: "uniform2f"
-  242: [1,2,406,30]
-  243: "uniform2fv"
-  244: [1,2,409,31]
-  245: "uniform2i"
-  246: [1,2,412,30]
-  247: "uniform2iv"
-  248: [1,2,415,31]
-  249: "uniform3f"
-  250: [1,2,418,30]
-  251: "uniform3fv"
-  252: [1,2,421,31]
-  253: "uniform3i"
-  254: [1,2,424,30]
-  255: "uniform3iv"
-  256: [1,2,427,31]
-  257: "uniform4f"
-  258: [1,2,430,30]
-  259: "uniform4fv"
-  260: [1,2,433,31]
-  261: "uniform4i"
-  262: [1,2,436,30]
-  263: "uniform4iv"
-  264: [1,2,439,31]
-  265: "uniformMatrix2fv"
-  266: [1,2,442,37]
-  267: "uniformMatrix3fv"
-  268: [1,2,445,37]
-  269: "uniformMatrix4fv"
-  270: [1,2,448,37]
-  271: "useProgram"
-  272: [1,2,451,31]
-  273: "validateProgram"
-  274: [1,2,454,36]
-  275: "vertexAttrib1f"
-  276: [1,2,457,35]
-  277: "vertexAttrib1fv"
-  278: [1,2,460,36]
-  279: "vertexAttrib2f"
-  280: [1,2,463,35]
-  281: "vertexAttrib2fv"
-  282: [1,2,466,36]
-  283: "vertexAttrib3f"
-  284: [1,2,469,35]
-  285: "vertexAttrib3fv"
-  286: [1,2,472,36]
-  287: "vertexAttrib4f"
-  288: [1,2,475,35]
-  289: "vertexAttrib4fv"
-  290: [1,2,478,36]
-  291: "vertexAttribPointer"
-  292: [1,2,481,40]
-  293: "viewport"
-  294: [1,2,484,29]
+  1: "[native code]"
+  2: [0,1,0,0]
+  3: ""
+  4: "inspector/canvas/recording-webgl.html"
+  5: [3,4,73,34]
+  6: "executeFrameFunction"
+  7: [6,4,492,24]
+  8: "performActions"
+  9: [8,4,496,25]
+  10: "global code"
+  11: [10,3,1,15]
+  12: "evaluateWithScopeExtension"
+  13: [12,1,0,0]
+  14: "_evaluateOn"
+  15: [14,3,128,29]
+  16: "_evaluateAndWrap"
+  17: [16,3,122,108]
+  18: "attachShader"
+  19: [18,1,0,0]
+  20: [3,4,76,33]
+  21: "bindAttribLocation"
+  22: "test"
+  23: [21,1,0,0]
+  24: [3,4,79,39]
+  25: "bindBuffer"
+  26: [25,1,0,0]
+  27: [3,4,82,31]
+  28: "bindFramebuffer"
+  29: [28,1,0,0]
+  30: [3,4,85,36]
+  31: "bindRenderbuffer"
+  32: [31,1,0,0]
+  33: [3,4,88,37]
+  34: "bindTexture"
+  35: [34,1,0,0]
+  36: [3,4,91,32]
+  37: "blendColor"
+  38: [37,1,0,0]
+  39: [3,4,94,31]
+  40: "blendEquation"
+  41: [40,1,0,0]
+  42: [3,4,97,34]
+  43: "blendEquationSeparate"
+  44: [43,1,0,0]
+  45: [3,4,100,42]
+  46: "blendFunc"
+  47: [46,1,0,0]
+  48: [3,4,103,30]
+  49: "blendFuncSeparate"
+  50: [49,1,0,0]
+  51: [3,4,106,38]
+  52: "bufferData"
+  53: [52,1,0,0]
+  54: [3,4,109,31]
+  55: [3,4,110,31]
+  56: "bufferSubData"
+  57: [56,1,0,0]
+  58: [3,4,113,34]
+  59: "checkFramebufferStatus"
+  60: [59,1,0,0]
+  61: [3,4,116,43]
+  62: "clear"
+  63: [62,1,0,0]
+  64: [3,4,119,26]
+  65: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC"
+  66: "clearColor"
+  67: [66,1,0,0]
+  68: [3,4,122,31]
+  69: "clearDepth"
+  70: [69,1,0,0]
+  71: [3,4,125,31]
+  72: "clearStencil"
+  73: [72,1,0,0]
+  74: [3,4,128,33]
+  75: "colorMask"
+  76: [75,1,0,0]
+  77: [3,4,131,30]
+  78: "compileShader"
+  79: [78,1,0,0]
+  80: [3,4,134,34]
+  81: "compressedTexImage2D"
+  82: [81,1,0,0]
+  83: [3,4,137,41]
+  84: "compressedTexSubImage2D"
+  85: [84,1,0,0]
+  86: [3,4,140,44]
+  87: "copyTexImage2D"
+  88: [87,1,0,0]
+  89: [3,4,143,35]
+  90: "copyTexSubImage2D"
+  91: [90,1,0,0]
+  92: [3,4,146,38]
+  93: "createBuffer"
+  94: [93,1,0,0]
+  95: [3,4,149,33]
+  96: "createFramebuffer"
+  97: [96,1,0,0]
+  98: [3,4,152,38]
+  99: "createProgram"
+  100: [99,1,0,0]
+  101: [3,4,155,34]
+  102: "createRenderbuffer"
+  103: [102,1,0,0]
+  104: [3,4,158,39]
+  105: "createShader"
+  106: [105,1,0,0]
+  107: [3,4,161,33]
+  108: "createTexture"
+  109: [108,1,0,0]
+  110: [3,4,164,34]
+  111: "cullFace"
+  112: [111,1,0,0]
+  113: [3,4,167,29]
+  114: "deleteBuffer"
+  115: [114,1,0,0]
+  116: [3,4,170,33]
+  117: "deleteFramebuffer"
+  118: [117,1,0,0]
+  119: [3,4,173,38]
+  120: "deleteProgram"
+  121: [120,1,0,0]
+  122: [3,4,176,34]
+  123: "deleteRenderbuffer"
+  124: [123,1,0,0]
+  125: [3,4,179,39]
+  126: "deleteShader"
+  127: [126,1,0,0]
+  128: [3,4,182,33]
+  129: "deleteTexture"
+  130: [129,1,0,0]
+  131: [3,4,185,34]
+  132: "depthFunc"
+  133: [132,1,0,0]
+  134: [3,4,188,30]
+  135: "depthMask"
+  136: [135,1,0,0]
+  137: [3,4,191,30]
+  138: "depthRange"
+  139: [138,1,0,0]
+  140: [3,4,194,31]
+  141: "detachShader"
+  142: [141,1,0,0]
+  143: [3,4,197,33]
+  144: "disable"
+  145: [144,1,0,0]
+  146: [3,4,200,28]
+  147: "disableVertexAttribArray"
+  148: [147,1,0,0]
+  149: [3,4,203,45]
+  150: "drawArrays"
+  151: [150,1,0,0]
+  152: [3,4,206,31]
+  153: "drawElements"
+  154: [153,1,0,0]
+  155: [3,4,209,33]
+  156: "enable"
+  157: [156,1,0,0]
+  158: [3,4,212,27]
+  159: "enableVertexAttribArray"
+  160: [159,1,0,0]
+  161: [3,4,215,44]
+  162: "finish"
+  163: [162,1,0,0]
+  164: [3,4,218,27]
+  165: "flush"
+  166: [165,1,0,0]
+  167: [3,4,221,26]
+  168: "framebufferRenderbuffer"
+  169: [168,1,0,0]
+  170: [3,4,224,44]
+  171: "framebufferTexture2D"
+  172: [171,1,0,0]
+  173: [3,4,227,41]
+  174: "frontFace"
+  175: [174,1,0,0]
+  176: [3,4,230,30]
+  177: "generateMipmap"
+  178: [177,1,0,0]
+  179: [3,4,233,35]
+  180: "getActiveAttrib"
+  181: [180,1,0,0]
+  182: [3,4,236,36]
+  183: "getActiveUniform"
+  184: [183,1,0,0]
+  185: [3,4,239,37]
+  186: "getAttachedShaders"
+  187: [186,1,0,0]
+  188: [3,4,242,39]
+  189: "getAttribLocation"
+  190: [189,1,0,0]
+  191: [3,4,245,38]
+  192: "getBufferParameter"
+  193: [192,1,0,0]
+  194: [3,4,248,39]
+  195: "getContextAttributes"
+  196: [195,1,0,0]
+  197: [3,4,251,41]
+  198: "getError"
+  199: [198,1,0,0]
+  200: [3,4,254,29]
+  201: "getExtension"
+  202: [201,1,0,0]
+  203: [3,4,257,33]
+  204: "getFramebufferAttachmentParameter"
+  205: [204,1,0,0]
+  206: [3,4,260,54]
+  207: "getParameter"
+  208: [207,1,0,0]
+  209: [3,4,263,33]
+  210: "getProgramInfoLog"
+  211: [210,1,0,0]
+  212: [3,4,266,38]
+  213: "getProgramParameter"
+  214: [213,1,0,0]
+  215: [3,4,269,40]
+  216: "getRenderbufferParameter"
+  217: [216,1,0,0]
+  218: [3,4,272,45]
+  219: "getShaderInfoLog"
+  220: [219,1,0,0]
+  221: [3,4,275,37]
+  222: "getShaderParameter"
+  223: [222,1,0,0]
+  224: [3,4,278,39]
+  225: "getShaderPrecisionFormat"
+  226: [225,1,0,0]
+  227: [3,4,281,45]
+  228: "getShaderSource"
+  229: [228,1,0,0]
+  230: [3,4,284,36]
+  231: "getSupportedExtensions"
+  232: [231,1,0,0]
+  233: [3,4,287,43]
+  234: "getTexParameter"
+  235: [234,1,0,0]
+  236: [3,4,290,36]
+  237: "getUniform"
+  238: [237,1,0,0]
+  239: [3,4,293,31]
+  240: "getUniformLocation"
+  241: [240,1,0,0]
+  242: [3,4,296,39]
+  243: "getVertexAttrib"
+  244: [243,1,0,0]
+  245: [3,4,299,36]
+  246: "getVertexAttribOffset"
+  247: [246,1,0,0]
+  248: [3,4,302,42]
+  249: "hint"
+  250: [249,1,0,0]
+  251: [3,4,305,25]
+  252: "isBuffer"
+  253: [252,1,0,0]
+  254: [3,4,308,29]
+  255: "isContextLost"
+  256: [255,1,0,0]
+  257: [3,4,311,34]
+  258: "isEnabled"
+  259: [258,1,0,0]
+  260: [3,4,314,30]
+  261: "isFramebuffer"
+  262: [261,1,0,0]
+  263: [3,4,317,34]
+  264: "isProgram"
+  265: [264,1,0,0]
+  266: [3,4,320,30]
+  267: "isRenderbuffer"
+  268: [267,1,0,0]
+  269: [3,4,323,35]
+  270: "isShader"
+  271: [270,1,0,0]
+  272: [3,4,326,29]
+  273: "isTexture"
+  274: [273,1,0,0]
+  275: [3,4,329,30]
+  276: "lineWidth"
+  277: [276,1,0,0]
+  278: [3,4,332,30]
+  279: "linkProgram"
+  280: [279,1,0,0]
+  281: [3,4,335,32]
+  282: "pixelStorei"
+  283: [282,1,0,0]
+  284: [3,4,338,32]
+  285: "polygonOffset"
+  286: [285,1,0,0]
+  287: [3,4,341,34]
+  288: "readPixels"
+  289: [288,1,0,0]
+  290: [3,4,344,31]
+  291: "releaseShaderCompiler"
+  292: [291,1,0,0]
+  293: [3,4,347,42]
+  294: "renderbufferStorage"
+  295: [294,1,0,0]
+  296: [3,4,350,40]
+  297: "sampleCoverage"
+  298: [297,1,0,0]
+  299: [3,4,353,35]
+  300: "scissor"
+  301: [300,1,0,0]
+  302: [3,4,356,28]
+  303: "shaderSource"
+  304: [303,1,0,0]
+  305: [3,4,359,33]
+  306: "stencilFunc"
+  307: [306,1,0,0]
+  308: [3,4,362,32]
+  309: "stencilFuncSeparate"
+  310: [309,1,0,0]
+  311: [3,4,365,40]
+  312: "stencilMask"
+  313: [312,1,0,0]
+  314: [3,4,368,32]
+  315: "stencilMaskSeparate"
+  316: [315,1,0,0]
+  317: [3,4,371,40]
+  318: "stencilOp"
+  319: [318,1,0,0]
+  320: [3,4,374,30]
+  321: "stencilOpSeparate"
+  322: [321,1,0,0]
+  323: [3,4,377,38]
+  324: "texImage2D"
+  325: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="
+  326: [324,1,0,0]
+  327: [3,4,380,31]
+  328: [3,4,381,31]
+  329: "texParameterf"
+  330: [329,1,0,0]
+  331: [3,4,384,34]
+  332: "texParameteri"
+  333: [332,1,0,0]
+  334: [3,4,387,34]
+  335: "texSubImage2D"
+  336: [335,1,0,0]
+  337: [3,4,390,34]
+  338: [3,4,391,34]
+  339: "uniform1f"
+  340: [339,1,0,0]
+  341: [3,4,394,30]
+  342: "uniform1fv"
+  343: [342,1,0,0]
+  344: [3,4,397,31]
+  345: "uniform1i"
+  346: [345,1,0,0]
+  347: [3,4,400,30]
+  348: "uniform1iv"
+  349: [348,1,0,0]
+  350: [3,4,403,31]
+  351: "uniform2f"
+  352: [351,1,0,0]
+  353: [3,4,406,30]
+  354: "uniform2fv"
+  355: [354,1,0,0]
+  356: [3,4,409,31]
+  357: "uniform2i"
+  358: [357,1,0,0]
+  359: [3,4,412,30]
+  360: "uniform2iv"
+  361: [360,1,0,0]
+  362: [3,4,415,31]
+  363: "uniform3f"
+  364: [363,1,0,0]
+  365: [3,4,418,30]
+  366: "uniform3fv"
+  367: [366,1,0,0]
+  368: [3,4,421,31]
+  369: "uniform3i"
+  370: [369,1,0,0]
+  371: [3,4,424,30]
+  372: "uniform3iv"
+  373: [372,1,0,0]
+  374: [3,4,427,31]
+  375: "uniform4f"
+  376: [375,1,0,0]
+  377: [3,4,430,30]
+  378: "uniform4fv"
+  379: [378,1,0,0]
+  380: [3,4,433,31]
+  381: "uniform4i"
+  382: [381,1,0,0]
+  383: [3,4,436,30]
+  384: "uniform4iv"
+  385: [384,1,0,0]
+  386: [3,4,439,31]
+  387: "uniformMatrix2fv"
+  388: [387,1,0,0]
+  389: [3,4,442,37]
+  390: "uniformMatrix3fv"
+  391: [390,1,0,0]
+  392: [3,4,445,37]
+  393: "uniformMatrix4fv"
+  394: [393,1,0,0]
+  395: [3,4,448,37]
+  396: "useProgram"
+  397: [396,1,0,0]
+  398: [3,4,451,31]
+  399: "validateProgram"
+  400: [399,1,0,0]
+  401: [3,4,454,36]
+  402: "vertexAttrib1f"
+  403: [402,1,0,0]
+  404: [3,4,457,35]
+  405: "vertexAttrib1fv"
+  406: [405,1,0,0]
+  407: [3,4,460,36]
+  408: "vertexAttrib2f"
+  409: [408,1,0,0]
+  410: [3,4,463,35]
+  411: "vertexAttrib2fv"
+  412: [411,1,0,0]
+  413: [3,4,466,36]
+  414: "vertexAttrib3f"
+  415: [414,1,0,0]
+  416: [3,4,469,35]
+  417: "vertexAttrib3fv"
+  418: [417,1,0,0]
+  419: [3,4,472,36]
+  420: "vertexAttrib4f"
+  421: [420,1,0,0]
+  422: [3,4,475,35]
+  423: "vertexAttrib4fv"
+  424: [423,1,0,0]
+  425: [3,4,478,36]
+  426: "vertexAttribPointer"
+  427: [426,1,0,0]
+  428: [3,4,481,40]
+  429: "viewport"
+  430: [429,1,0,0]
+  431: [3,4,484,29]
 
 -- Running test case: Canvas.recordingWebGL.memoryLimit
 initialState:
@@ -1193,29 +1472,31 @@ frames:
     0: activeTexture(1)
       swizzleTypes: [Number]
       trace:
-        0: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (3)
-        1: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (5)
-        2: performActions - inspector/canvas/recording-webgl.html:495:25 (7)
-        3: Global Code - [program code] (9)
-        4: evaluateWithScopeExtension - [native code] (12)
-        5: _evaluateOn (14)
-        6: _evaluateAndWrap (16)
+        0: activeTexture - [native code] (2)
+        1: (anonymous function) - inspector/canvas/recording-webgl.html:72:34 (5)
+        2: executeFrameFunction - inspector/canvas/recording-webgl.html:491:24 (7)
+        3: performActions - inspector/canvas/recording-webgl.html:495:25 (9)
+        4: Global Code - [program code] (11)
+        5: evaluateWithScopeExtension - [native code] (13)
+        6: _evaluateOn (15)
+        7: _evaluateAndWrap (17)
 data:
   0: "activeTexture"
-  1: ""
-  2: "inspector/canvas/recording-webgl.html"
-  3: [1,2,73,34]
-  4: "executeFrameFunction"
-  5: [4,2,492,24]
-  6: "performActions"
-  7: [6,2,496,25]
-  8: "global code"
-  9: [8,1,1,15]
-  10: "evaluateWithScopeExtension"
-  11: "[native code]"
-  12: [10,11,0,0]
-  13: "_evaluateOn"
-  14: [13,1,128,29]
-  15: "_evaluateAndWrap"
-  16: [15,1,122,108]
+  1: "[native code]"
+  2: [0,1,0,0]
+  3: ""
+  4: "inspector/canvas/recording-webgl.html"
+  5: [3,4,73,34]
+  6: "executeFrameFunction"
+  7: [6,4,492,24]
+  8: "performActions"
+  9: [8,4,496,25]
+  10: "global code"
+  11: [10,3,1,15]
+  12: "evaluateWithScopeExtension"
+  13: [12,1,0,0]
+  14: "_evaluateOn"
+  15: [14,3,128,29]
+  16: "_evaluateAndWrap"
+  17: [16,3,122,108]
 
index e2f687c..dd5f9c7 100644 (file)
@@ -15,149 +15,167 @@ frames:
     0: useProgram(0)
       swizzleTypes: [WebGLProgram]
       trace:
-        0: performActions - inspector/canvas/recording-webgl-snapshots.html:48:23 (3)
-        1: Global Code - [program code] (6)
-        2: evaluateWithScopeExtension - [native code] (9)
-        3: _evaluateOn (11)
-        4: _evaluateAndWrap (13)
+        0: useProgram - [native code] (2)
+        1: performActions - inspector/canvas/recording-webgl-snapshots.html:48:23 (5)
+        2: Global Code - [program code] (8)
+        3: evaluateWithScopeExtension - [native code] (10)
+        4: _evaluateOn (12)
+        5: _evaluateAndWrap (14)
     1: clearColor(0, 0, 0, 1)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (16)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:80:17 (17)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: clearColor - [native code] (16)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (18)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:80:17 (19)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     2: clear(16384)
       swizzleTypes: [Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (19)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:80:17 (17)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (20)
+        0: clear - [native code] (21)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (22)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:80:17 (19)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (23)
     3: bufferData(34962, 0, 35044)
       swizzleTypes: [Number, TypedArray, Number]
       trace:
-        0: drawArrays - inspector/canvas/recording-webgl-snapshots.html:61:27 (23)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:81:15 (24)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: bufferData - [native code] (25)
+        1: drawArrays - inspector/canvas/recording-webgl-snapshots.html:61:27 (27)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:81:15 (28)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     4: drawArrays(4, 0, 3)
       swizzleTypes: [Number, Number, Number]
       trace:
-        0: drawArrays - inspector/canvas/recording-webgl-snapshots.html:63:27 (25)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:81:15 (24)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
-      snapshot: "data:image/png;base64,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" (26)
+        0: drawArrays - [native code] (29)
+        1: drawArrays - inspector/canvas/recording-webgl-snapshots.html:63:27 (30)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:81:15 (28)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
+      snapshot: "data:image/png;base64,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" (31)
     5: clearColor(0, 0, 0, 1)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (16)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:82:17 (27)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: clearColor - [native code] (16)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (18)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:82:17 (32)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     6: clear(16384)
       swizzleTypes: [Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (19)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:82:17 (27)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (20)
+        0: clear - [native code] (21)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (22)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:82:17 (32)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (23)
     7: bufferData(34962, 0, 35044)
       swizzleTypes: [Number, TypedArray, Number]
       trace:
-        0: drawElements - inspector/canvas/recording-webgl-snapshots.html:72:27 (29)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (30)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: bufferData - [native code] (25)
+        1: drawElements - inspector/canvas/recording-webgl-snapshots.html:72:27 (34)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (35)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     8: bufferData(34963, 0, 35044)
       swizzleTypes: [Number, TypedArray, Number]
       trace:
-        0: drawElements - inspector/canvas/recording-webgl-snapshots.html:75:27 (31)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (30)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: bufferData - [native code] (25)
+        1: drawElements - inspector/canvas/recording-webgl-snapshots.html:75:27 (36)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (35)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     9: drawElements(4, 3, 5123, 0)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: drawElements - inspector/canvas/recording-webgl-snapshots.html:77:29 (32)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (30)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
-      snapshot: "data:image/png;base64,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" (33)
+        0: drawElements - [native code] (37)
+        1: drawElements - inspector/canvas/recording-webgl-snapshots.html:77:29 (38)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:83:17 (35)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
+      snapshot: "data:image/png;base64,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" (39)
     10: clearColor(0, 0, 0, 1)
       swizzleTypes: [Number, Number, Number, Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (16)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:84:17 (34)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
+        0: clearColor - [native code] (16)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:51:27 (18)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:84:17 (40)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
     11: clear(16384)
       swizzleTypes: [Number]
       trace:
-        0: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (19)
-        1: performActions - inspector/canvas/recording-webgl-snapshots.html:84:17 (34)
-        2: Global Code - [program code] (6)
-        3: evaluateWithScopeExtension - [native code] (9)
-        4: _evaluateOn (11)
-        5: _evaluateAndWrap (13)
-      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (20)
+        0: clear - [native code] (21)
+        1: clearContext - inspector/canvas/recording-webgl-snapshots.html:52:22 (22)
+        2: performActions - inspector/canvas/recording-webgl-snapshots.html:84:17 (40)
+        3: Global Code - [program code] (8)
+        4: evaluateWithScopeExtension - [native code] (10)
+        5: _evaluateOn (12)
+        6: _evaluateAndWrap (14)
+      snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" (23)
 data:
   0: "useProgram"
-  1: "performActions"
-  2: "inspector/canvas/recording-webgl-snapshots.html"
-  3: [1,2,49,23]
-  4: "global code"
-  5: ""
-  6: [4,5,1,15]
-  7: "evaluateWithScopeExtension"
-  8: "[native code]"
-  9: [7,8,0,0]
-  10: "_evaluateOn"
-  11: [10,5,128,29]
-  12: "_evaluateAndWrap"
-  13: [12,5,122,108]
-  14: "clearColor"
-  15: "clearContext"
-  16: [15,2,52,27]
-  17: [1,2,81,17]
-  18: "clear"
-  19: [15,2,53,22]
-  20: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII="
-  21: "bufferData"
-  22: "drawArrays"
-  23: [22,2,62,27]
-  24: [1,2,82,15]
-  25: [22,2,64,27]
-  26: "data:image/png;base64,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"
-  27: [1,2,83,17]
-  28: "drawElements"
-  29: [28,2,73,27]
-  30: [1,2,84,17]
-  31: [28,2,76,27]
-  32: [28,2,78,29]
-  33: "data:image/png;base64,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"
-  34: [1,2,85,17]
+  1: "[native code]"
+  2: [0,1,0,0]
+  3: "performActions"
+  4: "inspector/canvas/recording-webgl-snapshots.html"
+  5: [3,4,49,23]
+  6: "global code"
+  7: ""
+  8: [6,7,1,15]
+  9: "evaluateWithScopeExtension"
+  10: [9,1,0,0]
+  11: "_evaluateOn"
+  12: [11,7,128,29]
+  13: "_evaluateAndWrap"
+  14: [13,7,122,108]
+  15: "clearColor"
+  16: [15,1,0,0]
+  17: "clearContext"
+  18: [17,4,52,27]
+  19: [3,4,81,17]
+  20: "clear"
+  21: [20,1,0,0]
+  22: [17,4,53,22]
+  23: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII="
+  24: "bufferData"
+  25: [24,1,0,0]
+  26: "drawArrays"
+  27: [26,4,62,27]
+  28: [3,4,82,15]
+  29: [26,1,0,0]
+  30: [26,4,64,27]
+  31: "data:image/png;base64,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"
+  32: [3,4,83,17]
+  33: "drawElements"
+  34: [33,4,73,27]
+  35: [3,4,84,17]
+  36: [33,4,76,27]
+  37: [33,1,0,0]
+  38: [33,4,78,29]
+  39: "data:image/png;base64,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"
+  40: [3,4,85,17]
 
index 20fdbf1..785a6ab 100644 (file)
@@ -1,3 +1,17 @@
+2017-10-31  Devin Rousso  <webkit@devinrousso.com>
+
+        Web Inspector: replace Canvas stack iteration with createScriptCallStack
+        https://bugs.webkit.org/show_bug.cgi?id=178980
+
+        Reviewed by Joseph Pecoraro.
+
+        No new tests, updated existing tests.
+
+        * inspector/InspectorCanvas.cpp:
+        (WebCore::InspectorCanvas::buildObjectForCanvas):
+        (WebCore::InspectorCanvas::buildAction):
+        (WebCore::iterateCallFrames): Deleted.
+
 2017-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [FreeType] Simple and complex paths are not applied consistently
index 494ca1f..0b5aaff 100644 (file)
@@ -68,8 +68,8 @@
 #include "WebGPURenderingContext.h"
 #endif
 #include <inspector/IdentifiersFactory.h>
-#include <interpreter/CallFrame.h>
-#include <interpreter/StackVisitor.h>
+#include <inspector/ScriptCallStack.h>
+#include <inspector/ScriptCallStackFactory.h>
 
 
 namespace WebCore {
@@ -191,30 +191,6 @@ bool InspectorCanvas::hasBufferSpace() const
     return m_bufferUsed < m_bufferLimit;
 }
 
-template <typename T, typename Functor>
-static RefPtr<Inspector::Protocol::Array<T>> iterateCallFrames(const Functor& functor)
-{
-    RefPtr<Inspector::Protocol::Array<T>> callFrames = Inspector::Protocol::Array<T>::create();
-    if (JSC::CallFrame* callFrame = JSMainThreadExecState::currentState()->vm().topCallFrame) {
-        callFrame->iterate([&] (JSC::StackVisitor& visitor) {
-            // Only skip Native frames if they are the first frame.
-            if (!callFrames->length() && visitor->isNativeFrame())
-                return JSC::StackVisitor::Continue;
-
-            unsigned line = 0;
-            unsigned column = 0;
-            visitor->computeLineAndColumn(line, column);
-
-            ScriptCallFrame scriptCallFrame(visitor->functionName(), visitor->sourceURL(), static_cast<JSC::SourceID>(visitor->sourceID()), line, column);
-            RefPtr<T> item = functor(scriptCallFrame);
-            callFrames->addItem(WTFMove(item));
-
-            return JSC::StackVisitor::Continue;
-        });
-    }
-    return callFrames;
-}
-
 Ref<Inspector::Protocol::Canvas::Canvas> InspectorCanvas::buildObjectForCanvas(InstrumentingAgents& instrumentingAgents, bool captureBacktrace)
 {
     Document& document = m_canvas.document();
@@ -283,9 +259,8 @@ Ref<Inspector::Protocol::Canvas::Canvas> InspectorCanvas::buildObjectForCanvas(I
         canvas->setMemoryCost(memoryCost);
 
     if (captureBacktrace) {
-        canvas->setBacktrace(iterateCallFrames<Inspector::Protocol::Console::CallFrame>([&] (const ScriptCallFrame& scriptCallFrame) {
-            return scriptCallFrame.buildInspectorObject();
-        }));
+        auto stackTrace = Inspector::createScriptCallStack(JSMainThreadExecState::currentState(), Inspector::ScriptCallStack::maxCallStackSizeToCapture);
+        canvas->setBacktrace(stackTrace->buildInspectorArray());
     }
 
     return canvas;
@@ -588,9 +563,12 @@ RefPtr<Inspector::Protocol::Array<Inspector::InspectorValue>> InspectorCanvas::b
 
     action->addItem(WTFMove(parametersData));
     action->addItem(WTFMove(swizzleTypes));
-    action->addItem(iterateCallFrames<InspectorValue>([&] (const ScriptCallFrame& scriptCallFrame) {
-        return InspectorValue::create(indexForData(scriptCallFrame));
-    }));
+
+    RefPtr<Inspector::Protocol::Array<double>> trace = Inspector::Protocol::Array<double>::create();
+    auto stackTrace = Inspector::createScriptCallStack(JSMainThreadExecState::currentState(), Inspector::ScriptCallStack::maxCallStackSizeToCapture);
+    for (size_t i = 0; i < stackTrace->size(); ++i)
+        trace->addItem(indexForData(stackTrace->at(i)));
+    action->addItem(WTFMove(trace));
 
     return action;
 }