From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_canvas-frontend-record-04.js | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js (limited to 'devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js') diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js new file mode 100644 index 000000000..fde8501e6 --- /dev/null +++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js @@ -0,0 +1,34 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Bug 1122766 + * Tests that the canvas actor correctly returns from recordAnimationFrame + * in the scenario where a loop starts with rAF and has rAF in the beginning + * of its loop, when the recording starts before the rAFs start. + */ + +function* ifTestingSupported() { + let { target, panel } = yield initCanvasDebuggerFrontend(RAF_BEGIN_URL); + let { window, EVENTS, gFront, SnapshotsListView } = panel.panelWin; + loadFrameScripts(); + + yield reload(target); + + let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED); + SnapshotsListView._onRecordButtonClick(); + + // Wait until after the recording started to trigger the content. + // Use the gFront method rather than the SNAPSHOT_RECORDING_STARTED event + // which triggers before the underlying actor call + yield waitUntil(function* () { return !(yield gFront.isRecording()); }); + + // Start animation in content + evalInDebuggee("start();"); + + yield recordingFinished; + ok(true, "Finished recording a snapshot of the animation loop."); + + yield removeTab(target.tab); + finish(); +} -- cgit v1.2.3