Use the protocol/instrumentation logic created in <https://webkit.org/b/174481> Web Inspector: create protocol functions for recording Canvas contexts
<rdar://problem/34213884>
Created attachment 367798 [details] Patch I thought about it, and even though WebKit's WebGL2 implementation isn't complete, the IDL is standardized and very unlikely to change. :)
This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`) This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.
Comment on attachment 367798 [details] Patch Attachment 367798 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/11934230 New failing tests: inspector/canvas/recording.html inspector/canvas/recording-2d.html inspector/canvas/recording-webgl.html inspector/canvas/recording-bitmaprenderer.html inspector/canvas/setRecordingAutoCaptureFrameCount.html
Created attachment 367839 [details] Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 367851 [details] Patch
Comment on attachment 367851 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367851&action=review Nice! rs=me > Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js:215 > + if (this._recording) { > + this._recordingTreeOutline.updateVirtualizedElementsDebouncer.force(); What is this code in CanvasSidebarPanel? Seems new and unexplained. > Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js:181 > + this._updateSliderValue(); Another drive-by? Seems good!
Comment on attachment 367851 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367851&action=review >> Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js:215 >> + this._recordingTreeOutline.updateVirtualizedElementsDebouncer.force(); > > What is this code in CanvasSidebarPanel? Seems new and unexplained. This ensures that the initial action is selected as soon as it's visible rather than have to wait a frame for it to populate (the debounce). >> Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js:181 >> + this._updateSliderValue(); > > Another drive-by? Seems good! And this is for the same reason.
Comment on attachment 367851 [details] Patch Rejecting attachment 367851 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-02', 'apply-attachment', '--no-update', '--non-interactive', 367851, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Logging in as commit-queue@webkit.org... Fetching: https://bugs.webkit.org/attachment.cgi?id=367851&action=edit Fetching: https://bugs.webkit.org/show_bug.cgi?id=176008&ctype=xml&excludefield=attachmentdata Processing 1 patch from 1 bug. Processing patch 367851 from bug 176008. Fetching: https://bugs.webkit.org/attachment.cgi?id=367851 Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Joseph Pecoraro']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Parsed 31 diffs from patch file(s). patching file Source/JavaScriptCore/ChangeLog Hunk #1 succeeded at 1 with fuzz 3. patching file Source/WebCore/ChangeLog Hunk #1 succeeded at 1 with fuzz 3. patching file Source/WebInspectorUI/ChangeLog Hunk #1 succeeded at 1 with fuzz 3. patching file Source/JavaScriptCore/inspector/protocol/Recording.json patching file Source/JavaScriptCore/inspector/scripts/codegen/generator.py patching file Source/WebCore/bindings/js/CallTracerTypes.h patching file Source/WebCore/html/canvas/WebGL2RenderingContext.idl patching file Source/WebCore/inspector/InspectorCanvas.cpp Hunk #1 succeeded at 94 (offset 3 lines). Hunk #2 succeeded at 118 (offset 3 lines). Hunk #3 succeeded at 145 (offset 3 lines). Hunk #4 succeeded at 182 (offset 3 lines). Hunk #5 succeeded at 321 (offset 3 lines). Hunk #6 succeeded at 332 (offset 3 lines). Hunk #7 succeeded at 398 (offset 3 lines). Hunk #8 succeeded at 697 (offset 19 lines). Hunk #9 succeeded at 723 (offset 18 lines). patching file Source/WebCore/inspector/InspectorCanvas.h Hunk #1 succeeded at 58 (offset 3 lines). Hunk #2 succeeded at 120 (offset 6 lines). Hunk #3 succeeded at 130 (offset 6 lines). patching file Source/WebCore/inspector/RecordingSwizzleTypes.h patching file Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp patching file Source/WebCore/inspector/agents/InspectorCanvasAgent.h patching file Source/WebCore/page/PageConsoleClient.cpp patching file Source/WebInspectorUI/UserInterface/Models/Recording.js patching file Source/WebInspectorUI/UserInterface/Models/RecordingAction.js patching file Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js patching file Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js patching file Source/WebInspectorUI/UserInterface/Views/CanvasTabContentView.css patching file Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js patching file Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js patching file LayoutTests/ChangeLog Hunk #1 succeeded at 1 with fuzz 3. patching file LayoutTests/TestExpectations patching file LayoutTests/inspector/canvas/recording-webgl2-expected.txt patching file LayoutTests/inspector/canvas/recording-webgl2-snapshots-expected.txt patching file LayoutTests/inspector/canvas/recording-webgl2-snapshots.html patching file LayoutTests/inspector/canvas/recording-webgl2.html patching file LayoutTests/inspector/canvas/resources/recording-utilities.js Hunk #1 FAILED at 100. Hunk #2 FAILED at 107. Hunk #3 FAILED at 130. 3 out of 3 hunks FAILED -- saving rejects to file LayoutTests/inspector/canvas/resources/recording-utilities.js.rej patching file LayoutTests/platform/gtk/TestExpectations patching file LayoutTests/platform/mac/TestExpectations Hunk #1 succeeded at 1032 (offset 1 line). patching file LayoutTests/platform/win/TestExpectations Hunk #1 succeeded at 1981 (offset 1 line). patching file LayoutTests/platform/wincairo/TestExpectations Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Joseph Pecoraro']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Full output: https://webkit-queues.webkit.org/results/12080675
Created attachment 368909 [details] Patch
Comment on attachment 368909 [details] Patch Clearing flags on attachment: 368909 Committed r244908: <https://trac.webkit.org/changeset/244908>
All reviewed patches have been landed. Closing bug.