Prior to this patch, we were retrieving the message data in the ConsoleOutput
render, for each message. This means that for each message addition, we were
retrieving the data for each message in the store.
This doesn't impact performance if there are not many messages in the store, but
if the store is "full", we might end up calling the function to get those messages
a lot. And since the messages are in an Immutable.OrderedMap, it can be very costly.
Moving the retrieval of the message data in ConsoleOutput allow us to only call this
function when a message is added or updated, which allow us to save some time on
the rendering path.
MozReview-Commit-ID: S4NSSW5Mvw
--HG--
extra : rebase_source : 5262b5b34bb86fec5c14b7056875b8f8b661262a
Changes to Promise tests designed to test .then(null) have been reverted, and the browser/extensions directory was excluded because the projects it contains have a separate process for accepting changes.
MozReview-Commit-ID: 1buqgX1EP4P
--HG--
extra : rebase_source : 3a9ea310d3e4a8642aabbc10636c04bfe2e77070
Add a test case to measure streaming time when the store already hit the log limit so
we can have data about pruning.
Switch to performance.mark and performance.measure for time measurement instead of the
custom timeit function we had.
This allow us to have precise data, and also those are written in the profile and then
shown in perf-html, so we can have a better overview of what's going on during the test.
MozReview-Commit-ID: 2nNmukxmUso
--HG--
extra : rebase_source : c8dca67060c2bf6a61e32c78e9fb35b24d7801a9
Add a test case to measure streaming time when the store already hit the log limit so
we can have data about pruning.
Switch to performance.mark and performance.measure for time measurement instead of the
custom timeit function we had.
This allow us to have precise data, and also those are written in the profile and then
shown in perf-html, so we can have a better overview of what's going on during the test.
MozReview-Commit-ID: 2nNmukxmUso
--HG--
extra : rebase_source : 298387e0f33ff226f6d096fd8786f29ddbd5a56f
The browser-chrome test suite now detects and reports unhandled rejections of native Promises, in addition to those created by Promise.jsm. The whitelisting mechanism is updated to use primarily the PromiseTestUtils.expectUncaughtRejection function. Tests will fail if a rejection that is not whitelisted occurs, or if a whitelisted rejection does not occur anymore.
MozReview-Commit-ID: 1beGB5GG8Ty
--HG--
extra : rebase_source : b6573f8e2001f91d0e5a50f6376b191459549e94
extra : intermediate-source : 0411e687044ecc7b56684196238e6e6e68a9d685
extra : source : 8d53be05afc59519c5ce8cfae96d284a972fda71
In the console, we were assuming that eventTiming was the last
of the eight networkUpdate that happen for a given network request.
Unfortunately, we can't ensure the order in which those updates come,
so the test was intermitently failing when eventTiming was fired
before other updates.
To fix this, we don't look for a specific update, but rather check that
all of the 8 updates happened.
MozReview-Commit-ID: Iv0TIHoqkyv
--HG--
extra : rebase_source : 129a2edd1725e8eddc8ea20de3d38e1bc5f27f87
Use DevToolsShim to access devtools APIs from webextensions code.
For webextensions tests using DevTools, tests are accessing DevToolsShim.gDevTools
which is fine for test purposes.
MozReview-Commit-ID: 66gFV98xvpf
--HG--
extra : rebase_source : 05734afae4368c5d7e4682b5fae1b8f3e4417220
On Skia / OS X using a large number as workaround for infinite lines makes
the canvas really slow; here I removed the hack, calculating the proper
intersection with the canvas' boundaries for the infinite lines. That should
greatly improve the performance for transformed grid.
MozReview-Commit-ID: Ae1GyxIhf3l