This patch uses the shared memory name prefixes introduced in bug 1447867
to prevent access to /dev/shm files of other applications or other
processes within the same browser instance.
When a shared memory implementation that doesn't use shm_open is available
(specifically, the memfd_create support to be added in bug 1440203),
/dev/shm access is completely denied.
MozReview-Commit-ID: L2ylG5KrXTU
The '-moz-menulist-button' value currently behavies identically to the
'menulist-button' value. This is not implemented as an alias because later
patches in this patch series will change the behavior of our pre-existing
'menulist-button' value to more closely match what Chrome does.
--HG--
extra : rebase_source : b66bf6427db5be2eb12f4e0aa36d22a4da46555a
Summary:
The memory usage of wpt-update has always been high, and accidentially
regressed in Bug 1476053 to really problematic levels when doing a
full metadata update for all test results. This patch implements a
number of changes that reduce the peak memory usage to ~1Gb and the
heap after reading all results data to ~600Mb.
THere are several changes in this patch:
* Change from a dict {test: [(subtest, prop, run_info, result)]} to a
nested dictionary {test: {subtest: [(prop, run_info,
result)]}}. This fixes the silliness that caused the previous
regression.
* Convert all unicode data to bytestrings and then intern() the
bytestring. This allows reusing string allocations for repeated
strings, of which there are many.
* Process the test manifests upfront and then allow the manifest data
to be gc'd before starting to process the results files, so that we
are not holding on to data that is no longer required.
* Stop storing status-type results as (status, default_expected); just
look up the default_expected for a specific test if we have to
update the expectations for that test.
* Add __slots__ to all frequently-allocated classes to avoid the
overhead of constructing an __dict__ for each instance, which
typically has size overhead (see
e.g. http://book.pythontips.com/en/latest/__slots__magic.html )
* Move to using a custom compact representation for the list of
per-subtest results i.e. [(prop, run_info, results)]. This uses an
array.array of 2-byte ints to store the entries and effectively
interns the values, bit packing the representations of property to
be updated and result (if it's a test status) into 4 bits each in
the first byte, and the run info into the second byte. Properties
with a complex data representation (e.g. LSAN failures) are stored
directly, with a 0 value of the status bits indicating that the
complex value should be read.
Reviewers: ato
Tags: #secure-revision
Bug #: 1479290
Differential Revision: https://phabricator.services.mozilla.com/D2496
MozReview-Commit-ID: 7zGpdzdaqRj
Automatic update from web-platform-testsFind LayoutText containing the first letter before attaching pseudo.
We assert that we find the same text node before creating the element as
we find when attaching the first letter LayoutText. We used to attach
the ::first-letter pseudo element before finding the LayoutText from
which we get the first letter text.
We did crash in a clusterfuzz test because FirstLetterTextLayoutObject()
was confused by a combination of a grid, button, anonymous
wrappers and continuations. Instead of trying to fix all bugs in
FirstLetterTextLayoutObject(), find the LayoutText before attaching the
::first-letter to make sure we are consistent instead of chasing
clusterfuzz issues.
Reported the incorrectness for button, grid, and ::first-letter in
868380.
Bug: 859285, 868380
Change-Id: I335a32b466ab31858fb05ea5f650cf12ab674040
Reviewed-on: https://chromium-review.googlesource.com/1152982
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578993}
--
wpt-commits: 3442f9d9d984af97c015dabbf1e59dde9585cca4
wpt-pr: 12215
Automatic update from web-platform-testshtml: Split semantics/tabular-data/processing-model-1/span-limits.html into two.
The third test and the forth test are very slow. Split out the latter to
another file.
Bug: https://github.com/web-platform-tests/wpt/issues/11187
Change-Id: I3af14e712b6b06603140666f08005fb18d6a0541
Reviewed-on: https://chromium-review.googlesource.com/1148163
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578991}
--
wpt-commits: 1e0465e0b37af31c2f261c3cfb3291afa143c1af
wpt-pr: 12155
Automatic update from web-platform-testsRemove Shared Worker WPT for WebUSB
This change removes the WebUSB on Shared Worker web platform tests,
since the feature is not yet implemented in any browser.
Bug: 841510
Change-Id: I6cd09c245edcd69799b39701b82ba1510caf845e
Reviewed-on: https://chromium-review.googlesource.com/1151752
Reviewed-by: Chong Zhang <chongz@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Ovidio Henriquez <odejesush@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578479}
--
wpt-commits: ba4921d054808a44c2966507c19861ca729a76a2
wpt-pr: 12200
Automatic update from web-platform-tests[OOR-CORS] Add a wpt for CORS with sandboxed-iframe
CORSURLLoader uses network::ResourceRequest::request_initiator which
ignores iframe sandboxing, which is a bug. Let's add a simple test for
the behavior.
Bug: 867834
Change-Id: Ia45113503f98b3d18e31c785e703d29eee658d08
Reviewed-on: https://chromium-review.googlesource.com/1151167
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578636}
--
wpt-commits: b1f0b037511dbfb6ce9801c57fecc7efed944482
wpt-pr: 12192
Automatic update from web-platform-testsUpdate Chrome WebDriver capabilities to use vendor prefix (#11649)
The Chrome WebDriver implementation uses `goog:` for Chrome-specific
settings in its capabilites. The capabilites used in the current test
suite does not use this prefix. This commit resolves that issue.
--
wpt-commits: 312f233727faaeb58269f4cb2ea67a534e35402b
wpt-pr: 11649
Automatic update from web-platform-testsservo: Use config property instead of kwarg for browser kwargs.
--
wpt-commits: 5800841ab8463e8b9f497eaae3b976c6da5f1ad7
wpt-pr: 12203
Automatic update from web-platform-testsFix manifest paths obtained from the file system
Earlier, the manifest generated using the file system didn't
honour .gitignore, leading to some weird differences between the
working-tree manifest and the one for HEAD.
This does slow down the working-tree manifest update by about 15%, though.
--
wpt-commits: bdae4c34e7490ddc5f16c5718d445cd0af159941
wpt-pr: 12185
Automatic update from web-platform-testsAdded a way to specify aliases using command line.
--
wpt-commits: 3f67724a2abefcbdf43e8797579a2e2c2c6a40f8
wpt-pr: 12172
Automatic update from web-platform-tests<input>: INPUT element with unknown type attribute value should be rendered same as <input type=text>.
Non-macOS and macOS have different default padding for text-field <input>.
html.css specifies padding for macOS, and themeWin.css specified padding for
non-macOS only for specific input types, and unknown input types, which are
fell back to type=text, were not covered by themeWin.css.
Bug: 747752
Change-Id: I2165380868acf54eeb42dfa3109a989418a62c83
Reviewed-on: https://chromium-review.googlesource.com/1150940
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578281}
--
wpt-commits: 65dd8395f9303543a90abbb58ef31be6fba3a33e
wpt-pr: 12191
Automatic update from web-platform-testsCreated new interface and class TrustedTypePolicy
Created interface TrustedTypePolicy with readonly attribute name of type
DOMString
Added function createPolicy(const String& policyName) to
TrustedTypePolicyFactory class
Bug: 739170
Change-Id: Iada8bbdb697b24f450290d27e2673df3974fc2cd
Reviewed-on: https://chromium-review.googlesource.com/1148440
Commit-Queue: Orsolya Bernadett Batiz <orsibatiz@google.com>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578271}
--
wpt-commits: 2a5fed3d1f1691b8b02b6ee645c1ea00143d6c57
wpt-pr: 12158
Automatic update from web-platform-testsurl: DecodeURLEscapeSequences() should not apply UTF-8 and isomorphic encoding to a single input.
DecodeURLEscapeSequences() decoded some parts of an input string in UTF-8,
and other parts of the string in isomorphic encoding. This behavior doesn't
make sense, is harmful against browser interoperability, and is used only
in 0.0013% of page views (only in scroll-to-fragment cases).
DecodeURLEscapeSequences() is used in many code paths, and we have usage
data only for scroll-to-framgnet. However this CL tries to remove this
weird behavior entirely.
Bug: 845824
Change-Id: Ib1cbbd3e1c26ebaaca7b3537b9732121835fdc9f
Reviewed-on: https://chromium-review.googlesource.com/1146535
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578151}
--
wpt-commits: c54b4511852cd7acdb0aed4108f38487ab95418f
wpt-pr: 12154
Automatic update from web-platform-tests[idlharness.js] Add inheritor as dep for includes (#12165)
* Fix/simplify tests broken by change
* Remove redundant self object in selection/idlharness.window.js
--
wpt-commits: 2fe1bdb04188923e8933161a46e71718f33f8fdb
wpt-pr: 12165
Automatic update from web-platform-testsRely on git hashes for manifest update
We earlier hashed all in-tree files when updating the manifest.
Relying on git hashes instead gives us a speedup of ~50%
when running |wpt manifest|
With reference to https://github.com/web-platform-tests/wpt/issues/11388
--
wpt-commits: 29663d0151dcd630df7f48066443ab6c8a953466
wpt-pr: 12182
Automatic update from web-platform-testsLocked mouse event check ShouldGenerateAppCommand
When pointer is locked, we still need to check ShouldGenerateAppCommand
and set event handled so that won't generate unnecessary navigate
appcommand when kExtendedMouseButtons is enabled. This causes unable
to preventDefault on mouse back/forward buttons to prevent navigation
while pointer is locked.
Bug: 852709
Change-Id: I5f75a68e36037210c38310f8d83825c5efdf311e
Reviewed-on: https://chromium-review.googlesource.com/1148886
Commit-Queue: Ella Ge <eirage@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577889}
--
wpt-commits: 1778b7179d12143b26c0651200257eca39dbc601
wpt-pr: 12183
Automatic update from web-platform-testsRefactoring XR mojo interfaces
Merging presentation provider and magic window provider to get rid of
duplicate code that fetches data. Changing request session so that it
must always return at least one interface for getting data, allowing
some uniformity of getting sessions across devices.
Bug: 842025
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I587b314daf177619440a82f12471ea567b346caf
Reviewed-on: https://chromium-review.googlesource.com/1135831
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577572}
--
wpt-commits: f9cb1ddc13c35945ac40c6e93f9ae25887dbd811
wpt-pr: 12150
Automatic update from web-platform-testsFix resources/test suite
The suite was broken by PR #11976 where the config class was changed.
The suite uses a hack to get the default config of wptserve. This commit
fixes the hack, but unfortunately does not find a less hacky way to get
the default config.
--
Run resources_unittest on CI if tools are changed
To prevent changes in tools (especially `wpt serve` and its
dependencies) from breaking the resources/test suite again, this commit
adds "tools/" to the watchlist of the suite.
--
wpt-commits: 2877f572684541d6cd2f301d72f4114dd35ce885, d03becfbbe9df94fb06c2a00ff9ad549634f3660
wpt-pr: 12174
Automatic update from web-platform-testsConsolidated fixes to character encoders/decoders (#11707)
* Fix EUC-JP reference decoder
The relevant step fixed by this pull request says "Return error."; thus, the rest of the process should continue with the next iteration, rather than run the rest of the handler for the given byte.
* Fix ISO-2022-JP reference implementation
The relevant step in the Encoding Standard says "Prepend _lead_ and _byte_ to _stream_." However, the two bytes are prepended in the wrong order in the reference implementation. Note that under the Encoding Standard, "[w]hen one or more tokens are prepended to a stream, those tokens must be inserted, _in given order_, before the first token in the stream." (Note that the code, at the time of this request, moves _lead_ to the front of the array, then moves _byte_ to the front of the array.)
There may be other issues like this elsewhere in the multiple-byte encoder reference implementations.
* Fix bug in EUC-KR reference implementation
Makes one "if" statement conditional rather than unconditional
* Fix bug in Shift_JIS encoder
* Fix bug in Big5 reference implementation
* Fix Shift_JIS reference decoder
To conform to the most recent Encoding Standard.
--
wpt-commits: 0589266b84851660a1c70efb916f5d34fa5ebd7c
wpt-pr: 11707
Automatic update from web-platform-tests[wptrunner] Fix regression in Sauce Labs browser
A recent commit [1] updated the invocation of the `start` method for
"Browser" instances by introducing a new keyword argument. This
interfered with the use of the "Sauce Labs" browser because its
implementation of the `start` method did not accommodate any keyword
arguments.
Update the `start` method to support (but ignore) all keyword arguments.
[1] 91803e3a25afd8e0c201bc57cd05fffd5d543551
--
wpt-commits: addfa0d8e05da60dbc24f0f9affe2e3841ad33f6
wpt-pr: 12170
Automatic update from web-platform-testsUpdated h2 server start with ssl_config being packaged into config
--
wpt-commits: cc33a7eb4f84a9299db18309cfcc5c5e147c67fc
wpt-pr: 12173