WebKit Bugzilla
Attachment 348300 Details for
Bug 181341
: Web Inspector: Record actions performed on ImageBitmapRenderingContext
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-181341-20180828094427.patch (text/plain), 220.24 KB, created by
Devin Rousso
on 2018-08-28 09:44:29 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2018-08-28 09:44:29 PDT
Size:
220.24 KB
patch
obsolete
>diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 59898cdfaa6aa1e2faf4395568baa4be15674c26..598efa507c25efb54e5bbeed1c7871af9d389886 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,13 @@ >+2018-08-28 Devin Rousso <webkit@devinrousso.com> >+ >+ Web Inspector: Record actions performed on ImageBitmapRenderingContext >+ https://bugs.webkit.org/show_bug.cgi?id=181341 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * inspector/protocol/Recording.json: >+ * inspector/scripts/codegen/generator.py: >+ > 2018-08-27 Yusuke Suzuki <yusukesuzuki@slowstart.org> > > [WebAssembly] Parse wasm modules in a streaming fashion >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index aa16036e28323e8cada1c6e2c851d3d1ef69788b..dc4085821a6245c2c8d102099ec7ba7277e56ba9 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2018-08-28 Devin Rousso <webkit@devinrousso.com> >+ >+ Web Inspector: Record actions performed on ImageBitmapRenderingContext >+ https://bugs.webkit.org/show_bug.cgi?id=181341 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Test: inspector/canvas/recording-bitmaprenderer.html >+ >+ * html/canvas/ImageBitmapRenderingContext.idl: >+ >+ * inspector/InspectorCanvas.cpp: >+ (WebCore::shouldSnapshotBitmapRendererAction): >+ (WebCore::InspectorCanvas::recordAction): >+ >+ * inspector/agents/InspectorCanvasAgent.cpp: >+ (WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame): >+ >+ * page/PageConsoleClient.cpp: >+ (canvasRenderingContext): >+ > 2018-08-28 Alejandro G. Castro <alex@igalia.com> > > Fix gcc compilation warnings after r235230 >diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index aca81e50605fd17f184bba6c95518eab29c53ad0..86757b1293c907c109e890734b15bc6c2f9304d6 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,33 @@ >+2018-08-28 Devin Rousso <webkit@devinrousso.com> >+ >+ Web Inspector: Record actions performed on ImageBitmapRenderingContext >+ https://bugs.webkit.org/show_bug.cgi?id=181341 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UserInterface/Models/Recording.js: >+ (WI.Recording.fromPayload): >+ (WI.Recording.prototype.createContext): >+ >+ * UserInterface/Models/RecordingAction.js: >+ (WI.RecordingAction._prototypeForType): >+ (WI.RecordingAction.prototype.getImageParameters): >+ >+ * UserInterface/Views/RecordingActionTreeElement.js: >+ (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName): >+ >+ * UserInterface/Views/RecordingContentView.js: >+ (WI.RecordingContentView): >+ (WI.RecordingContentView.prototype.get navigationItems): >+ (WI.RecordingContentView.prototype.updateActionIndex): >+ (WI.RecordingContentView.prototype.shown): >+ (WI.RecordingContentView.prototype._generateContentFromSnapshot): Renamed. >+ (WI.RecordingContentView.prototype._updateImageGrid): >+ (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted. >+ >+ * UserInterface/Views/CanvasContentView.js: >+ (WI.CanvasContentView): >+ > 2018-08-27 Keith Rollin <krollin@apple.com> > > Unreviewed build fix -- disable LTO for production builds >diff --git a/Source/JavaScriptCore/inspector/protocol/Recording.json b/Source/JavaScriptCore/inspector/protocol/Recording.json >index d7492d91cf48dd647f1cefc01e32134598358b36..0432f8114f56260288868b6fd6a6c2df0691dbe9 100644 >--- a/Source/JavaScriptCore/inspector/protocol/Recording.json >+++ b/Source/JavaScriptCore/inspector/protocol/Recording.json >@@ -5,7 +5,7 @@ > { > "id": "Type", > "type": "string", >- "enum": ["canvas-2d", "canvas-webgl"], >+ "enum": ["canvas-2d", "canvas-bitmaprenderer", "canvas-webgl"], > "description": "The type of the recording." > }, > { >diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/generator.py >index eed218dc2f053a67751c2c935633195d38dbf85b..3f4966b484216c560c47c4066b316ebd276d05d3 100755 >--- a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py >+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generator.py >@@ -42,6 +42,7 @@ _ALWAYS_SPECIALCASED_ENUM_VALUE_SUBSTRINGS = set(['2D', 'API', 'CSS', 'DOM', 'HT > _ALWAYS_SPECIALCASED_ENUM_VALUE_LOOKUP_TABLE = dict([(s.upper(), s) for s in _ALWAYS_SPECIALCASED_ENUM_VALUE_SUBSTRINGS]) > > _ENUM_IDENTIFIER_RENAME_MAP = { >+ 'canvas-bitmaprenderer': 'CanvasBitmapRenderer', # Recording.Type.canvas-bitmaprenderer > 'canvas-webgl': 'CanvasWebGL', # Recording.Type.canvas-webgl > 'webgl': 'WebGL', # Canvas.ContextType.webgl > 'webgl2': 'WebGL2', # Canvas.ContextType.webgl2 >diff --git a/Source/WebCore/html/canvas/ImageBitmapRenderingContext.idl b/Source/WebCore/html/canvas/ImageBitmapRenderingContext.idl >index 572e5f1ef1d3209f28bcbbf2dc2d0409396b244f..c4bc1bcef68fc2c49234f491d07a3d18ab4af82c 100644 >--- a/Source/WebCore/html/canvas/ImageBitmapRenderingContext.idl >+++ b/Source/WebCore/html/canvas/ImageBitmapRenderingContext.idl >@@ -25,7 +25,8 @@ > > [ > EnabledAtRuntime=ImageBitmapOffscreenCanvas, >- Exposed=Window >+ Exposed=Window, >+ CallTracingCallback=recordCanvasAction, > ] interface ImageBitmapRenderingContext { > readonly attribute HTMLCanvasElement canvas; > >diff --git a/Source/WebCore/inspector/InspectorCanvas.cpp b/Source/WebCore/inspector/InspectorCanvas.cpp >index 0caa76460bea3c36138b969239f0419b2605be51..bb1a031483a19d17f5d78a1e5ba3bfd2f8eac7c8 100644 >--- a/Source/WebCore/inspector/InspectorCanvas.cpp >+++ b/Source/WebCore/inspector/InspectorCanvas.cpp >@@ -121,6 +121,11 @@ bool InspectorCanvas::currentFrameHasData() const > return !!m_frames; > } > >+static bool shouldSnapshotBitmapRendererAction(const String& name) >+{ >+ return name == "transferFromImageBitmap"; >+} >+ > static bool shouldSnapshotWebGLAction(const String& name) > { > return name == "clear" >@@ -156,8 +161,10 @@ void InspectorCanvas::recordAction(const String& name, Vector<RecordCanvasAction > m_bufferUsed += action->memoryCost(); > m_currentActions->addItem(action.ptr()); > >+ if (is<ImageBitmapRenderingContext>(m_context) && shouldSnapshotBitmapRendererAction(name)) >+ m_actionNeedingSnapshot = WTFMove(action); > #if ENABLE(WEBGL) >- if (is<WebGLRenderingContext>(m_context) && shouldSnapshotWebGLAction(name)) >+ else if (is<WebGLRenderingContext>(m_context) && shouldSnapshotWebGLAction(name)) > m_actionNeedingSnapshot = WTFMove(action); > #endif > } >diff --git a/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp b/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >index 543937eb616100d75191d5debe02f65be5f7a29d..1546d50871e3d043ef38a7ca94b6488c8d66c102 100644 >--- a/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >+++ b/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp >@@ -528,6 +528,8 @@ void InspectorCanvasAgent::didFinishRecordingCanvasFrame(CanvasRenderingContext& > Inspector::Protocol::Recording::Type type; > if (is<CanvasRenderingContext2D>(inspectorCanvas->context())) > type = Inspector::Protocol::Recording::Type::Canvas2D; >+ else if (is<ImageBitmapRenderingContext>(inspectorCanvas->context())) >+ type = Inspector::Protocol::Recording::Type::CanvasBitmapRenderer; > #if ENABLE(WEBGL) > else if (is<WebGLRenderingContext>(inspectorCanvas->context())) > type = Inspector::Protocol::Recording::Type::CanvasWebGL; >diff --git a/Source/WebCore/page/PageConsoleClient.cpp b/Source/WebCore/page/PageConsoleClient.cpp >index d8f3039199ba0c3eab9fef464b45093042324fa6..9f65531480c5cbcf4d33cf2caa33577b4d92a2d6 100644 >--- a/Source/WebCore/page/PageConsoleClient.cpp >+++ b/Source/WebCore/page/PageConsoleClient.cpp >@@ -35,11 +35,13 @@ > #include "Document.h" > #include "Frame.h" > #include "HTMLCanvasElement.h" >+#include "ImageBitmapRenderingContext.h" > #include "InspectorController.h" > #include "InspectorInstrumentation.h" > #include "JSCanvasRenderingContext2D.h" > #include "JSExecState.h" > #include "JSHTMLCanvasElement.h" >+#include "JSImageBitmapRenderingContext.h" > #include "JSOffscreenCanvas.h" > #include "OffscreenCanvas.h" > #include "Page.h" >@@ -235,6 +237,8 @@ static CanvasRenderingContext* canvasRenderingContext(JSC::VM& vm, ScriptArgumen > return canvas->renderingContext(); > if (auto* context = JSCanvasRenderingContext2D::toWrapped(vm, target)) > return context; >+ if (auto* context = JSImageBitmapRenderingContext::toWrapped(vm, target)) >+ return context; > #if ENABLE(WEBGL) > if (auto* context = JSWebGLRenderingContext::toWrapped(vm, target)) > return context; >diff --git a/Source/WebInspectorUI/UserInterface/Models/Recording.js b/Source/WebInspectorUI/UserInterface/Models/Recording.js >index fb3c87665b4192ce5aa37121a8046b1213ddd75e..6629390b444924cd90b9892a215aafec4255ac89 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/Recording.js >+++ b/Source/WebInspectorUI/UserInterface/Models/Recording.js >@@ -58,6 +58,9 @@ WI.Recording = class Recording extends WI.Object > case RecordingAgent.Type.Canvas2D: > type = WI.Recording.Type.Canvas2D; > break; >+ case RecordingAgent.Type.CanvasBitmapRenderer: >+ type = WI.Recording.Type.CanvasBitmapRenderer; >+ break; > case RecordingAgent.Type.CanvasWebGL: > type = WI.Recording.Type.CanvasWebGL; > break; >@@ -319,6 +322,9 @@ WI.Recording = class Recording extends WI.Object > if (this._type === WI.Recording.Type.Canvas2D) > return createCanvasContext("2d"); > >+ if (this._type === WI.Recording.Type.BitmapRenderer) >+ return createCanvasContext("bitmaprenderer"); >+ > if (this._type === WI.Recording.Type.CanvasWebGL) > return createCanvasContext("webgl"); > >@@ -476,6 +482,7 @@ WI.Recording.CanvasRecordingNamesSymbol = Symbol("canvas-recording-names"); > > WI.Recording.Type = { > Canvas2D: "canvas-2d", >+ CanvasBitmapRenderer: "canvas-bitmaprenderer", > CanvasWebGL: "canvas-webgl", > }; > >diff --git a/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js b/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js >index 238d2aa3e76d37962c8ab9d67b5c993dabe09144..89c8b51d0c1961a976c274e14d190a084ae26487 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js >+++ b/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js >@@ -91,6 +91,8 @@ WI.RecordingAction = class RecordingAction extends WI.Object > { > if (type === WI.Recording.Type.Canvas2D) > return CanvasRenderingContext2D.prototype; >+ if (type === WI.Recording.Type.CanvasBitmapRenderer) >+ return ImageBitmapRenderingContext.prototype; > if (type === WI.Recording.Type.CanvasWebGL) > return WebGLRenderingContext.prototype; > return null; >@@ -345,6 +347,8 @@ WI.RecordingAction = class RecordingAction extends WI.Object > case "strokeStyle": > // 2D (non-standard) > case "drawImageFromRect": >+ // BitmapRenderer >+ case "transferFromImageBitmap": > return this._parameters.slice(0, 1); > } > >@@ -379,6 +383,9 @@ WI.RecordingAction._visualNames = { > "strokeRect", > "strokeText", > ]), >+ [WI.Recording.Type.CanvasBitmapRenderer]: new Set([ >+ "transferFromImageBitmap", >+ ]), > [WI.Recording.Type.CanvasWebGL]: new Set([ > "clear", > "drawArrays", >diff --git a/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js b/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js >index 192267e1f9eda52d6af9280abbc41d8a4f7e9625..dc13f07d165d9c4c986d0879583a668becbb6618 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js >@@ -43,7 +43,7 @@ WI.CanvasContentView = class CanvasContentView extends WI.ContentView > this._pixelSizeElement = null; > this._canvasNode = null; > >- if (this.representedObject.contextType === WI.Canvas.ContextType.Canvas2D || this.representedObject.contextType === WI.Canvas.ContextType.WebGL) { >+ if (this.representedObject.contextType === WI.Canvas.ContextType.Canvas2D || this.representedObject.contextType === WI.Canvas.ContextType.BitmapRenderer || this.representedObject.contextType === WI.Canvas.ContextType.WebGL) { > const toolTip = WI.UIString("Start recording canvas actions.\nShift-click to record a single frame."); > const altToolTip = WI.UIString("Stop recording canvas actions"); > this._recordButtonNavigationItem = new WI.ToggleButtonNavigationItem("record-start-stop", toolTip, altToolTip, "Images/Record.svg", "Images/Stop.svg", 13, 13); >diff --git a/Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js b/Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js >index e6dc51f1b4ab90981bc6c56a151895ea2750f9bc..f51b9fc44a42040aeb0eb4f097d1397fac85ba23 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js >+++ b/Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js >@@ -273,6 +273,7 @@ WI.RecordingActionTreeElement = class RecordingActionTreeElement extends WI.Gene > case "imageSmoothingEnabled": > case "imageSmoothingQuality": > case "putImageData": >+ case "transferFromImageBitmap": > case "webkitImageSmoothingEnabled": > return "image"; > >diff --git a/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js b/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js >index 4a8e010cfa0b96e9823907cdbd4965938e29bd86..563c3226b255516ae79c0eddedb33fdc9b7f7bde 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js >@@ -40,8 +40,9 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > this.element.classList.add("recording", this.representedObject.type); > > let isCanvas2D = this.representedObject.type === WI.Recording.Type.Canvas2D; >+ let isCanvasBitmapRenderer = this.representedObject.type === WI.Recording.Type.CanvasBitmapRenderer; > let isCanvasWebGL = this.representedObject.type === WI.Recording.Type.CanvasWebGL; >- if (isCanvas2D || isCanvasWebGL) { >+ if (isCanvas2D || isCanvasBitmapRenderer || isCanvasWebGL) { > if (isCanvas2D && WI.ImageUtilities.supportsCanvasPathDebugging()) { > this._pathContext = null; > >@@ -89,8 +90,9 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > get navigationItems() > { > let isCanvas2D = this.representedObject.type === WI.Recording.Type.Canvas2D; >+ let isCanvasBitmapRenderer = this.representedObject.type === WI.Recording.Type.CanvasBitmapRenderer; > let isCanvasWebGL = this.representedObject.type === WI.Recording.Type.CanvasWebGL; >- if (!isCanvas2D && !isCanvasWebGL) >+ if (!isCanvas2D && !isCanvasBitmapRenderer && !isCanvasWebGL) > return []; > > let navigationItems = [this._exportButtonNavigationItem, new WI.DividerNavigationItem]; >@@ -124,8 +126,8 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > > if (this.representedObject.type === WI.Recording.Type.Canvas2D) > this._throttler._generateContentCanvas2D(index); >- else if (this.representedObject.type === WI.Recording.Type.CanvasWebGL) >- this._throttler._generateContentCanvasWebGL(index); >+ else if (this.representedObject.type === WI.Recording.Type.CanvasBitmapRenderer || this.representedObject.type === WI.Recording.Type.CanvasWebGL) >+ this._throttler._generateContentFromSnapshot(index); > > this._action = this.representedObject.actions[this._index]; > >@@ -137,8 +139,9 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > super.shown(); > > let isCanvas2D = this.representedObject.type === WI.Recording.Type.Canvas2D; >+ let isCanvasBitmapRenderer = this.representedObject.type === WI.Recording.Type.CanvasBitmapRenderer; > let isCanvasWebGL = this.representedObject.type === WI.Recording.Type.CanvasWebGL; >- if (isCanvas2D || isCanvasWebGL) { >+ if (isCanvas2D || isCanvasBitmapRenderer || isCanvasWebGL) { > if (isCanvas2D) > this._updateCanvasPath(); > this._updateImageGrid(); >@@ -381,14 +384,14 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > this._updateImageGrid(); > } > >- _generateContentCanvasWebGL(index) >+ _generateContentFromSnapshot(index) > { > let imageLoad = (event) => { > // Loading took too long and the current action index has already changed. > if (index !== this._index) > return; > >- this._generateContentCanvasWebGL(index); >+ this._generateContentFromSnapshot(index); > }; > > let initialState = this.representedObject.initialState; >@@ -441,9 +444,8 @@ WI.RecordingContentView = class RecordingContentView extends WI.ContentView > let activated = WI.settings.showImageGrid.value; > this._showGridButtonNavigationItem.activated = activated; > >- let snapshotIndex = Math.floor(this._index / WI.RecordingContentView.SnapshotInterval); >- if (!isNaN(this._index) && this._snapshots[snapshotIndex]) >- this._snapshots[snapshotIndex].element.classList.toggle("show-grid", activated); >+ if (!isNaN(this._index)) >+ this._previewContainer.firstElementChild.classList.toggle("show-grid", activated); > } > > _updateSliderValue() >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index e4f151a931261dbcebaac3318fc9a89626c05033..f885989b8555ee086106d25fc470aab24ba58448 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,20 @@ >+2018-08-28 Devin Rousso <webkit@devinrousso.com> >+ >+ Web Inspector: Record actions performed on ImageBitmapRenderingContext >+ https://bugs.webkit.org/show_bug.cgi?id=181341 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * inspector/canvas/recording-2d-expected.txt: >+ * inspector/canvas/recording-bitmaprenderer-expected.txt: Added. >+ * inspector/canvas/recording-bitmaprenderer.html: Added. >+ * inspector/canvas/recording-webgl-expected.txt: >+ * inspector/canvas/recording-webgl-snapshots-expected.txt: >+ * inspector/canvas/resources/recording-utilities.js: >+ Simplify the test output to avoid unrelated failures, such as if line numbers change. >+ Also remove non-human-readable text, as it makes it more difficult for those unfamiliar with >+ the test to determine if any differences are acceptable. >+ > 2018-08-27 Mark Lam <mark.lam@apple.com> > > Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names. >diff --git a/LayoutTests/inspector/canvas/recording-2d-expected.txt b/LayoutTests/inspector/canvas/recording-2d-expected.txt >index 9b77a4434d2bb931b63f36a8f43c1a61481576fc..a4917183c57ef6f2d21ece7f5a5f14e7d331018b 100644 >--- a/LayoutTests/inspector/canvas/recording-2d-expected.txt >+++ b/LayoutTests/inspector/canvas/recording-2d-expected.txt >@@ -36,63 +36,29 @@ frames: > 0: arc(1, 2, 3, 4, 5, false) > swizzleTypes: [Number, Number, Number, Number, Number, Boolean] > trace: >- 0: arc - [native code] (13) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:80:42 (15) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:80:28 (18) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >- 5: performActions - inspector/canvas/recording-2d.html:397:25 (22) >- 6: Global Code - [program code] (24) >- 7: evaluateWithScopeExtension - [native code] (26) >- 8: _evaluateOn (28) >- 9: _evaluateAndWrap (30) >+ 0: arc >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction >+ 5: performActions >+ 6: Global Code >+ 7: evaluateWithScopeExtension >+ 8: _evaluateOn >+ 9: _evaluateAndWrap > 1: arc(6, 7, 8, 9, 10, true) > swizzleTypes: [Number, Number, Number, Number, Number, Boolean] > trace: >- 0: arc - [native code] (13) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:81:42 (31) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:81:28 (32) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >- 5: performActions - inspector/canvas/recording-2d.html:397: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" >- 2: "miter" >- 3: "rgba(0, 0, 0, 0)" >- 4: "10px sans-serif" >- 5: "start" >- 6: "alphabetic" >- 7: "ltr" >- 8: "#000000" >- 9: "low" >- 10: "" >- 11: "arc" >- 12: "[native code]" >- 13: [11,12,0,0] >- 14: "inspector/canvas/recording-2d.html" >- 15: [10,14,81,42] >- 16: "ignoreException" >- 17: [16,14,52,13] >- 18: [10,14,81,28] >- 19: "executeFrameFunction" >- 20: [19,14,394,24] >- 21: "performActions" >- 22: [21,14,398,25] >- 23: "global code" >- 24: [23,10,1,15] >- 25: "evaluateWithScopeExtension" >- 26: [25,12,0,0] >- 27: "_evaluateOn" >- 28: [27,10,130,29] >- 29: "_evaluateAndWrap" >- 30: [29,10,124,108] >- 31: [10,14,82,42] >- 32: [10,14,82,28] >+ 0: arc >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction >+ 5: performActions >+ 6: Global Code >+ 7: evaluateWithScopeExtension >+ 8: _evaluateOn >+ 9: _evaluateAndWrap > > -- Running test case: Canvas.recording2D.multipleFrames > initialState: >@@ -128,1332 +94,977 @@ frames: > 0: arc(1, 2, 3, 4, 5, false) > swizzleTypes: [Number, Number, Number, Number, Number, Boolean] > trace: >- 0: arc - [native code] (13) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:80:42 (15) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:80:28 (18) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >- 5: performActions - inspector/canvas/recording-2d.html:397:25 (22) >- 6: Global Code - [program code] (24) >- 7: evaluateWithScopeExtension - [native code] (26) >- 8: _evaluateOn (28) >- 9: _evaluateAndWrap (30) >+ 0: arc >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction >+ 5: performActions >+ 6: Global Code >+ 7: evaluateWithScopeExtension >+ 8: _evaluateOn >+ 9: _evaluateAndWrap > 1: arc(6, 7, 8, 9, 10, true) > swizzleTypes: [Number, Number, Number, Number, Number, Boolean] > trace: >- 0: arc - [native code] (13) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:81:42 (31) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:81:28 (32) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >- 5: performActions - inspector/canvas/recording-2d.html:397:25 (22) >- 6: Global Code - [program code] (24) >- 7: evaluateWithScopeExtension - [native code] (26) >- 8: _evaluateOn (28) >- 9: _evaluateAndWrap (30) >+ 0: arc >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction >+ 5: performActions >+ 6: Global Code >+ 7: evaluateWithScopeExtension >+ 8: _evaluateOn >+ 9: _evaluateAndWrap > 1: (duration) > 0: arcTo(1, 2, 3, 4, 5) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 0: arcTo - [native code] (34) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:84:44 (35) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:84:28 (36) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: arcTo >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 2: (duration) > 0: beginPath() > trace: >- 0: beginPath - [native code] (38) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:87:26 (39) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: beginPath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: (duration) > 0: bezierCurveTo(1, 2, 3, 4, 5, 6) > swizzleTypes: [Number, Number, Number, Number, Number, Number] > trace: >- 0: bezierCurveTo - [native code] (41) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:90:30 (42) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: bezierCurveTo >+ 1: (anonymous function) >+ 2: executeFrameFunction > 4: (duration) > 0: clearRect(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: clearRect - [native code] (44) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:93:26 (45) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clearRect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 5: (duration) > 0: clearShadow() > trace: >- 0: clearShadow - [native code] (47) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:96:28 (48) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clearShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 6: (duration) > 0: clip("nonzero") >- swizzleTypes: [String (50)] >+ swizzleTypes: [String] > trace: >- 0: clip - [native code] (51) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:99:21 (52) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clip >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: clip("evenodd") >- swizzleTypes: [String (53)] >+ swizzleTypes: [String] > trace: >- 0: clip - [native code] (51) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:100:21 (54) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clip >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: clip([object Path2D], "nonzero") >- swizzleTypes: [Path2D (55), String (50)] >+ swizzleTypes: [Path2D, String] > trace: >- 0: clip - [native code] (51) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:101:21 (56) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clip >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: clip([object Path2D], "evenodd") >- swizzleTypes: [Path2D (57), String (53)] >+ swizzleTypes: [Path2D, String] > trace: >- 0: clip - [native code] (51) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:102:21 (58) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: clip >+ 1: (anonymous function) >+ 2: executeFrameFunction > 7: (duration) > 0: closePath() > trace: >- 0: closePath - [native code] (60) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:105:26 (61) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: closePath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 8: (duration) > 0: createImageData([object ImageData]) >- swizzleTypes: [ImageData (63)] >+ swizzleTypes: [ImageData] > trace: >- 0: createImageData - [native code] (64) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:108:54 (65) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:108:28 (66) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createImageData >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 1: createImageData(2, 3) > swizzleTypes: [Number, Number] > trace: >- 0: createImageData - [native code] (64) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:109:54 (67) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:109:28 (68) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createImageData >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 9: (duration) > 0: createLinearGradient(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: createLinearGradient - [native code] (70) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:112:59 (71) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:112:28 (72) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createLinearGradient >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 10: (duration) > 0: createPattern([object HTMLImageElement], "testA") >- swizzleTypes: [Image (74), String (75)] >+ swizzleTypes: [Image, String] > trace: >- 0: createPattern - [native code] (76) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:115:52 (77) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:115:28 (78) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createPattern >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 1: createPattern([object HTMLImageElement], "testB") >- swizzleTypes: [Image (79), String (80)] >+ swizzleTypes: [Image, String] > trace: >- 0: createPattern - [native code] (76) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:116:52 (81) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:116:28 (82) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createPattern >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 2: createPattern([object HTMLImageElement], "testC") >- swizzleTypes: [Image (83), String (84)] >+ swizzleTypes: [Image, String] > trace: >- 0: createPattern - [native code] (76) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:117:52 (85) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:117:28 (86) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createPattern >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 3: createPattern([object ImageBitmap], "testD") >- swizzleTypes: [ImageBitmap (74), String (87)] >+ swizzleTypes: [ImageBitmap, String] > trace: >- 0: createPattern - [native code] (76) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:118:52 (88) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:118:28 (89) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createPattern >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 11: (duration) > 0: createRadialGradient(1, 2, 3, 4, 5, 6) > swizzleTypes: [Number, Number, Number, Number, Number, Number] > trace: >- 0: createRadialGradient - [native code] (91) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:121:59 (92) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:121:28 (93) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: createRadialGradient >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 12: (duration) > 0: direction > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:124:16 (95) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 13: (duration) > 0: drawFocusIfNeeded("Element") >- swizzleTypes: [None (97)] >+ swizzleTypes: [None] > trace: >- 0: drawFocusIfNeeded - [native code] (98) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:128:34 (99) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawFocusIfNeeded >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: drawFocusIfNeeded([object Path2D], "Element") >- swizzleTypes: [Path2D (55), None (97)] >+ swizzleTypes: [Path2D, None] > trace: >- 0: drawFocusIfNeeded - [native code] (98) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:129:34 (100) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawFocusIfNeeded >+ 1: (anonymous function) >+ 2: executeFrameFunction > 14: (duration) > 0: drawImage([object HTMLImageElement], 11, 12) >- swizzleTypes: [Image (74), Number, Number] >+ swizzleTypes: [Image, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:132:48 (103) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:132:28 (104) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 1: drawImage([object HTMLImageElement], 13, 14, 15, 16) >- swizzleTypes: [Image (74), Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:133:48 (105) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:133:28 (106) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 2: drawImage([object HTMLImageElement], 17, 18, 19, 110, 111, 112, 113, 114) >- swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:134:48 (107) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:134:28 (108) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 3: drawImage([object HTMLImageElement], 21, 22) >- swizzleTypes: [Image (79), Number, Number] >+ swizzleTypes: [Image, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:136:48 (109) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:136:28 (110) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 4: drawImage([object HTMLImageElement], 23, 24, 25, 26) >- swizzleTypes: [Image (79), Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:137:48 (111) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:137:28 (112) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 5: drawImage([object HTMLImageElement], 27, 28, 29, 210, 211, 212, 213, 214) >- swizzleTypes: [Image (79), Number, Number, Number, Number, Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:138:48 (113) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:138:28 (114) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 6: drawImage([object HTMLImageElement], 31, 32) >- swizzleTypes: [Image (83), Number, Number] >+ swizzleTypes: [Image, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:140:48 (115) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:140:28 (116) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 7: drawImage([object HTMLImageElement], 33, 34, 35, 36) >- swizzleTypes: [Image (83), Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:141:48 (117) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:141:28 (118) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 8: drawImage([object HTMLImageElement], 37, 38, 39, 310, 311, 312, 313, 314) >- swizzleTypes: [Image (83), Number, Number, Number, Number, Number, Number, Number, Number] >+ swizzleTypes: [Image, Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:142:48 (119) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:142:28 (120) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 9: drawImage([object ImageBitmap], 41, 42) >- swizzleTypes: [ImageBitmap (74), Number, Number] >+ swizzleTypes: [ImageBitmap, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:144:48 (121) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:144:28 (122) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 10: drawImage([object ImageBitmap], 43, 44, 45, 46) >- swizzleTypes: [ImageBitmap (74), Number, Number, Number, Number] >+ swizzleTypes: [ImageBitmap, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:145:48 (123) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:145:28 (124) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 11: drawImage([object ImageBitmap], 47, 48, 49, 410, 411, 412, 413, 414) >- swizzleTypes: [ImageBitmap (74), Number, Number, Number, Number, Number, Number, Number, Number] >+ swizzleTypes: [ImageBitmap, Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: drawImage - [native code] (102) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:146:48 (125) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:146:28 (126) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImage >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 15: (duration) > 0: drawImageFromRect([object HTMLImageElement], 1, 2, 3, 4, 5, 6, 7, 8, "") >- swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number, String (10)] >+ swizzleTypes: [Image, Number, Number, Number, Number, Number, Number, Number, Number, String] > trace: >- 0: drawImageFromRect - [native code] (128) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:149:34 (129) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImageFromRect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: drawImageFromRect([object HTMLImageElement], 9, 10, 11, 12, 13, 14, 15, 16, "test") >- swizzleTypes: [Image (74), Number, Number, Number, Number, Number, Number, Number, Number, String (130)] >+ swizzleTypes: [Image, Number, Number, Number, Number, Number, Number, Number, Number, String] > trace: >- 0: drawImageFromRect - [native code] (128) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:150:34 (131) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: drawImageFromRect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 16: (duration) > 0: ellipse(1, 2, 3, 4, 5, 6, 7, false) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Boolean] > trace: >- 0: ellipse - [native code] (133) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:153:46 (134) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:153:28 (135) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: ellipse >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 1: ellipse(8, 9, 10, 11, 12, 13, 14, true) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Boolean] > trace: >- 0: ellipse - [native code] (133) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:154:46 (136) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:154:28 (137) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: ellipse >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 17: (duration) > 0: fill("nonzero") >- swizzleTypes: [String (50)] >+ swizzleTypes: [String] > trace: >- 0: fill - [native code] (139) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:157:21 (140) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fill >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: fill("evenodd") >- swizzleTypes: [String (53)] >+ swizzleTypes: [String] > trace: >- 0: fill - [native code] (139) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:158:21 (141) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fill >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: fill([object Path2D], "nonzero") >- swizzleTypes: [Path2D (55), String (50)] >+ swizzleTypes: [Path2D, String] > trace: >- 0: fill - [native code] (139) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:159:21 (142) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fill >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: fill([object Path2D], "evenodd") >- swizzleTypes: [Path2D (57), String (53)] >+ swizzleTypes: [Path2D, String] > trace: >- 0: fill - [native code] (139) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:160:21 (143) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fill >+ 1: (anonymous function) >+ 2: executeFrameFunction > 18: (duration) > 0: fillRect(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: fillRect - [native code] (145) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:163:25 (146) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fillRect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 19: (duration) > 0: fillStyle > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:166:16 (148) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: fillStyle = "test" >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:167:16 (149) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 2: fillStyle = [object CanvasGradient] >- swizzleTypes: [CanvasGradient (151)] >+ swizzleTypes: [CanvasGradient] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:168:16 (152) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 3: fillStyle = [object CanvasGradient] >- swizzleTypes: [CanvasGradient (154)] >+ swizzleTypes: [CanvasGradient] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:169:16 (155) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 4: fillStyle = [object CanvasPattern] >- swizzleTypes: [CanvasPattern (157)] >+ swizzleTypes: [CanvasPattern] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:170:16 (158) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 20: (duration) > 0: fillText("testA", 1, 2) >- swizzleTypes: [String (75), Number, Number] >+ swizzleTypes: [String, Number, Number] > trace: >- 0: fillText - [native code] (160) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:173:25 (161) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fillText >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: fillText("testB", 3, 4, 5) >- swizzleTypes: [String (80), Number, Number, Number] >+ swizzleTypes: [String, Number, Number, Number] > trace: >- 0: fillText - [native code] (160) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:174:25 (162) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: fillText >+ 1: (anonymous function) >+ 2: executeFrameFunction > 21: (duration) > 0: font > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:177:16 (164) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: font = "test" >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:178:16 (165) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 22: (duration) > 0: getImageData(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: getImageData - [native code] (167) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:181:51 (168) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:181:28 (169) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: getImageData >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 23: (duration) > 0: getLineDash() > trace: >- 0: getLineDash - [native code] (171) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:184:28 (172) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: getLineDash >+ 1: (anonymous function) >+ 2: executeFrameFunction > 24: (duration) > 0: getTransform() > trace: >- 0: getTransform - [native code] (174) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:187:29 (175) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: getTransform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 25: (duration) > 0: globalAlpha > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:190:16 (177) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: globalAlpha = 0 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:191:16 (178) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 26: (duration) > 0: globalCompositeOperation > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:194:16 (180) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: globalCompositeOperation = "test" >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:195:16 (181) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 27: (duration) > 0: imageSmoothingEnabled > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:198:16 (183) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: imageSmoothingEnabled = true > swizzleTypes: [Boolean] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:199:16 (184) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 28: (duration) > 0: imageSmoothingQuality > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:202:16 (186) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: imageSmoothingQuality = "low" >- swizzleTypes: [String (9)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:203:16 (187) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 29: (duration) > 0: isPointInPath([object Path2D], 5, 6, "nonzero") >- swizzleTypes: [Path2D (55), Number, Number, String (50)] >+ swizzleTypes: [Path2D, Number, Number, String] > trace: >- 0: isPointInPath - [native code] (189) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:206:30 (190) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInPath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: isPointInPath([object Path2D], 7, 8, "evenodd") >- swizzleTypes: [Path2D (57), Number, Number, String (53)] >+ swizzleTypes: [Path2D, Number, Number, String] > trace: >- 0: isPointInPath - [native code] (189) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:207:30 (191) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInPath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: isPointInPath(9, 10, "nonzero") >- swizzleTypes: [Number, Number, String (50)] >+ swizzleTypes: [Number, Number, String] > trace: >- 0: isPointInPath - [native code] (189) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:208:30 (192) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInPath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: isPointInPath(11, 12, "evenodd") >- swizzleTypes: [Number, Number, String (53)] >+ swizzleTypes: [Number, Number, String] > trace: >- 0: isPointInPath - [native code] (189) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:209:30 (193) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInPath >+ 1: (anonymous function) >+ 2: executeFrameFunction > 30: (duration) > 0: isPointInStroke([object Path2D], 3, 4) >- swizzleTypes: [Path2D (55), Number, Number] >+ swizzleTypes: [Path2D, Number, Number] > trace: >- 0: isPointInStroke - [native code] (195) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:212:32 (196) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInStroke >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: isPointInStroke(5, 6) > swizzleTypes: [Number, Number] > trace: >- 0: isPointInStroke - [native code] (195) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:213:32 (197) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: isPointInStroke >+ 1: (anonymous function) >+ 2: executeFrameFunction > 31: (duration) > 0: lineCap > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:216:16 (199) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 32: (duration) > 0: lineDashOffset > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:220:16 (201) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: lineDashOffset = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:221:16 (202) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 33: (duration) > 0: lineJoin > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:224:16 (204) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 34: (duration) > 0: lineTo(1, 2) > swizzleTypes: [Number, Number] > trace: >- 0: lineTo - [native code] (206) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:228:23 (207) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: lineTo >+ 1: (anonymous function) >+ 2: executeFrameFunction > 35: (duration) > 0: lineWidth > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:231:16 (209) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: lineWidth = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:232:16 (210) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 36: (duration) > 0: measureText("test") >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: measureText - [native code] (212) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:235:28 (213) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: measureText >+ 1: (anonymous function) >+ 2: executeFrameFunction > 37: (duration) > 0: miterLimit > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:238:16 (215) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: miterLimit = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:239:16 (216) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 38: (duration) > 0: moveTo(1, 2) > swizzleTypes: [Number, Number] > trace: >- 0: moveTo - [native code] (218) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:242:23 (219) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: moveTo >+ 1: (anonymous function) >+ 2: executeFrameFunction > 39: (duration) > 0: putImageData([object ImageData], 5, 6) >- swizzleTypes: [ImageData (63), Number, Number] >+ swizzleTypes: [ImageData, Number, Number] > trace: >- 0: putImageData - [native code] (221) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:245:29 (222) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: putImageData >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: putImageData([object ImageData], 7, 8, 9, 10, 11, 12) >- swizzleTypes: [ImageData (223), Number, Number, Number, Number, Number, Number] >+ swizzleTypes: [ImageData, Number, Number, Number, Number, Number, Number] > trace: >- 0: putImageData - [native code] (221) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:246:29 (224) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: putImageData >+ 1: (anonymous function) >+ 2: executeFrameFunction > 40: (duration) > 0: quadraticCurveTo(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: quadraticCurveTo - [native code] (226) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:249:33 (227) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: quadraticCurveTo >+ 1: (anonymous function) >+ 2: executeFrameFunction > 41: (duration) > 0: rect(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: rect - [native code] (229) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:252:21 (230) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: rect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 42: (duration) > 0: resetTransform() > trace: >- 0: resetTransform - [native code] (232) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:255:31 (233) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: resetTransform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 43: (duration) > 0: restore() > trace: >- 0: restore - [native code] (235) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:258:24 (236) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: restore >+ 1: (anonymous function) >+ 2: executeFrameFunction > 44: (duration) > 0: rotate(1) > swizzleTypes: [Number] > trace: >- 0: rotate - [native code] (238) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:263:23 (239) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: rotate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 45: (duration) > 0: save() > trace: >- 0: save - [native code] (241) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:266:21 (242) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: save >+ 1: (anonymous function) >+ 2: executeFrameFunction > 46: (duration) > 0: scale(1, 2) > swizzleTypes: [Number, Number] > trace: >- 0: scale - [native code] (244) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:269:22 (245) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: scale >+ 1: (anonymous function) >+ 2: executeFrameFunction > 47: (duration) > 0: setAlpha(null) > swizzleTypes: [Number] > trace: >- 0: setAlpha - [native code] (247) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:272:25 (248) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setAlpha >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setAlpha(1) > swizzleTypes: [Number] > trace: >- 0: setAlpha - [native code] (247) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:273:25 (249) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setAlpha >+ 1: (anonymous function) >+ 2: executeFrameFunction > 48: (duration) > 0: setCompositeOperation("undefined") >- swizzleTypes: [String (251)] >+ swizzleTypes: [String] > trace: >- 0: setCompositeOperation - [native code] (252) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:276:38 (253) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setCompositeOperation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setCompositeOperation("test") >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: setCompositeOperation - [native code] (252) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:277:38 (254) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setCompositeOperation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 49: (duration) > 0: setFillColor("testA") >- swizzleTypes: [String (75)] >+ swizzleTypes: [String] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:280:29 (257) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setFillColor("testB", 1) >- swizzleTypes: [String (80), Number] >+ swizzleTypes: [String, Number] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:281:29 (258) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: setFillColor(2, 1) > swizzleTypes: [Number, Number] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:282:29 (259) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: setFillColor(3, 4) > swizzleTypes: [Number, Number] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:283:29 (260) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 4: setFillColor(5, 6, 7, 8) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:284:29 (261) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 5: setFillColor(9, 10, 11, 12, 13) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 0: setFillColor - [native code] (256) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:285:29 (262) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setFillColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 50: (duration) > 0: setLineCap("undefined") >- swizzleTypes: [String (251)] >+ swizzleTypes: [String] > trace: >- 0: setLineCap - [native code] (264) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:288:27 (265) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineCap >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setLineCap("test") >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: setLineCap - [native code] (264) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:289:27 (266) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineCap >+ 1: (anonymous function) >+ 2: executeFrameFunction > 51: (duration) > 0: setLineDash([1,2]) > swizzleTypes: [Array] > trace: >- 0: setLineDash - [native code] (268) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:292:28 (269) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineDash >+ 1: (anonymous function) >+ 2: executeFrameFunction > 52: (duration) > 0: setLineJoin("undefined") >- swizzleTypes: [String (251)] >+ swizzleTypes: [String] > trace: >- 0: setLineJoin - [native code] (271) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:295:28 (272) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineJoin >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setLineJoin("test") >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: setLineJoin - [native code] (271) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:296:28 (273) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineJoin >+ 1: (anonymous function) >+ 2: executeFrameFunction > 53: (duration) > 0: setLineWidth(null) > swizzleTypes: [Number] > trace: >- 0: setLineWidth - [native code] (275) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:299:29 (276) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineWidth >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setLineWidth(1) > swizzleTypes: [Number] > trace: >- 0: setLineWidth - [native code] (275) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:300:29 (277) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setLineWidth >+ 1: (anonymous function) >+ 2: executeFrameFunction > 54: (duration) > 0: setMiterLimit(null) > swizzleTypes: [Number] > trace: >- 0: setMiterLimit - [native code] (279) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:303:30 (280) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setMiterLimit >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setMiterLimit(1) > swizzleTypes: [Number] > trace: >- 0: setMiterLimit - [native code] (279) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:304:30 (281) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setMiterLimit >+ 1: (anonymous function) >+ 2: executeFrameFunction > 55: (duration) > 0: setShadow(1, 2, 3, "") >- swizzleTypes: [Number, Number, Number, String (283)] >+ swizzleTypes: [Number, Number, Number, String] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:307:26 (285) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setShadow(4, 5, 6, "test", 7) >- swizzleTypes: [Number, Number, Number, String (130), Number] >+ swizzleTypes: [Number, Number, Number, String, Number] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:308:26 (286) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: setShadow(8, 9, 10, 11, 1) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:309:26 (287) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: setShadow(12, 13, 14, 15, 16) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:310:26 (288) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 4: setShadow(17, 18, 19, 20, 21, 22, 23) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:311:26 (289) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 5: setShadow(24, 25, 26, 27, 28, 29, 30, 31) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 0: setShadow - [native code] (284) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:312:26 (290) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setShadow >+ 1: (anonymous function) >+ 2: executeFrameFunction > 56: (duration) > 0: setStrokeColor("testA") >- swizzleTypes: [String (75)] >+ swizzleTypes: [String] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:315:31 (293) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setStrokeColor("testB", 1) >- swizzleTypes: [String (80), Number] >+ swizzleTypes: [String, Number] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:316:31 (294) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: setStrokeColor(2, 1) > swizzleTypes: [Number, Number] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:317:31 (295) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: setStrokeColor(3, 4) > swizzleTypes: [Number, Number] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:318:31 (296) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 4: setStrokeColor(5, 6, 7, 8) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:319:31 (297) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 5: setStrokeColor(9, 10, 11, 12, 13) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 0: setStrokeColor - [native code] (292) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:320:31 (298) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setStrokeColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 57: (duration) > 0: setTransform(1, 2, 3, 4, 5, 6) > swizzleTypes: [Number, Number, Number, Number, Number, Number] > trace: >- 0: setTransform - [native code] (300) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:323:29 (301) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setTransform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: setTransform(matrix(1, 0, 0, 1, 0, 0)) > swizzleTypes: [DOMMatrix] > trace: >- 0: setTransform - [native code] (300) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:324:51 (302) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:324:28 (303) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setTransform >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 2: setTransform(matrix(7, 8, 9, 10, 11, 12)) > swizzleTypes: [DOMMatrix] > trace: >- 0: setTransform - [native code] (300) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:325:51 (304) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:325:28 (305) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: setTransform >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction > 58: (duration) > 0: shadowBlur > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:328:16 (307) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: shadowBlur = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:329:16 (308) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 59: (duration) > 0: shadowColor > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:332:16 (310) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: shadowColor = "test" >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:333:16 (311) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 60: (duration) > 0: shadowOffsetX > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:336:16 (313) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: shadowOffsetX = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:337:16 (314) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 61: (duration) > 0: shadowOffsetY > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:340:16 (316) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: shadowOffsetY = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:341:16 (317) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 62: (duration) > 0: stroke() > trace: >- 0: stroke - [native code] (319) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:344:23 (320) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: stroke >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: stroke([object Path2D]) >- swizzleTypes: [Path2D (55)] >+ swizzleTypes: [Path2D] > trace: >- 0: stroke - [native code] (319) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:345:23 (321) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: stroke >+ 1: (anonymous function) >+ 2: executeFrameFunction > 63: (duration) > 0: strokeRect(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 0: strokeRect - [native code] (323) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:348:27 (324) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: strokeRect >+ 1: (anonymous function) >+ 2: executeFrameFunction > 64: (duration) > 0: strokeStyle > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:351:16 (326) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: strokeStyle = "test" >- swizzleTypes: [String (130)] >+ swizzleTypes: [String] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:352:16 (327) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 2: strokeStyle = [object CanvasGradient] >- swizzleTypes: [CanvasGradient (151)] >+ swizzleTypes: [CanvasGradient] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:353:16 (328) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 3: strokeStyle = [object CanvasGradient] >- swizzleTypes: [CanvasGradient (154)] >+ swizzleTypes: [CanvasGradient] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:354:16 (329) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 4: strokeStyle = [object CanvasPattern] >- swizzleTypes: [CanvasPattern (157)] >+ swizzleTypes: [CanvasPattern] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:355:16 (330) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 65: (duration) > 0: strokeText("testA", 1, 2) >- swizzleTypes: [String (75), Number, Number] >+ swizzleTypes: [String, Number, Number] > trace: >- 0: strokeText - [native code] (332) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:358:27 (333) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: strokeText >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: strokeText("testB", 3, 4, 5) >- swizzleTypes: [String (80), Number, Number, Number] >+ swizzleTypes: [String, Number, Number, Number] > trace: >- 0: strokeText - [native code] (332) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:359:27 (334) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: strokeText >+ 1: (anonymous function) >+ 2: executeFrameFunction > 66: (duration) > 0: textAlign > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:362:16 (336) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 67: (duration) > 0: textBaseline > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:366:16 (338) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 68: (duration) > 0: transform(1, 2, 3, 4, 5, 6) > swizzleTypes: [Number, Number, Number, Number, Number, Number] > trace: >- 0: transform - [native code] (340) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:370:26 (341) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: transform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 69: (duration) > 0: translate(1, 2) > swizzleTypes: [Number, Number] > trace: >- 0: translate - [native code] (343) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:373:26 (344) >- 2: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: translate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 70: (duration) > 0: webkitImageSmoothingEnabled > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:376:16 (346) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: webkitImageSmoothingEnabled = true > swizzleTypes: [Boolean] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:377:16 (347) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 71: (duration) > 0: webkitLineDash > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:380:16 (349) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: webkitLineDash = [1,2] > swizzleTypes: [Array] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:381:16 (350) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 72: (duration) > 0: webkitLineDashOffset > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:384:16 (352) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >+ 0: (anonymous function) >+ 1: executeFrameFunction > 1: webkitLineDashOffset = 1 > swizzleTypes: [Number] > trace: >- 0: (anonymous function) - inspector/canvas/recording-2d.html:385:16 (353) >- 1: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >-data: >- 0: "source-over" >- 1: "butt" >- 2: "miter" >- 3: "rgba(0, 0, 0, 0)" >- 4: "10px sans-serif" >- 5: "start" >- 6: "alphabetic" >- 7: "ltr" >- 8: "#000000" >- 9: "low" >- 10: "" >- 11: "arc" >- 12: "[native code]" >- 13: [11,12,0,0] >- 14: "inspector/canvas/recording-2d.html" >- 15: [10,14,81,42] >- 16: "ignoreException" >- 17: [16,14,52,13] >- 18: [10,14,81,28] >- 19: "executeFrameFunction" >- 20: [19,14,394,24] >- 21: "performActions" >- 22: [21,14,398,25] >- 23: "global code" >- 24: [23,10,1,15] >- 25: "evaluateWithScopeExtension" >- 26: [25,12,0,0] >- 27: "_evaluateOn" >- 28: [27,10,130,29] >- 29: "_evaluateAndWrap" >- 30: [29,10,124,108] >- 31: [10,14,82,42] >- 32: [10,14,82,28] >- 33: "arcTo" >- 34: [33,12,0,0] >- 35: [10,14,85,44] >- 36: [10,14,85,28] >- 37: "beginPath" >- 38: [37,12,0,0] >- 39: [10,14,88,26] >- 40: "bezierCurveTo" >- 41: [40,12,0,0] >- 42: [10,14,91,30] >- 43: "clearRect" >- 44: [43,12,0,0] >- 45: [10,14,94,26] >- 46: "clearShadow" >- 47: [46,12,0,0] >- 48: [10,14,97,28] >- 49: "clip" >- 50: "nonzero" >- 51: [49,12,0,0] >- 52: [10,14,100,21] >- 53: "evenodd" >- 54: [10,14,101,21] >- 55: "M1 2" >- 56: [10,14,102,21] >- 57: "M3 4" >- 58: [10,14,103,21] >- 59: "closePath" >- 60: [59,12,0,0] >- 61: [10,14,106,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,109,54] >- 66: [10,14,109,28] >- 67: [10,14,110,54] >- 68: [10,14,110,28] >- 69: "createLinearGradient" >- 70: [69,12,0,0] >- 71: [10,14,113,59] >- 72: [10,14,113,28] >- 73: "createPattern" >- 74: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII=" >- 75: "testA" >- 76: [73,12,0,0] >- 77: [10,14,116,52] >- 78: [10,14,116,28] >- 79: "data:," >- 80: "testB" >- 81: [10,14,117,52] >- 82: [10,14,117,28] >- 83: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" >- 84: "testC" >- 85: [10,14,118,52] >- 86: [10,14,118,28] >- 87: "testD" >- 88: [10,14,119,52] >- 89: [10,14,119,28] >- 90: "createRadialGradient" >- 91: [90,12,0,0] >- 92: [10,14,122,59] >- 93: [10,14,122,28] >- 94: "direction" >- 95: [10,14,125,16] >- 96: "drawFocusIfNeeded" >- 97: "Element" >- 98: [96,12,0,0] >- 99: [10,14,129,34] >- 100: [10,14,130,34] >- 101: "drawImage" >- 102: [101,12,0,0] >- 103: [10,14,133,48] >- 104: [10,14,133,28] >- 105: [10,14,134,48] >- 106: [10,14,134,28] >- 107: [10,14,135,48] >- 108: [10,14,135,28] >- 109: [10,14,137,48] >- 110: [10,14,137,28] >- 111: [10,14,138,48] >- 112: [10,14,138,28] >- 113: [10,14,139,48] >- 114: [10,14,139,28] >- 115: [10,14,141,48] >- 116: [10,14,141,28] >- 117: [10,14,142,48] >- 118: [10,14,142,28] >- 119: [10,14,143,48] >- 120: [10,14,143,28] >- 121: [10,14,145,48] >- 122: [10,14,145,28] >- 123: [10,14,146,48] >- 124: [10,14,146,28] >- 125: [10,14,147,48] >- 126: [10,14,147,28] >- 127: "drawImageFromRect" >- 128: [127,12,0,0] >- 129: [10,14,150,34] >- 130: "test" >- 131: [10,14,151,34] >- 132: "ellipse" >- 133: [132,12,0,0] >- 134: [10,14,154,46] >- 135: [10,14,154,28] >- 136: [10,14,155,46] >- 137: [10,14,155,28] >- 138: "fill" >- 139: [138,12,0,0] >- 140: [10,14,158,21] >- 141: [10,14,159,21] >- 142: [10,14,160,21] >- 143: [10,14,161,21] >- 144: "fillRect" >- 145: [144,12,0,0] >- 146: [10,14,164,25] >- 147: "fillStyle" >- 148: [10,14,167,16] >- 149: [10,14,168,16] >- 150: "linear-gradient" >- 151: [150,[1,2,3,4],[]] >- 152: [10,14,169,16] >- 153: "radial-gradient" >- 154: [153,[1,2,3,4,5,6],[]] >- 155: [10,14,170,16] >- 156: "no-repeat" >- 157: [74,156] >- 158: [10,14,171,16] >- 159: "fillText" >- 160: [159,12,0,0] >- 161: [10,14,174,25] >- 162: [10,14,175,25] >- 163: "font" >- 164: [10,14,178,16] >- 165: [10,14,179,16] >- 166: "getImageData" >- 167: [166,12,0,0] >- 168: [10,14,182,51] >- 169: [10,14,182,28] >- 170: "getLineDash" >- 171: [170,12,0,0] >- 172: [10,14,185,28] >- 173: "getTransform" >- 174: [173,12,0,0] >- 175: [10,14,188,29] >- 176: "globalAlpha" >- 177: [10,14,191,16] >- 178: [10,14,192,16] >- 179: "globalCompositeOperation" >- 180: [10,14,195,16] >- 181: [10,14,196,16] >- 182: "imageSmoothingEnabled" >- 183: [10,14,199,16] >- 184: [10,14,200,16] >- 185: "imageSmoothingQuality" >- 186: [10,14,203,16] >- 187: [10,14,204,16] >- 188: "isPointInPath" >- 189: [188,12,0,0] >- 190: [10,14,207,30] >- 191: [10,14,208,30] >- 192: [10,14,209,30] >- 193: [10,14,210,30] >- 194: "isPointInStroke" >- 195: [194,12,0,0] >- 196: [10,14,213,32] >- 197: [10,14,214,32] >- 198: "lineCap" >- 199: [10,14,217,16] >- 200: "lineDashOffset" >- 201: [10,14,221,16] >- 202: [10,14,222,16] >- 203: "lineJoin" >- 204: [10,14,225,16] >- 205: "lineTo" >- 206: [205,12,0,0] >- 207: [10,14,229,23] >- 208: "lineWidth" >- 209: [10,14,232,16] >- 210: [10,14,233,16] >- 211: "measureText" >- 212: [211,12,0,0] >- 213: [10,14,236,28] >- 214: "miterLimit" >- 215: [10,14,239,16] >- 216: [10,14,240,16] >- 217: "moveTo" >- 218: [217,12,0,0] >- 219: [10,14,243,23] >- 220: "putImageData" >- 221: [220,12,0,0] >- 222: [10,14,246,29] >- 223: [[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] >- 224: [10,14,247,29] >- 225: "quadraticCurveTo" >- 226: [225,12,0,0] >- 227: [10,14,250,33] >- 228: "rect" >- 229: [228,12,0,0] >- 230: [10,14,253,21] >- 231: "resetTransform" >- 232: [231,12,0,0] >- 233: [10,14,256,31] >- 234: "restore" >- 235: [234,12,0,0] >- 236: [10,14,259,24] >- 237: "rotate" >- 238: [237,12,0,0] >- 239: [10,14,264,23] >- 240: "save" >- 241: [240,12,0,0] >- 242: [10,14,267,21] >- 243: "scale" >- 244: [243,12,0,0] >- 245: [10,14,270,22] >- 246: "setAlpha" >- 247: [246,12,0,0] >- 248: [10,14,273,25] >- 249: [10,14,274,25] >- 250: "setCompositeOperation" >- 251: "undefined" >- 252: [250,12,0,0] >- 253: [10,14,277,38] >- 254: [10,14,278,38] >- 255: "setFillColor" >- 256: [255,12,0,0] >- 257: [10,14,281,29] >- 258: [10,14,282,29] >- 259: [10,14,283,29] >- 260: [10,14,284,29] >- 261: [10,14,285,29] >- 262: [10,14,286,29] >- 263: "setLineCap" >- 264: [263,12,0,0] >- 265: [10,14,289,27] >- 266: [10,14,290,27] >- 267: "setLineDash" >- 268: [267,12,0,0] >- 269: [10,14,293,28] >- 270: "setLineJoin" >- 271: [270,12,0,0] >- 272: [10,14,296,28] >- 273: [10,14,297,28] >- 274: "setLineWidth" >- 275: [274,12,0,0] >- 276: [10,14,300,29] >- 277: [10,14,301,29] >- 278: "setMiterLimit" >- 279: [278,12,0,0] >- 280: [10,14,304,30] >- 281: [10,14,305,30] >- 282: "setShadow" >- 283: "" >- 284: [282,12,0,0] >- 285: [10,14,308,26] >- 286: [10,14,309,26] >- 287: [10,14,310,26] >- 288: [10,14,311,26] >- 289: [10,14,312,26] >- 290: [10,14,313,26] >- 291: "setStrokeColor" >- 292: [291,12,0,0] >- 293: [10,14,316,31] >- 294: [10,14,317,31] >- 295: [10,14,318,31] >- 296: [10,14,319,31] >- 297: [10,14,320,31] >- 298: [10,14,321,31] >- 299: "setTransform" >- 300: [299,12,0,0] >- 301: [10,14,324,29] >- 302: [10,14,325,51] >- 303: [10,14,325,28] >- 304: [10,14,326,51] >- 305: [10,14,326,28] >- 306: "shadowBlur" >- 307: [10,14,329,16] >- 308: [10,14,330,16] >- 309: "shadowColor" >- 310: [10,14,333,16] >- 311: [10,14,334,16] >- 312: "shadowOffsetX" >- 313: [10,14,337,16] >- 314: [10,14,338,16] >- 315: "shadowOffsetY" >- 316: [10,14,341,16] >- 317: [10,14,342,16] >- 318: "stroke" >- 319: [318,12,0,0] >- 320: [10,14,345,23] >- 321: [10,14,346,23] >- 322: "strokeRect" >- 323: [322,12,0,0] >- 324: [10,14,349,27] >- 325: "strokeStyle" >- 326: [10,14,352,16] >- 327: [10,14,353,16] >- 328: [10,14,354,16] >- 329: [10,14,355,16] >- 330: [10,14,356,16] >- 331: "strokeText" >- 332: [331,12,0,0] >- 333: [10,14,359,27] >- 334: [10,14,360,27] >- 335: "textAlign" >- 336: [10,14,363,16] >- 337: "textBaseline" >- 338: [10,14,367,16] >- 339: "transform" >- 340: [339,12,0,0] >- 341: [10,14,371,26] >- 342: "translate" >- 343: [342,12,0,0] >- 344: [10,14,374,26] >- 345: "webkitImageSmoothingEnabled" >- 346: [10,14,377,16] >- 347: [10,14,378,16] >- 348: "webkitLineDash" >- 349: [10,14,381,16] >- 350: [10,14,382,16] >- 351: "webkitLineDashOffset" >- 352: [10,14,385,16] >- 353: [10,14,386,16] >+ 0: (anonymous function) >+ 1: executeFrameFunction > > -- Running test case: Canvas.recording2D.memoryLimit > initialState: >@@ -1489,48 +1100,16 @@ frames: > 0: arc(1, 2, 3, 4, 5, false) > swizzleTypes: [Number, Number, Number, Number, Number, Boolean] > trace: >- 0: arc - [native code] (13) >- 1: (anonymous function) - inspector/canvas/recording-2d.html:80:42 (15) >- 2: ignoreException - inspector/canvas/recording-2d.html:51:13 (17) >- 3: (anonymous function) - inspector/canvas/recording-2d.html:80:28 (18) >- 4: executeFrameFunction - inspector/canvas/recording-2d.html:393:24 (20) >- 5: performActions - inspector/canvas/recording-2d.html:397: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" >- 2: "miter" >- 3: "rgba(0, 0, 0, 0)" >- 4: "10px sans-serif" >- 5: "start" >- 6: "alphabetic" >- 7: "ltr" >- 8: "#000000" >- 9: "low" >- 10: "" >- 11: "arc" >- 12: "[native code]" >- 13: [11,12,0,0] >- 14: "inspector/canvas/recording-2d.html" >- 15: [10,14,81,42] >- 16: "ignoreException" >- 17: [16,14,52,13] >- 18: [10,14,81,28] >- 19: "executeFrameFunction" >- 20: [19,14,394,24] >- 21: "performActions" >- 22: [21,14,398,25] >- 23: "global code" >- 24: [23,10,1,15] >- 25: "evaluateWithScopeExtension" >- 26: [25,12,0,0] >- 27: "_evaluateOn" >- 28: [27,10,130,29] >- 29: "_evaluateAndWrap" >- 30: [29,10,124,108] >+ 0: arc >+ 1: (anonymous function) >+ 2: ignoreException >+ 3: (anonymous function) >+ 4: executeFrameFunction >+ 5: performActions >+ 6: Global Code >+ 7: evaluateWithScopeExtension >+ 8: _evaluateOn >+ 9: _evaluateAndWrap > > -- Running test case: Canvas.recording2D.Console > PASS: The recording should have the name "TEST". >diff --git a/LayoutTests/inspector/canvas/recording-bitmaprenderer-expected.txt b/LayoutTests/inspector/canvas/recording-bitmaprenderer-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..d2b453253b383a3df58cd5b41611520adcdb8d36 >--- /dev/null >+++ b/LayoutTests/inspector/canvas/recording-bitmaprenderer-expected.txt >@@ -0,0 +1,72 @@ >+Test that CanvasManager is able to record actions made to BitmapRenderer canvas contexts. >+ >+ >+== Running test suite: Canvas.recordingBitmapRenderer >+-- Running test case: Canvas.recordingBitmapRenderer.singleFrame >+initialState: >+ attributes: >+ width: 2 >+ height: 2 >+ parameters: >+ content: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" >+frames: >+ 0: (duration) >+ 0: transferFromImageBitmap([object ImageBitmap]) >+ swizzleTypes: [ImageBitmap] >+ trace: >+ 0: transferFromImageBitmap >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: (anonymous function) >+ 4: asyncFunctionResume >+ 5: (anonymous function) >+ 6: promiseReactionJob >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII=" >+ >+-- Running test case: Canvas.recordingBitmapRenderer.multipleFrames >+initialState: >+ attributes: >+ width: 2 >+ height: 2 >+ parameters: >+ content: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" >+frames: >+ 0: (duration) >+ 0: transferFromImageBitmap([object ImageBitmap]) >+ swizzleTypes: [ImageBitmap] >+ trace: >+ 0: transferFromImageBitmap >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: (anonymous function) >+ 4: asyncFunctionResume >+ 5: (anonymous function) >+ 6: promiseReactionJob >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII=" >+ >+-- Running test case: Canvas.recordingBitmapRenderer.memoryLimit >+initialState: >+ attributes: >+ width: 2 >+ height: 2 >+ parameters: >+ content: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" >+frames: >+ 0: (duration) (incomplete) >+ 0: transferFromImageBitmap([object ImageBitmap]) >+ swizzleTypes: [ImageBitmap] >+ trace: >+ 0: transferFromImageBitmap >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: (anonymous function) >+ 4: asyncFunctionResume >+ 5: (anonymous function) >+ 6: promiseReactionJob >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" >+ >+-- Running test case: Canvas.recordingBitmapRenderer.Console >+PASS: The recording should have the name "TEST". >+PASS: The recording should have one frame. >+PASS: The first frame should have one action. >+ >diff --git a/LayoutTests/inspector/canvas/recording-bitmaprenderer.html b/LayoutTests/inspector/canvas/recording-bitmaprenderer.html >new file mode 100644 >index 0000000000000000000000000000000000000000..1169ded3500d46abfc3327ddf77e3cb4e0e892e0 >--- /dev/null >+++ b/LayoutTests/inspector/canvas/recording-bitmaprenderer.html >@@ -0,0 +1,134 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<script src="../../http/tests/inspector/resources/inspector-test.js"></script> >+<script src="resources/recording-utilities.js"></script> >+<script> >+let ctx = null; >+ >+let redImage = new Image; >+redImage.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII="; >+ >+let blueImage = new Image; >+blueImage.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABRJREFUCB1jZGD4/58BCJhABAgAAB0ZAgJSPDJ6AAAAAElFTkSuQmCC"; >+ >+let transparentImage = new Image; >+transparentImage.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC"; >+ >+// Blank canvas >+let canvas = document.createElement("canvas"); >+canvas.width = 2; >+canvas.height = 2; >+ >+function load() { >+ ctx = canvas.getContext("bitmaprenderer"); >+ >+ document.body.appendChild(canvas); >+ >+ runTest(); >+} >+ >+function ignoreException(func){ >+ try { >+ func(); >+ } catch (e) { } >+} >+ >+let timeoutID = NaN; >+ >+function cancelActions() { >+ clearTimeout(timeoutID); >+ timeoutID = NaN; >+ >+ createImageBitmap(transparentImage).then((transparentBitmap) => { >+ ctx.transferFromImageBitmap(transparentBitmap); >+ }); >+} >+ >+async function performActions() { >+ let redBitmap = await createImageBitmap(redImage); >+ >+ let frames = [ >+ () => { >+ ctx.transferFromImageBitmap(redBitmap); >+ }, >+ () => { >+ TestPage.dispatchEventToFrontend("LastFrame"); >+ }, >+ ]; >+ let index = 0; >+ function executeFrameFunction() { >+ frames[index++](); >+ if (index < frames.length) >+ timeoutID = setTimeout(executeFrameFunction, 0); >+ }; >+ executeFrameFunction(); >+} >+ >+async function performConsoleActions() { >+ let [redBitmap, blueBitmap] = await Promise.all([ >+ createImageBitmap(redImage), >+ createImageBitmap(blueImage), >+ ]); >+ >+ console.record(ctx, {name: "TEST"}); >+ >+ ctx.transferFromImageBitmap(redBitmap); >+ >+ console.recordEnd(ctx); >+ >+ ctx.transferFromImageBitmap(blueBitmap); >+} >+ >+function test() { >+ let suite = InspectorTest.createAsyncSuite("Canvas.recordingBitmapRenderer"); >+ >+ suite.addTestCase({ >+ name: "Canvas.recordingBitmapRenderer.singleFrame", >+ description: "Check that the recording is stopped after a single frame.", >+ test(resolve, reject) { >+ startRecording(WI.Canvas.ContextType.BitmapRenderer, resolve, reject, {singleFrame: true}); >+ }, >+ }); >+ >+ suite.addTestCase({ >+ name: "Canvas.recordingBitmapRenderer.multipleFrames", >+ description: "Check that recording data is serialized correctly for multiple frames.", >+ test(resolve, reject) { >+ let canvas = startRecording(WI.Canvas.ContextType.BitmapRenderer, resolve, reject, {singleFrame: false}); >+ >+ InspectorTest.singleFireEventListener("LastFrame", () => { >+ CanvasAgent.stopRecording(canvas.identifier, (error) => { >+ if (error) { >+ reject(error); >+ return; >+ } >+ }); >+ }); >+ }, >+ }); >+ >+ suite.addTestCase({ >+ name: "Canvas.recordingBitmapRenderer.memoryLimit", >+ description: "Check that the recording is stopped when it reaches the memory limit.", >+ test(resolve, reject) { >+ startRecording(WI.Canvas.ContextType.BitmapRenderer, resolve, reject, {memoryLimit: 10}); >+ }, >+ }); >+ >+ suite.addTestCase({ >+ name: "Canvas.recordingBitmapRenderer.Console", >+ description: "Check that a recording can be triggered by console.record().", >+ test(resolve, reject) { >+ consoleRecord(resolve, reject); >+ }, >+ }); >+ >+ suite.runTestCasesAndFinish(); >+} >+</script> >+</head> >+<body onload="load()"> >+ <p>Test that CanvasManager is able to record actions made to BitmapRenderer canvas contexts.</p> >+</body> >+</html> >diff --git a/LayoutTests/inspector/canvas/recording-webgl-expected.txt b/LayoutTests/inspector/canvas/recording-webgl-expected.txt >index 422cd4976031210cf2c417872f9c423e2804abd7..6312e37eceb5c2bfa628ef30382cd23b8f841cd8 100644 >--- a/LayoutTests/inspector/canvas/recording-webgl-expected.txt >+++ b/LayoutTests/inspector/canvas/recording-webgl-expected.txt >@@ -15,33 +15,14 @@ frames: > 0: activeTexture(1) > swizzleTypes: [Number] > trace: >- 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: "[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,130,29] >- 16: "_evaluateAndWrap" >- 17: [16,3,124,108] >+ 0: activeTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: performActions >+ 4: Global Code >+ 5: evaluateWithScopeExtension >+ 6: _evaluateOn >+ 7: _evaluateAndWrap > > -- Running test case: Canvas.recordingWebGL.multipleFrames > initialState: >@@ -56,1408 +37,975 @@ frames: > 0: activeTexture(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: activeTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: performActions >+ 4: Global Code >+ 5: evaluateWithScopeExtension >+ 6: _evaluateOn >+ 7: _evaluateAndWrap > 1: (duration) > 0: attachShader(0, 0) > swizzleTypes: [WebGLProgram, WebGLShader] > trace: >- 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) >+ 0: attachShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 2: (duration) > 0: bindAttribLocation(0, 1, "test") >- swizzleTypes: [WebGLProgram, Number, String (22)] >+ swizzleTypes: [WebGLProgram, Number, String] > trace: >- 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) >+ 0: bindAttribLocation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 3: (duration) > 0: bindBuffer(1, 0) > swizzleTypes: [Number, WebGLBuffer] > trace: >- 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) >+ 0: bindBuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 4: (duration) > 0: bindFramebuffer(1, 0) > swizzleTypes: [Number, WebGLFramebuffer] > trace: >- 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) >+ 0: bindFramebuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 5: (duration) > 0: bindRenderbuffer(1, 0) > swizzleTypes: [Number, WebGLRenderbuffer] > trace: >- 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) >+ 0: bindRenderbuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 6: (duration) > 0: bindTexture(1, 0) > swizzleTypes: [Number, WebGLTexture] > trace: >- 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) >+ 0: bindTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction > 7: (duration) > 0: blendColor(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: blendColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 8: (duration) > 0: blendEquation(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: blendEquation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 9: (duration) > 0: blendEquationSeparate(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: blendEquationSeparate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 10: (duration) > 0: blendFunc(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: blendFunc >+ 1: (anonymous function) >+ 2: executeFrameFunction > 11: (duration) > 0: blendFuncSeparate(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: blendFuncSeparate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 12: (duration) > 0: bufferData(1, 0, 2) > swizzleTypes: [Number, TypedArray, Number] > trace: >- 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) >+ 0: bufferData >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: bufferData(3, 4, 5) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: bufferData >+ 1: (anonymous function) >+ 2: executeFrameFunction > 13: (duration) > 0: bufferSubData(1, 2, 0) > swizzleTypes: [Number, Number, TypedArray] > trace: >- 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) >+ 0: bufferSubData >+ 1: (anonymous function) >+ 2: executeFrameFunction > 14: (duration) > 0: checkFramebufferStatus(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: checkFramebufferStatus >+ 1: (anonymous function) >+ 2: executeFrameFunction > 15: (duration) > 0: clear(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: clear >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" > 16: (duration) > 0: clearColor(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: clearColor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 17: (duration) > 0: clearDepth(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: clearDepth >+ 1: (anonymous function) >+ 2: executeFrameFunction > 18: (duration) > 0: clearStencil(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: clearStencil >+ 1: (anonymous function) >+ 2: executeFrameFunction > 19: (duration) > 0: colorMask(true, false, true, false) > swizzleTypes: [Boolean, Boolean, Boolean, Boolean] > trace: >- 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) >+ 0: colorMask >+ 1: (anonymous function) >+ 2: executeFrameFunction > 20: (duration) > 0: compileShader(0) > swizzleTypes: [WebGLShader] > trace: >- 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) >+ 0: compileShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 21: (duration) > 0: compressedTexImage2D(1, 2, 3, 4, 5, 6, 0) > swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray] > trace: >- 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) >+ 0: compressedTexImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 22: (duration) > 0: compressedTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 0) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, TypedArray] > trace: >- 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) >+ 0: compressedTexSubImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 23: (duration) > 0: copyTexImage2D(1, 2, 3, 4, 5, 6, 7, 8) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 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) >+ 0: copyTexImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 24: (duration) > 0: copyTexSubImage2D(1, 2, 3, 4, 5, 6, 7, 8) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number] > trace: >- 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) >+ 0: copyTexSubImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 25: (duration) > 0: createBuffer() > trace: >- 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) >+ 0: createBuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 26: (duration) > 0: createFramebuffer() > trace: >- 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) >+ 0: createFramebuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 27: (duration) > 0: createProgram() > trace: >- 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) >+ 0: createProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 28: (duration) > 0: createRenderbuffer() > trace: >- 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) >+ 0: createRenderbuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 29: (duration) > 0: createShader(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: createShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 30: (duration) > 0: createTexture() > trace: >- 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) >+ 0: createTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction > 31: (duration) > 0: cullFace(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: cullFace >+ 1: (anonymous function) >+ 2: executeFrameFunction > 32: (duration) > 0: deleteBuffer(0) > swizzleTypes: [WebGLBuffer] > trace: >- 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) >+ 0: deleteBuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 33: (duration) > 0: deleteFramebuffer(0) > swizzleTypes: [WebGLFramebuffer] > trace: >- 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) >+ 0: deleteFramebuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 34: (duration) > 0: deleteProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: deleteProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 35: (duration) > 0: deleteRenderbuffer(0) > swizzleTypes: [WebGLRenderbuffer] > trace: >- 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) >+ 0: deleteRenderbuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 36: (duration) > 0: deleteShader(0) > swizzleTypes: [WebGLShader] > trace: >- 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) >+ 0: deleteShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 37: (duration) > 0: deleteTexture(0) > swizzleTypes: [WebGLTexture] > trace: >- 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) >+ 0: deleteTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction > 38: (duration) > 0: depthFunc(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: depthFunc >+ 1: (anonymous function) >+ 2: executeFrameFunction > 39: (duration) > 0: depthMask(true) > swizzleTypes: [Boolean] > trace: >- 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) >+ 0: depthMask >+ 1: (anonymous function) >+ 2: executeFrameFunction > 40: (duration) > 0: depthRange(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: depthRange >+ 1: (anonymous function) >+ 2: executeFrameFunction > 41: (duration) > 0: detachShader(0, 0) > swizzleTypes: [WebGLProgram, WebGLShader] > trace: >- 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) >+ 0: detachShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 42: (duration) > 0: disable(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: disable >+ 1: (anonymous function) >+ 2: executeFrameFunction > 43: (duration) > 0: disableVertexAttribArray(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: disableVertexAttribArray >+ 1: (anonymous function) >+ 2: executeFrameFunction > 44: (duration) > 0: drawArrays(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: drawArrays >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" > 45: (duration) > 0: drawElements(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: drawElements >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" > 46: (duration) > 0: enable(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: enable >+ 1: (anonymous function) >+ 2: executeFrameFunction > 47: (duration) > 0: enableVertexAttribArray(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: enableVertexAttribArray >+ 1: (anonymous function) >+ 2: executeFrameFunction > 48: (duration) > 0: finish() > trace: >- 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) >+ 0: finish >+ 1: (anonymous function) >+ 2: executeFrameFunction > 49: (duration) > 0: flush() > trace: >- 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) >+ 0: flush >+ 1: (anonymous function) >+ 2: executeFrameFunction > 50: (duration) > 0: framebufferRenderbuffer(1, 2, 3, 0) > swizzleTypes: [Number, Number, Number, WebGLRenderbuffer] > trace: >- 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) >+ 0: framebufferRenderbuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 51: (duration) > 0: framebufferTexture2D(1, 2, 3, 0, 4) > swizzleTypes: [Number, Number, Number, WebGLTexture, Number] > trace: >- 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) >+ 0: framebufferTexture2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 52: (duration) > 0: frontFace(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: frontFace >+ 1: (anonymous function) >+ 2: executeFrameFunction > 53: (duration) > 0: generateMipmap(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: generateMipmap >+ 1: (anonymous function) >+ 2: executeFrameFunction > 54: (duration) > 0: getActiveAttrib(0, 1) > swizzleTypes: [WebGLProgram, Number] > trace: >- 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) >+ 0: getActiveAttrib >+ 1: (anonymous function) >+ 2: executeFrameFunction > 55: (duration) > 0: getActiveUniform(0, 1) > swizzleTypes: [WebGLProgram, Number] > trace: >- 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) >+ 0: getActiveUniform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 56: (duration) > 0: getAttachedShaders(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: getAttachedShaders >+ 1: (anonymous function) >+ 2: executeFrameFunction > 57: (duration) > 0: getAttribLocation(0, "test") >- swizzleTypes: [WebGLProgram, String (22)] >+ swizzleTypes: [WebGLProgram, String] > trace: >- 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) >+ 0: getAttribLocation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 58: (duration) > 0: getBufferParameter(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getBufferParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 59: (duration) > 0: getContextAttributes() > trace: >- 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) >+ 0: getContextAttributes >+ 1: (anonymous function) >+ 2: executeFrameFunction > 60: (duration) > 0: getError() > trace: >- 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) >+ 0: getError >+ 1: (anonymous function) >+ 2: executeFrameFunction > 61: (duration) > 0: getExtension("test") >- swizzleTypes: [String (22)] >+ swizzleTypes: [String] > trace: >- 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) >+ 0: getExtension >+ 1: (anonymous function) >+ 2: executeFrameFunction > 62: (duration) > 0: getFramebufferAttachmentParameter(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: getFramebufferAttachmentParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 63: (duration) > 0: getParameter(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: getParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 64: (duration) > 0: getProgramInfoLog(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: getProgramInfoLog >+ 1: (anonymous function) >+ 2: executeFrameFunction > 65: (duration) > 0: getProgramParameter(0, 1) > swizzleTypes: [WebGLProgram, Number] > trace: >- 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) >+ 0: getProgramParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 66: (duration) > 0: getRenderbufferParameter(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getRenderbufferParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 67: (duration) > 0: getShaderInfoLog(0) > swizzleTypes: [WebGLShader] > trace: >- 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) >+ 0: getShaderInfoLog >+ 1: (anonymous function) >+ 2: executeFrameFunction > 68: (duration) > 0: getShaderParameter(0, 1) > swizzleTypes: [WebGLShader, Number] > trace: >- 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) >+ 0: getShaderParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 69: (duration) > 0: getShaderPrecisionFormat(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getShaderPrecisionFormat >+ 1: (anonymous function) >+ 2: executeFrameFunction > 70: (duration) > 0: getShaderSource(0) > swizzleTypes: [WebGLShader] > trace: >- 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) >+ 0: getShaderSource >+ 1: (anonymous function) >+ 2: executeFrameFunction > 71: (duration) > 0: getSupportedExtensions() > trace: >- 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) >+ 0: getSupportedExtensions >+ 1: (anonymous function) >+ 2: executeFrameFunction > 72: (duration) > 0: getTexParameter(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getTexParameter >+ 1: (anonymous function) >+ 2: executeFrameFunction > 73: (duration) > 0: getUniform(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: getUniform >+ 1: (anonymous function) >+ 2: executeFrameFunction > 74: (duration) > 0: getUniformLocation(0, "test") >- swizzleTypes: [WebGLProgram, String (22)] >+ swizzleTypes: [WebGLProgram, String] > trace: >- 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) >+ 0: getUniformLocation >+ 1: (anonymous function) >+ 2: executeFrameFunction > 75: (duration) > 0: getVertexAttrib(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getVertexAttrib >+ 1: (anonymous function) >+ 2: executeFrameFunction > 76: (duration) > 0: getVertexAttribOffset(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: getVertexAttribOffset >+ 1: (anonymous function) >+ 2: executeFrameFunction > 77: (duration) > 0: hint(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: hint >+ 1: (anonymous function) >+ 2: executeFrameFunction > 78: (duration) > 0: isBuffer(0) > swizzleTypes: [WebGLBuffer] > trace: >- 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) >+ 0: isBuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 79: (duration) > 0: isContextLost() > trace: >- 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) >+ 0: isContextLost >+ 1: (anonymous function) >+ 2: executeFrameFunction > 80: (duration) > 0: isEnabled(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: isEnabled >+ 1: (anonymous function) >+ 2: executeFrameFunction > 81: (duration) > 0: isFramebuffer(0) > swizzleTypes: [WebGLFramebuffer] > trace: >- 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) >+ 0: isFramebuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 82: (duration) > 0: isProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: isProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 83: (duration) > 0: isRenderbuffer(0) > swizzleTypes: [WebGLRenderbuffer] > trace: >- 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) >+ 0: isRenderbuffer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 84: (duration) > 0: isShader(0) > swizzleTypes: [WebGLShader] > trace: >- 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) >+ 0: isShader >+ 1: (anonymous function) >+ 2: executeFrameFunction > 85: (duration) > 0: isTexture(0) > swizzleTypes: [WebGLTexture] > trace: >- 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) >+ 0: isTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction > 86: (duration) > 0: lineWidth(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: lineWidth >+ 1: (anonymous function) >+ 2: executeFrameFunction > 87: (duration) > 0: linkProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: linkProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 88: (duration) > 0: pixelStorei(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: pixelStorei >+ 1: (anonymous function) >+ 2: executeFrameFunction > 89: (duration) > 0: polygonOffset(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: polygonOffset >+ 1: (anonymous function) >+ 2: executeFrameFunction > 90: (duration) > 0: readPixels(1, 2, 3, 4, 5, 6, 0) > swizzleTypes: [Number, Number, Number, Number, Number, Number, TypedArray] > trace: >- 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) >+ 0: readPixels >+ 1: (anonymous function) >+ 2: executeFrameFunction > 91: (duration) > 0: releaseShaderCompiler() > trace: >- 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) >+ 0: releaseShaderCompiler >+ 1: (anonymous function) >+ 2: executeFrameFunction > 92: (duration) > 0: renderbufferStorage(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: renderbufferStorage >+ 1: (anonymous function) >+ 2: executeFrameFunction > 93: (duration) > 0: sampleCoverage(1, true) > swizzleTypes: [Number, Boolean] > trace: >- 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) >+ 0: sampleCoverage >+ 1: (anonymous function) >+ 2: executeFrameFunction > 94: (duration) > 0: scissor(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: scissor >+ 1: (anonymous function) >+ 2: executeFrameFunction > 95: (duration) > 0: shaderSource(0, "test") >- swizzleTypes: [WebGLShader, String (22)] >+ swizzleTypes: [WebGLShader, String] > trace: >- 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) >+ 0: shaderSource >+ 1: (anonymous function) >+ 2: executeFrameFunction > 96: (duration) > 0: stencilFunc(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: stencilFunc >+ 1: (anonymous function) >+ 2: executeFrameFunction > 97: (duration) > 0: stencilFuncSeparate(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: stencilFuncSeparate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 98: (duration) > 0: stencilMask(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: stencilMask >+ 1: (anonymous function) >+ 2: executeFrameFunction > 99: (duration) > 0: stencilMaskSeparate(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: stencilMaskSeparate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 100: (duration) > 0: stencilOp(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: stencilOp >+ 1: (anonymous function) >+ 2: executeFrameFunction > 101: (duration) > 0: stencilOpSeparate(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: stencilOpSeparate >+ 1: (anonymous function) >+ 2: executeFrameFunction > 102: (duration) > 0: texImage2D(1, 2, 3, 4, 5, [object HTMLImageElement]) >- swizzleTypes: [Number, Number, Number, Number, Number, Image (325)] >+ swizzleTypes: [Number, Number, Number, Number, Number, Image] > trace: >- 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) >+ 0: texImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: texImage2D(6, 7, 8, 9, 10, 11, 12, 13, 0) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray] > trace: >- 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) >+ 0: texImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 103: (duration) > 0: texParameterf(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: texParameterf >+ 1: (anonymous function) >+ 2: executeFrameFunction > 104: (duration) > 0: texParameteri(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: texParameteri >+ 1: (anonymous function) >+ 2: executeFrameFunction > 105: (duration) > 0: texSubImage2D(1, 2, 3, 4, 5, 6, [object HTMLImageElement]) >- swizzleTypes: [Number, Number, Number, Number, Number, Number, Image (325)] >+ swizzleTypes: [Number, Number, Number, Number, Number, Number, Image] > trace: >- 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) >+ 0: texSubImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 1: texSubImage2D(7, 8, 9, 10, 11, 12, 13, 14, 0) > swizzleTypes: [Number, Number, Number, Number, Number, Number, Number, Number, TypedArray] > trace: >- 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) >+ 0: texSubImage2D >+ 1: (anonymous function) >+ 2: executeFrameFunction > 106: (duration) > 0: uniform1f(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: uniform1f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 107: (duration) > 0: uniform1fv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform1fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 108: (duration) > 0: uniform1i(1) > swizzleTypes: [Number] > trace: >- 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) >+ 0: uniform1i >+ 1: (anonymous function) >+ 2: executeFrameFunction > 109: (duration) > 0: uniform1iv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform1iv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 110: (duration) > 0: uniform2f(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: uniform2f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 111: (duration) > 0: uniform2fv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform2fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 112: (duration) > 0: uniform2i(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: uniform2i >+ 1: (anonymous function) >+ 2: executeFrameFunction > 113: (duration) > 0: uniform2iv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform2iv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 114: (duration) > 0: uniform3f(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: uniform3f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 115: (duration) > 0: uniform3fv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform3fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 116: (duration) > 0: uniform3i(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: uniform3i >+ 1: (anonymous function) >+ 2: executeFrameFunction > 117: (duration) > 0: uniform3iv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform3iv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 118: (duration) > 0: uniform4f(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: uniform4f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 119: (duration) > 0: uniform4fv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform4fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 120: (duration) > 0: uniform4i(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: uniform4i >+ 1: (anonymous function) >+ 2: executeFrameFunction > 121: (duration) > 0: uniform4iv(0) > swizzleTypes: [TypedArray] > trace: >- 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) >+ 0: uniform4iv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 122: (duration) > 0: uniformMatrix2fv(true, 0) > swizzleTypes: [Boolean, TypedArray] > trace: >- 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) >+ 0: uniformMatrix2fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 123: (duration) > 0: uniformMatrix3fv(true, 0) > swizzleTypes: [Boolean, TypedArray] > trace: >- 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) >+ 0: uniformMatrix3fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 124: (duration) > 0: uniformMatrix4fv(true, 0) > swizzleTypes: [Boolean, TypedArray] > trace: >- 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) >+ 0: uniformMatrix4fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 125: (duration) > 0: useProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: useProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 126: (duration) > 0: validateProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: validateProgram >+ 1: (anonymous function) >+ 2: executeFrameFunction > 127: (duration) > 0: vertexAttrib1f(1, 2) > swizzleTypes: [Number, Number] > trace: >- 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) >+ 0: vertexAttrib1f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 128: (duration) > 0: vertexAttrib1fv(1, 0) > swizzleTypes: [Number, TypedArray] > trace: >- 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) >+ 0: vertexAttrib1fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 129: (duration) > 0: vertexAttrib2f(1, 2, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: vertexAttrib2f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 130: (duration) > 0: vertexAttrib2fv(1, 0) > swizzleTypes: [Number, TypedArray] > trace: >- 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) >+ 0: vertexAttrib2fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 131: (duration) > 0: vertexAttrib3f(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: vertexAttrib3f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 132: (duration) > 0: vertexAttrib3fv(1, 0) > swizzleTypes: [Number, TypedArray] > trace: >- 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) >+ 0: vertexAttrib3fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 133: (duration) > 0: vertexAttrib4f(1, 2, 3, 4, 5) > swizzleTypes: [Number, Number, Number, Number, Number] > trace: >- 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) >+ 0: vertexAttrib4f >+ 1: (anonymous function) >+ 2: executeFrameFunction > 134: (duration) > 0: vertexAttrib4fv(1, 0) > swizzleTypes: [Number, TypedArray] > trace: >- 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) >+ 0: vertexAttrib4fv >+ 1: (anonymous function) >+ 2: executeFrameFunction > 135: (duration) > 0: vertexAttribPointer(1, 2, 3, true, 5, 6) > swizzleTypes: [Number, Number, Number, Boolean, Number, Number] > trace: >- 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) >+ 0: vertexAttribPointer >+ 1: (anonymous function) >+ 2: executeFrameFunction > 136: (duration) > 0: viewport(1, 2, 3, 4) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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: "[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,130,29] >- 16: "_evaluateAndWrap" >- 17: [16,3,124,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] >+ 0: viewport >+ 1: (anonymous function) >+ 2: executeFrameFunction > > -- Running test case: Canvas.recordingWebGL.memoryLimit > initialState: >@@ -1472,33 +1020,14 @@ frames: > 0: activeTexture(1) > swizzleTypes: [Number] > trace: >- 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: "[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,130,29] >- 16: "_evaluateAndWrap" >- 17: [16,3,124,108] >+ 0: activeTexture >+ 1: (anonymous function) >+ 2: executeFrameFunction >+ 3: performActions >+ 4: Global Code >+ 5: evaluateWithScopeExtension >+ 6: _evaluateOn >+ 7: _evaluateAndWrap > > -- Running test case: Canvas.recordingWebGL.Console > PASS: The recording should have the name "TEST". >diff --git a/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt b/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt >index ca13262380206722925c1d66d9b8314f231d0b5c..51cfda8add05fa785041a676f1a61aabc603e52b 100644 >--- a/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt >+++ b/LayoutTests/inspector/canvas/recording-webgl-snapshots-expected.txt >@@ -15,167 +15,125 @@ frames: > 0: useProgram(0) > swizzleTypes: [WebGLProgram] > trace: >- 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) >+ 0: useProgram >+ 1: performActions >+ 2: Global Code >+ 3: evaluateWithScopeExtension >+ 4: _evaluateOn >+ 5: _evaluateAndWrap > 1: clearColor(0, 0, 0, 1) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: clearColor >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 2: clear(16384) > swizzleTypes: [Number] > trace: >- 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) >+ 0: clear >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" > 3: bufferData(34962, 0, 35044) > swizzleTypes: [Number, TypedArray, Number] > trace: >- 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) >+ 0: bufferData >+ 1: drawArrays >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 4: drawArrays(4, 0, 3) > swizzleTypes: [Number, Number, Number] > trace: >- 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) >+ 0: drawArrays >+ 1: drawArrays >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap >+ snapshot: "data:image/png;base64,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" > 5: clearColor(0, 0, 0, 1) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: clearColor >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 6: clear(16384) > swizzleTypes: [Number] > trace: >- 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) >+ 0: clear >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" > 7: bufferData(34962, 0, 35044) > swizzleTypes: [Number, TypedArray, Number] > trace: >- 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) >+ 0: bufferData >+ 1: drawElements >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 8: bufferData(34963, 0, 35044) > swizzleTypes: [Number, TypedArray, Number] > trace: >- 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) >+ 0: bufferData >+ 1: drawElements >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 9: drawElements(4, 3, 5123, 0) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: drawElements >+ 1: drawElements >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap >+ snapshot: "data:image/png;base64,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" > 10: clearColor(0, 0, 0, 1) > swizzleTypes: [Number, Number, Number, Number] > trace: >- 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) >+ 0: clearColor >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap > 11: clear(16384) > swizzleTypes: [Number] > trace: >- 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: "[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,130,29] >- 13: "_evaluateAndWrap" >- 14: [13,7,124,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] >+ 0: clear >+ 1: clearContext >+ 2: performActions >+ 3: Global Code >+ 4: evaluateWithScopeExtension >+ 5: _evaluateOn >+ 6: _evaluateAndWrap >+ snapshot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGxJREFUeAHt1MEJwDAMBEHF/fec5OEitDAG/485cc/MvP/3CBAgsF7grE8oIAECBK6AwXIKBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIGyw0QIJARMFiZqgQlQMBguQECBDICBitTlaAECBgsN0CAQEbAYGWqEpQAAYPlBggQyAgYrExVghIgYLDcAAECGQGDlalKUAIEDJYbIEAgI2CwMlUJSoCAwXIDBAhkBAxWpipBCRAwWG6AAIGMgMHKVCUoAQIfSAwCK2+QFXIAAAAASUVORK5CYII=" > >diff --git a/LayoutTests/inspector/canvas/resources/recording-utilities.js b/LayoutTests/inspector/canvas/resources/recording-utilities.js >index b06223a3b7bbe57153af01653f26ab1b41127a69..bfe22c8048b06456bc17354e5d9fa523fcdb08fc 100644 >--- a/LayoutTests/inspector/canvas/resources/recording-utilities.js >+++ b/LayoutTests/inspector/canvas/resources/recording-utilities.js >@@ -47,12 +47,7 @@ TestPage.registerInitializer(() => { > InspectorTest.log(actionText); > > if (action.swizzleTypes.length) { >- let swizzleNames = action.swizzleTypes.map((item, i) => { >- let swizzleText = WI.Recording.displayNameForSwizzleType(item); >- if (action.parameters[i] != action._payloadParameters[i] && Number.isInteger(action._payloadParameters[i])) >- swizzleText += " (" + action._payloadParameters[i] + ")"; >- return swizzleText; >- }); >+ let swizzleNames = action.swizzleTypes.map((item) => WI.Recording.displayNameForSwizzleType(item)); > InspectorTest.log(" swizzleTypes: [" + swizzleNames.join(", ") + "]"); > } > >@@ -60,31 +55,15 @@ TestPage.registerInitializer(() => { > InspectorTest.log(" trace:"); > > for (let k = 0; k < action.trace.length; ++k) { >- let callFrame = action.trace[k]; >- let traceText = ` ${k}: `; >- traceText += callFrame.functionName || "(anonymous function)"; >- >- if (callFrame.nativeCode) >- traceText += " - [native code]"; >- else if (callFrame.programCode) >- traceText += " - [program code]"; >- else if (callFrame.sourceCodeLocation) { >- let location = callFrame.sourceCodeLocation; >- traceText += " - " + sanitizeURL(location.sourceCode.url) + `:${location.lineNumber}:${location.columnNumber}`; >- } >- >- traceText += " (" + action._payloadTrace[k] + ")"; >- InspectorTest.log(traceText); >+ let functionName = action.trace[k].functionName || "(anonymous function)"; >+ InspectorTest.log(` ${k}: ` + functionName); > } > } > > if (action.snapshot) >- InspectorTest.log(" snapshot: " + JSON.stringify(action.snapshot) + " (" + action._payloadSnapshot + ")"); >+ InspectorTest.log(" snapshot: " + JSON.stringify(action.snapshot)); > } > } >- >- InspectorTest.log("data:"); >- log(recording.data, " "); > } > > window.getCanvas = function(type) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 181341
:
330577
|
330597
|
331537
|
348273
|
348274
|
348279
|
348284
|
348285
|
348300
|
349742