Closed Bug 1443480 Opened 6 years ago Closed 6 years ago

Convert devtools/client/animationinspector from Task.jsm/yield to async/await

Categories

(DevTools :: Inspector: Animations, defect)

defect
Not set
normal

Tracking

(firefox61 fixed)

RESOLVED FIXED
Firefox 61
Tracking Status
firefox61 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

Attachments

(1 file, 6 obsolete files)

Animation inspector may require a dedicated rewrite as browser_animation_timeline_rate_selector.js starts failing as you rewrite to async/await without simple reasons. It isn't only because of the test rewrite itself, nor just one method in head files.

$ ./mach mochitest devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js
TEST-PASS | devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js | The selected rate is empty - 
Change the rate for these mixed-rate animations
TEST-PASS | devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js | All animations' rates have been set to 1 - 
TEST-PASS | devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js | The right value is displayed in the select - 
TEST-UNEXPECTED-FAIL | devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js | A promise chain failed to handle a rejection: Protocol error (noSuchActor): No such actor for ID: server1.conn0.child1/animationplayer53 - stack: null
Rejection date: Mon Mar 05 2018 13:40:02 GMT-0800 (PST) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 251
Stack trace:
    resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:251
    chrome://mochikit/content/browser-test.js:Tester_execTest/<:1089
    Tester_execTest@chrome://mochikit/content/browser-test.js:1058:9
    Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:958:9
    SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
Leaving test bound 
GECKO(67230) | JavaScript error: resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js, line 1222: Error: Connection closed, pending request to server1.conn0.child1/animationplayer62, type getProperties failed
GECKO(67230) | Request stack:
GECKO(67230) | request@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:1279:14
GECKO(67230) | generateRequestMethods/</frontProto[name]@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:1433:14
GECKO(67230) | getTracks@resource://devtools/shared/base-loader.js -> resource://devtools/client/animationinspector/components/animation-timeline.js:734:28
GECKO(67230) | async*render@resource://devtools/shared/base-loader.js -> resource://devtools/client/animationinspector/components/animation-timeline.js:474:28
GECKO(67230) | async*refreshAnimationsUI@chrome://devtools/content/animationinspector/animation-panel.js:327:5
GECKO(67230) | Async*refreshAnimationsStateAndUI@chrome://devtools/content/animationinspector/animation-panel.js:315:11
GECKO(67230) | async*onRateChanged/<@chrome://devtools/content/animationinspector/animation-panel.js:265:37
GECKO(67230) | promise callback*onRateChanged@chrome://devtools/content/animationinspector/animation-panel.js:264:5
GECKO(67230) | emit@resource://devtools/shared/base-loader.js -> resource://devtools/shared/event-emitter.js:178:37
GECKO(67230) | emit@resource://devtools/shared/base-loader.js -> resource://devtools/shared/event-emitter.js:255:29
GECKO(67230) | onRateChanged@resource://devtools/shared/base-loader.js -> resource://devtools/client/animationinspector/components/rate-selector.js:100:7
GECKO(67230) | doApply@chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:143:10
GECKO(67230) | apply@chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:208:30
GECKO(67230) | synthesizeMouseAtPoint@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:437:26
GECKO(67230) | synthesizeMouse@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:385:10
GECKO(67230) | synthesizeMouseAtCenter@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:483:10
GECKO(67230) | changeTimelinePlaybackRate@chrome://mochitests/content/browser/devtools/client/animationinspector/test/head.js:359:3
GECKO(67230) | async*@chrome://mochitests/content/browser/devtools/client/animationinspector/test/browser_animation_timeline_rate_selector.js:48:9
Assignee: nobody → poirot.alex
Comment on attachment 8960630 [details]
Bug 1443480 - Convert Task.jsm to async/await in devtools/client/animationinspector.

https://reviewboard.mozilla.org/r/229404/#review235240

Thanks for working on this! :)
Attachment #8960630 - Flags: review?(jryans) → review+
Comment on attachment 8960631 [details]
Bug 1443480 - Convert generators to async functions in devtools/client/animationinspector

https://reviewboard.mozilla.org/r/229406/#review235242
Attachment #8960631 - Flags: review?(jryans) → review+
Comment on attachment 8960632 [details]
Bug 1443480 - Put spaces before parentheses in "async function()" pattern in devtools/client/animationinspector.

https://reviewboard.mozilla.org/r/229408/#review235244

I think you need to rebase...?  We changed the spacing rules while you were on PTO in bug 1443081.
Attachment #8960632 - Flags: review?(jryans) → review-
Comment on attachment 8960633 [details]
Bug 1443480 - Get rid of the now useless require("devtools/shared/task").

https://reviewboard.mozilla.org/r/229410/#review235246
Attachment #8960633 - Flags: review?(jryans) → review+
Comment on attachment 8960635 [details]
Bug 1443480 - Fix browser_animation_timeline_rate_selector failure.

https://reviewboard.mozilla.org/r/229414/#review235250

Great, thanks again for your work here! :)
Attachment #8960635 - Flags: review?(jryans) → review+
Attachment #8960632 - Attachment is obsolete: true
Attachment #8960629 - Attachment is obsolete: true
Attachment #8960631 - Attachment is obsolete: true
Attachment #8960633 - Attachment is obsolete: true
Attachment #8960634 - Attachment is obsolete: true
Attachment #8960635 - Attachment is obsolete: true
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ce36cc4bb58a
Convert Task.jsm to async/await in devtools/client/animationinspector. r=jryans
https://hg.mozilla.org/mozilla-central/rev/ce36cc4bb58a
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 61
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: