Also fixes existing code which fails the rule.
MozReview-Commit-ID: CkLFgsspGMU
--HG--
extra : rebase_source : 86a43837659aa2ad83a87eab53b7aa8d39ccf55b
This also removes any redundant Ci.nsISupports elements in the interface
lists.
This was done using the following script:
acecb401b7/processors/chromeutils-generateQI.jsm
MozReview-Commit-ID: AIx10P8GpZY
--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
Tests are also added here for the legacy `getTopWindow` method to guard against
basic regressions.
We now start tracking browser windows right after the DOMContentLoaded event, which
is earlier than before. We now also assume that any newly tracked window has the
focus initially, which is closer to the nsIWindowMediator semantics.
MozReview-Commit-ID: 6QYJqA1tMPC
--HG--
extra : rebase_source : e04e567cf31d1a10e78647d75403b700bc65136b
This was done using the script at:
bc5629735d/processors/add-task-async.jsm
MozReview-Commit-ID: KxuS9Cen87
--HG--
extra : rebase_source : c0028e0cd55ba1643610cd30c55c6f4bca7d6e58
extra : histedit_source : ebc84fdec9c2db6176632d62de4e7bdad2a7829d
Also adds resource://devtools to the whitelist of reported paths for the
scalar.
Differential Revision: https://phabricator.services.mozilla.com/D831
MozReview-Commit-ID: BiAyoTQsWxx
--HG--
extra : rebase_source : ce9e81a153a2c17ebfbb0c894821e7684c547a9a
extra : amend_source : 4ad84421c0b3334d218b2f6928290f95edffa351
The transforms for turning an nsIScriptError into a payload that Sentry
understands were getting a bit complex for a single function, so they're
refactored into a list of transform functions that are applied in sequence to
produce the payload. This will make it easier to manage adding new transforms to
the list.
Refactoring this revaled a problem with the test code: it assumed that listeners
for console messages were notified in order of registration (since it used a
temporary listener to determine when the rest of the listeners had been notified
of a message). Changing the async evaluation of the code broke the tests, so
they had to be refactored as well.
Without a way to know when all console listeners have been notified, we can't
assert that a message will not be received by BrowserErrorReporter. We do two
things to get around this:
- Where possible, call `observe` directly on the reporter instance.
- Add constructor params for registering and unregistering listeners so we can
test that logic without relying on messages being received or not.
MozReview-Commit-ID: EEH6IROOuHD
--HG--
extra : rebase_source : a5af344c86e9756d4dbef761e4a6060515c87a61
extra : histedit_source : 5491c7359d2989a2735ec6d39de372154706c475
The shims that this rule tests for no longer exist.
MozReview-Commit-ID: DMgP7Hczavc
--HG--
extra : rebase_source : 765ddd5c62c9449c07ed050e44d86a3bd5c0ae64
extra : amend_source : 627a7694ac07182200f876901ded7a34721cd228
When compartment-per-addon is disabled, browser mochitests will no longer
automatically run in an implicit Sandbox scope, which means that things like
Cu.importGlobalProperties will stop working.
MozReview-Commit-ID: AWloQ7gasEf
--HG--
extra : rebase_source : dacd0f8676dd3af60eeb372985e26d7850470e69
The module attribute for an exception is surfaced in Sentry as the "transaction"
tag, and is useful for errors that don't include stack traces.
Differential Revision: https://phabricator.services.mozilla.com/D727
MozReview-Commit-ID: JKwgmE2jBXB
--HG--
extra : rebase_source : af817b5709e5b596885cc1674bcaaf7f96a0a48f
extra : amend_source : 8b7820ca53c29429ea9d788b1cf84012c99fdf81
Along with adding source code, this updates the reported to more closely follow
the Sentry SDK docs:
- Remove the "request" payload, which is for reporting errors related to HTTP
requests.
- Include SDK info in the payload.
- Reverse the order of stack frames; they are meant to be ordered oldest to
newest.
- Include a local UTC timestamp in the payload.
- Remove the in_app flag from stack traces, as it's not required or useful in
the context of Firefox.
MozReview-Commit-ID: 558KrZNah6d
Differential Revision: https://phabricator.services.mozilla.com/D648
--HG--
extra : rebase_source : 9346b4402eadffc87d3065b61fb5afd3316e0c0a
Because BrowserErrorReporter instances process previously-logged messages when
they are initialized, multiple runs of each test case (such as during the test
verification suite) cause new instances to process messages from the previous
test run. Resetting the console at the end of each test case prevents tests from
affecting each other.
Differential Revision: https://phabricator.services.mozilla.com/D589
MozReview-Commit-ID: HwjbbE00o97
--HG--
extra : rebase_source : 94ea69f8dbe679ff228c5c9b016f131650be1671
extra : amend_source : 5a9d0b5018d28d2dfc4782e66c732b711cb67109
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.
MozReview-Commit-ID: De4enbjux3T
--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a