DocumentLoadListener doesn't know how to process-switch top-level loads for
non-tabbed browsers, so this ensures that the load happens in the correct
process.
Differential Revision: https://phabricator.services.mozilla.com/D74272
This moves some symbolication code out of browser.js and into a new module symbolication.jsm.js.
It also threads the pageContext parameter through to getSymbolsFromThisBrowser so that it can
respect the correct objdir pref. This part is probably more complicated than necessary.
Differential Revision: https://phabricator.services.mozilla.com/D63914
While trying to fix the error-handling, I tested one solution that *should* have caused a failure in a web platform test, but didn't, because the test didn't exist yet. This patch adds that test.
Depends on D74501
Differential Revision: https://phabricator.services.mozilla.com/D74502
nsContentUtils::IsPatternMatching calls into SpiderMonkey several times to validate and execute a regexp. It assumes that JS::NewUCRegExpObject can only fail if the pattern is invalid. However, in the case of OOM or stack overflow, this is false.
In the previous patch, we added a new API for pattern matching. This patch uses the new function to clean up the error handling in IsPatternMatching.
Differential Revision: https://phabricator.services.mozilla.com/D74501
To make sure that `<input>` elements with `pattern` attributes update their validation state (`:invalid`) properly, nsContentUtils::IsPatternMatching needs to be able to distinguish between parsing errors caused by an invalid pattern, vs parsing errors caused by OOM/overrecursion.
This patch also fixes up the places inside the new regexp engine where we can throw over-recursed to make sure that we set the right flag on the context, then fixes regexp/huge-01.js (and the binast variants) to accept a different error message.
Differential Revision: https://phabricator.services.mozilla.com/D74499
The `browser_aboutdebugging_navigate_to_url.js` test times out if we don't wait for the about:devtools-toolbox tab to be removed as a target from about:debugging.
Differential Revision: https://phabricator.services.mozilla.com/D74467
In the Browser toolbox destroy function, we now wait for
any pending connection initialization promise.
In the test we close the browser toolbox at the end.
We also need to guard a few method in the connection proxy
to ensure the instances we use are still alive before using
them.
Differential Revision: https://phabricator.services.mozilla.com/D71171
As noted in the comment /proc/[pid]/stat is returning the number of pages, but
this value is being used elsewhere as a bytes figure, so we need to multiply by
the page size to get that.
Differential Revision: https://phabricator.services.mozilla.com/D74350
All the indexes were off by two, so the values were for completely different
measurements, and thus nonsense. Resident Set Size still doesn't seem to be
handled correctly, perhaps because it's being treated as a bytes count rather
than the page count it is somewhere, but with this change the Virtual Memory
figures match what system monitor displays.
Differential Revision: https://phabricator.services.mozilla.com/D74349
The pid wasn't being included in the ProcInfo returned from GetProcInfo unlike
on macOS, so all child processes were ending up with the default pid of 0
Differential Revision: https://phabricator.services.mozilla.com/D74348
This patch persists the CrossOriginEmbedderPolicy on the Document and
WindowContext.
The WindowContext's embedder policy is set in
WindowGlobalActor::BaseInitializer by either adopting the policy of the HTTP
channel that loaded the document, or in WindowGlobalChild::OnNewDocument
by inheriting the one from the browsingContext's windowContext.
Differential Revision: https://phabricator.services.mozilla.com/D46903