This patch removes the dispatch of ReportGenericErrorRunnables when
a worker fails to start, since they were causing crashes and
weren't getting run anyway. It also adds an assertion that prevents
the creation of strong references to workers before they begin
their main loop.
Differential Revision: https://phabricator.services.mozilla.com/D76693
In Tor Browser dom.securecontext.whitelist_onions is true by default, so we need a small
patch for tests from bug 1382359 to pass. We would like to upstream that patch, which
is just making sure dom.securecontext.whitelist_onions is false before starting the test.
Differential Revision: https://phabricator.services.mozilla.com/D76726
In the common case of using case sensitive matching, improvements come from:
* for attributes backed by nsStringBuffers, not needing to AddRef/Release the
string buffer
* for attributes backed by atoms, not needing to run the destructor of an
nsDependentAtomString
* for prefix and suffix attribute selectors, using memcmp instead of the
slower StringBeginsWith/StringEndsWith (which read a character at a
time and call a virtual function on the comparator object)
* for the substring attribute selector, using std::search(), which also
avoids virtual function calls on a comparator object
Attribute selector performance is important on pages with many links
with ad blocker extensions that use such selectors installed.
On my machine, this drops total time spent loading the single page HTML
spec
* under Gecko_AttrHasPrefix from 2.69 s to 1.25 s
* under Gecko_AttrHasSubstring from 1.06 s to 0.30 s
Differential Revision: https://phabricator.services.mozilla.com/D76643
IsInNativeAnonymousSubtree and IsRootOfNativeAnonymousSubtree are
exposed in nsINode, so we don't need to make sure to call them on
nsIContent objects.
Depends on D76681
Differential Revision: https://phabricator.services.mozilla.com/D76682
In favor of the NativeAnonymous versions which they forward to.
Done automatically with:
rg -l 'IsInAnonymousSubtree' | xargs sed -i 's/IsInAnonymousSubtree/IsInNativeAnonymousSubtree/g'
And removing the function definitions afterwards.
Differential Revision: https://phabricator.services.mozilla.com/D76681
The only caller that passes that principal is the only caller that calls
into LoadSheet with a loader that has a document anyway.
And the principal we're passing is Document::NodePrincipal(), which is
what we'd end up using anyway, so the new code is exactly equivalent, as
far as I can tell.
Differential Revision: https://phabricator.services.mozilla.com/D76469
Replace ScriptEvaluation profiler marker with compilation & execution markers for bytecode, module, binast, and text sources.
Differential Revision: https://phabricator.services.mozilla.com/D75223
I removed some outlines in gtk which causes some repaints not to show
up. However I think this test should be simplified a bit instead.
When this test landed in bug 426082, snapshots and such were the only
way to test this because it was a widget hack, effectively. Nowadays,
that "forward hover and active state from label to labeled element"
happens at the event state manager level, and thus we can test it much
more easily using simple selector-matching.
Differential Revision: https://phabricator.services.mozilla.com/D76602
This should fix the issue for preallocated processes that still don't
host any document, and also send a few less IPC messages.
Differential Revision: https://phabricator.services.mozilla.com/D76537
Firing eMouseExitFromWidget means we are leaving a specific remote target, then
we should not update sLastMouseRemoteTarget. Otherwise the subsequent event
might trigger sending eMouseExitFromWidget again.
Differential Revision: https://phabricator.services.mozilla.com/D75916