Closed Bug 1558298 Opened 5 years ago Closed 5 years ago

Cleanup SpecialPowers

Categories

(Testing :: Mochitest, task, P2)

Version 3
task

Tracking

(Fission Milestone:M4, firefox69 fixed)

RESOLVED FIXED
mozilla69
Fission Milestone M4
Tracking Status
firefox69 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

Details

Attachments

(12 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

SpecialPowers is kind of a mess right now, which makes it difficult to refactor it for Fission support.

A lot of unrelated code is pretty heavily intertwined, which makes it difficult to find all of the code that needs to changed.

Possibly more importantly, though, the same code is loaded into all sorts of different contexts (as a JSM, into a chrome window using a <script> tag, into a plain object using the subscript loader, ...), with various hacks to make things continue working. That makes it pretty hard to tell what is used where, and causes some changes that assume a script is actually being loaded as, e.g., a frame script or a JSM, to break in unexpected ways.

Fixing these problems is a necessary first step to doing anything larger. Beyond that, code that uses the message manager is currently required to spread itself across a half dozen different files, and different sections of files, which makes refactoring it to use an actor model even more difficult. That will likely have to be dealt with in a follow-up bug, after this one is fixed.

Blocks: 1541173
Status: NEW → ASSIGNED
Fission Milestone: --- → M4
Priority: -- → P2
No longer blocks: 1541173
https://hg.mozilla.org/integration/mozilla-inbound/rev/d8b7ed5e149f4d4724c3999b3b0fed9bfd3f8f96 Bug 1558298: Part 1 - Move SpecialPowers wrapping code to separate module. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/8d4419c439e1d92209f237e0d9f1e6c19fa71872 Bug 1558298: Part 2 - Always load specialpowersAPI.js as a JSM. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/c634099abb9dc0196877e626c0df0c168d78876f Bug 1558298: Part 3 - Always load specialpowers.js as a JSM. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/fb67ac962bc5bcaaed595f4232b33497f2b38bf7 Bug 1558298: Part 4 - Cleanup some cruft in SpecialPowersObserver.jsm. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/f94500dd11e38ba34310216d958943d6ef07ce96 Bug 1558298: Part 5 - Let ChromePowers.js handle its own SpecialPowers imports. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/162bc1fc273035ca47ad28947f6b339d2101c29b Bug 1558298: Part 6 - Remove some arrant nonsense from ChromePowers.js. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/d27574cfbb0ed580612d7f468f804aa7819fed21 Bug 1558298: Part 7 - Convert SpecialPowersAPI and sub-classes to ES6 classes. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/6ccaa25367f28c27c27746593db3bd5cfaed5f57 Bug 1558298: Part 8 - Convert SpecialPowersObserverAPI and sub-classes to ES6 classes. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/0f6b382f06261055566d91b84866a51a80e474bd Bug 1558298: Part 9 - Make MozillaLogger.js less insane. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/fddf2808fedf7ca16097af3b5c7c46ed44fc2053 Bug 1558298: Part 10 - Stop loading MozillaLogger.js from SpecialPowers. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/7a0aab00327b089c82476bea30ea17373e0a1103 Bug 1558298: Part 11 - Load SpecialPowersObserverAPI as a JSM. https://hg.mozilla.org/integration/mozilla-inbound/rev/d2ee912c518913c33e4c63b5a5eddf6e10b0c9f4 Bug 1558298: Part 12 - Remove nested OOP support from SpecialPowers and mochitest.
Pushed by maglione.k@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/f859e4de0007 Part 1 - Move SpecialPowers wrapping code to separate module. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/9b1a9d802434 Part 2 - Always load specialpowersAPI.js as a JSM. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/c95e6e599836 Part 3 - Always load specialpowers.js as a JSM. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/ca88016511bb Part 4 - Cleanup some cruft in SpecialPowersObserver.jsm. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/ba24251835fb Part 5 - Let ChromePowers.js handle its own SpecialPowers imports. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/edd1cc6badf7 Part 6 - Remove some arrant nonsense from ChromePowers.js. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/0e91fc9541c2 Part 7 - Convert SpecialPowersAPI and sub-classes to ES6 classes. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/4ccecdba1c34 Part 8 - Convert SpecialPowersObserverAPI and sub-classes to ES6 classes. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/45a9599d9641 Part 9 - Make MozillaLogger.js less insane. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/ef4ec8f0f886 Part 10 - Stop loading MozillaLogger.js from SpecialPowers. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/d12525990565 Part 11 - Load SpecialPowersObserverAPI as a JSM. https://hg.mozilla.org/integration/mozilla-inbound/rev/51969e1c9c44 Part 12 - Remove nested OOP support from SpecialPowers and mochitest.
Flags: needinfo?(kmaglione+bmo)
Status: RESOLVED → REOPENED
Flags: needinfo?(kmaglione+bmo)
Resolution: FIXED → ---
Target Milestone: mozilla69 → ---
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Flags: needinfo?(kmaglione+bmo)
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: