By disallowing flushing layout in AccessibleCaret's callbacks, we don't
need to worry about dead PresShell affect other callbacks in the system.
Differential Revision: https://phabricator.services.mozilla.com/D15537
--HG--
extra : moz-landing-system : lando
Without this change, for example,
UpdateCarets(UpdateCaretsHint::DispatchNoEvent) won't update carets. We don't
have a wrong use case yet, but it's good to fix that beforehand.
Differential Revision: https://phabricator.services.mozilla.com/D15535
--HG--
extra : moz-landing-system : lando
The old code did this check in GetContentWindow, basically. We _could_ just put
the null-check there, but this seems safer.
Differential Revision: https://phabricator.services.mozilla.com/D15676
--HG--
extra : moz-landing-system : lando
While trying to handle a failed GetTransferData call I made some mistake, mostly because this function has incredibily
confusing control flow. I would actually assume some of its current behavior is not intentional.
For this we assume that data == nullptr <-> NS_FAILED(rv), this is probably not 100% correct, but doesn't seem to
matter in practice. (This is a change in behavior that is intentional, because we want to check return value)
If we trace the data == nullptr case through the old code, we realize that for aInSyncMessage we will just continue.
(This is because nullptr doesn't queryInterface to anything)
Differential Revision: https://phabricator.services.mozilla.com/D15572
--HG--
extra : moz-landing-system : lando
The call to `cx->jobQueue->reset()` doesn't do anything that isn't also
accomplished by the call to `fop->delete_(cx->jobQueue.ref())` two lines later.
Since `cx->jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, the
`PersistentRooted` actually owns the `JobQueue` (despite the field's name
`ptr`), rather than holding a pointer to it, so deleting the `PersistentRooted`
invokes the `JobQueue` destructor.
In more detail:
`JSContext::jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, so the
call `cx->jobQueue->reset()` performs the following steps:
- Call `ProtectedData::operator->`, obtaining a (const reference to a non-const)
pointer `PersistentRooted<JobQueue>*`.
- Call `PersistentRooted::reset`, which move-assigns a fresh `JobQueue` to the
`ptr` member. Note that `PersistentRooted<JobQueue>::ptr` is a `JobQueue`,
*not* a pointer.
But the subsequent call to `fop->delete_(cx->jobQueue.ref())` will perform the
following steps:
- Call `ProtectedData::ref`, obtaining a (reference to a)
`PersistentRooted<JobQueue>*` pointer.
- Call `PersistentRooted<JobQueue>`'s destructor, which destructs `ptr`. Since
`ptr` is a `JobQueue`, this calls the `JobQueue`'s destructor, safely freeing
its resources.
Differential Revision: https://phabricator.services.mozilla.com/D15120
--HG--
extra : moz-landing-system : lando
Only STATE_SECURE_HIGH is used, and that's only in instances where
STATE_IS_SECURE is also used, so we can remove the security level
flags and just assume STATE_IS_SECURE is also STATE_SECURE_HIGH.
Differential Revision: https://phabricator.services.mozilla.com/D15600
--HG--
extra : moz-landing-system : lando
The output from running the browser during PGO builds can have innocuous
error messages in them, but show up in treeherder as potential messages
to include when filing bugs. We can just save the output from these runs
as files and upload them as artifacts instead, so they don't show up in
the build log but are available for inspection if necessary.
MozReview-Commit-ID: 3VdVCKVkZNI
Differential Revision: https://phabricator.services.mozilla.com/D15154
--HG--
extra : moz-landing-system : lando
Marionette recently had changes made to its window maximisation algorithm
that lets us re-enable this test. It tests that session.window.maximize()
does not hang when the window is already maximised.
Differential Revision: https://phabricator.services.mozilla.com/D15582
--HG--
extra : moz-landing-system : lando
By stopping to use the scriptTimeout parameter with the
WebDriver:ExecuteScript and WebDriver:ExecuteAsyncScript commands
in the Marionette Python client, we can remove it from the server.
Differential Revision: https://phabricator.services.mozilla.com/D15583
--HG--
extra : moz-landing-system : lando
There's a small number of devtools test failures that will be fixed by Alexandre
in bug 1515290. When that lands we can revert this change.
Differential Revision: https://phabricator.services.mozilla.com/D15290
--HG--
extra : moz-landing-system : lando