Since system info service may not be available in socket process, user agent components should be initialized in parent process only.
Differential Revision: https://phabricator.services.mozilla.com/D79153
CompileInfo::script_ is null for wasm, so avoid calling info.filename()
/ info.line() in that case.
Example backtrace:
js::BaseScript::sourceObject (this=0x0)
js::BaseScript::scriptSource (this=0x0)
js::BaseScript::filename (this=0x0)
js::jit::CompileInfo::filename (this=0x7ffec6422618)
js::jit::DumpMIRExpressions
Differential Revision: https://phabricator.services.mozilla.com/D79698
The mStorageAccessPermissionGranted variable determins the result of
HasStorageAccess API, which should sync with the result of the
ContentBlocking::ShouldAllowAccessFor.
This patch removes using nsGloWindowOuter's logic and alwasys use
ShouldAllowAccessFor while creating a new document.
Differential Revision: https://phabricator.services.mozilla.com/D78634
This commit is made a bit harder to understand by a couple of changes
that I felt were necessary to make:
- I refactored the code for purging a single origin into the maybePurgePrincipal function.
- I updated the logger to actually allow for different log levels (to get debug logging)
Differential Revision: https://phabricator.services.mozilla.com/D79386
Resolve two py3 issues in remotexpcshelltests.py:
- use six.iteritems() to iterate on the env dict
- use 'wb' to create the log file
Some cleanup rides along (I couldn't resist).
Differential Revision: https://phabricator.services.mozilla.com/D79753
High-level documentation for how compiler and feature selection are
used to compute compiler and feature availability.
Differential Revision: https://phabricator.services.mozilla.com/D78485
I considered wrapping `provider.tryMethod("updateBehavior", queryContext)` in a
promise in case there are implementations that aren't async or don't return a
promise. But there's only one implementation of `updateBehavior`, it's async,
and we probably won't end up with any more implementations, so for simplicity I
didn't.
Differential Revision: https://phabricator.services.mozilla.com/D79559
* Replace PlacesSearchAutocompleteProvider with UrlbarSearchUtils.
* Move the module from toolkit to browser. The only consumers of
PlacesSearchAutocompleteProvider are urlbar and UnifiedComplete.
* I'd like to add functions to UrlbarUtils instead, but
PlacesSearchAutocompleteProvider adds itself as an observer for search
engine changes, and it keeps some state so that alias lookups are O(1). It
has an init function to set that up. That's not quite as easy to do if I
just added some functions to UrlbarUtils, and I think that O(1) lookups of
aliases are worth keeping (vs. O(number of installed engines)), so I kept a
separate module, now called UrlbarSearchUtils.
* Init the search service (via UrlbarSearchUtils) from
UrlbarProvidersManager.startQuery so that every module involved in querying
doesn't need to do it.
* Remove PlacesSearchAutocompleteProvider.currentEngine. Previous consumers can
simply use Services.search directly now that the service is initialized early
(see previous point).
* Remove PlacesSearchAutocompleteProvider.parseSubmissionURL. Here again
consumers can use Services.search directly.
Differential Revision: https://phabricator.services.mozilla.com/D79244
Added browser test for CompatibilityActor to check consistency and
correctness.
Thse test include:
* Test for no issue
* Test for simple issue
* Test for invalid CSS rule
* Test for aliases
* Test for browser specific issues
* Test for multiple issues for same element
Differential Revision: https://phabricator.services.mozilla.com/D78956
This patch adds a `CompatibilityActor` that calls the MDNCompatibility
library from the devtool server.
This patch exposes `_declarations` from the `StyleRuleActor` and the
a new function `formDeclaration` responsible for populating the
declarations property.
As a check for correctness, the patch replaces the `pageStyle.getApplied`
call in the Compatibility Panel on the client with `compatibility.getNodeCssIssues`
fetching the array of compatibility issues directly and removing the
dependency on MDNCompatibility library for client side computation of
compatibility issues.
Differential Revision: https://phabricator.services.mozilla.com/D77060
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.
The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.
Differential Revision: https://phabricator.services.mozilla.com/D78998
This pref was enabled on all platforms, and the codepath which has it disabled
has been untested for some time. Remove the pref to simplify the code handling
the old case.
Differential Revision: https://phabricator.services.mozilla.com/D78974
These were only used by process switches triggered via DocumentChannel, which
now take the PROCESS_BEHAVIOR_STANDARD codepath.
Differential Revision: https://phabricator.services.mozilla.com/D78973
As tabbrowser now uses `PROCESS_BEHAVIOR_STANDARD`, `PROCESS_BEHAVIOR_CUSTOM` is
now unused. This patch removes that now-unused code.
Differential Revision: https://phabricator.services.mozilla.com/D78972
Due to the PPDC process switching changes, we also handle switching between
remote and non-remote browsers with DocumentLoadListener. Adds support to
CanonicalBrowsingContext::ChangeFrameRemoteness to allow it to handle non-remote
browsers as well.
Differential Revision: https://phabricator.services.mozilla.com/D78971
Add a series of extra hooks and methods to allow tabbrowser to use the new
process switching codepath. This duplicates some of the logic from
`updateBrowserRemoteness` into event handlers.
Differential Revision: https://phabricator.services.mozilla.com/D78970
This new process switching behavior is only enabled for some browser elements,
which have specified a specific attribute. Turning this on for all browsers with
a `remote` attribute causes breakage in reftests.
The initial version does not handle switching from remote to parent or
vice-versa, that is covered in a later part.
Differential Revision: https://phabricator.services.mozilla.com/D78969
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.
Differential Revision: https://phabricator.services.mozilla.com/D79240
The issue in this bug was caused by reader mode replacing the 'pre' tag
that we use to wrap plaintext documents with a series of paragraphs.
This change affected the original document. Instead, we can put the
paragraphs in a clone of the original document, which is fine for
reader mode and avoids altering the original.
Differential Revision: https://phabricator.services.mozilla.com/D79713
The previous changeset made a change to test262-update.py. This changeset is
the result of running the script, like this:
cd js/src/tests
python test262-update.py --revision 4a8e49b3ca7f9f74a4cafe6621ff9ba548ccc353
The revision is taken from the first line of js/src/tests/test262/GIT-INFO; the
purpose of specifying that revision is to run the script again using the same
input, so that the output reflects only changes to the script itself, not new
tests.
Differential Revision: https://phabricator.services.mozilla.com/D76394
In the sampling methods, we do basically sample an animation value for each
CSS property other than transform-like properties.
Differential Revision: https://phabricator.services.mozilla.com/D79749
To enable Win32k lockdown, calls involving native theme will need to be
removed.
Currently these calls are scattered around several files. This class creates
a proxy for the Win32 calls. Whitelisting this class in awcw32ks makes it much
easier to track Win32k removal with themes removed.
As an added benefit, once non-native theming is done it will be easy to verify
by asserting that this class is never created in Content.
Differential Revision: https://phabricator.services.mozilla.com/D75946
Changes:
- stop using runtime information for the chunking process of web-platform-tests
- remove the wpt_group_translation workaround as it is no longer necessary
- simplify chunking process to iterate and assign test paths to chunks in order
Simply assigning test paths (stand-in for manifests in other suites) is now possible because other patches in the stack now prevent the web-platform-tests harness (when an external process handles the grouping) from loading all tests in a given path.
Differential Revision: https://phabricator.services.mozilla.com/D78321
Changes:
- if MOZHARNESS_TEST_PATHS is defined, write the contents of that directory to a JSON file.
- append `--run-by-dir` only if `--test-groups` flag is not set.
Differential Revision: https://phabricator.services.mozilla.com/D78820
Changes:
- add new environment variable `TESTS_BY_MANIFEST_URL` referencing the tests-by-manfiest.json.gz artifact generated by decision task.
- add new method `download_manifest` in mozharness/web_platform_tests.py to download the artifact, then remove non-web-platform-test manifests.
- the processed artifact is then saved as JSON file containing only web-platform-tests for downstream harnesses to use.
Differential Revision: https://phabricator.services.mozilla.com/D78318