There are currently some odd circumstances where we deadlock waiting for the
background save thread to finish while it is blocked on sync dispatch to the
main thread during shutdown.
There were existing workarounds to prevent this, which tried to synchronously
complete the main thread work required by the background thread at the start
of shutdown, and some fallback anti-deadlock assertions to catch any remaining
corner cases, but apparently Fennec has corner cases of its own that we didn't
anticipate.
This patch takes the more straightforward route of using an async shutdown
blocker, which allows the async shutdown service to safely spin the event loop
until the save completes, rather than an independent monitor loop, which does
not.
It also fixes a potential data race where the save thread could clear its
mSaveThread member before NS_NewNamedThread returned, running afoul of
nsCOMPtr sanity checks.
Differential Revision: https://phabricator.services.mozilla.com/D28127
--HG--
extra : rebase_source : 4aed24f4a255063d87dff2609e9913418d5c16fa
Automatic update from web-platform-tests
Added two new test to evaluate the break-word+break-spaces combination. (#16124)
--
wpt-commits: add24188a1226f3598ad6b455e71641c9ac6a5fd
wpt-pr: 16124
Automatic update from web-platform-tests
Adding 5 new contain-content-* tests, 1 contain-strict test and 2 ref… (#16145)
Adding
contain-content-001.html
contain-content-002.html
contain-content-003.html
contain-content-004.html
contain-content-011.html
contain-strict-011.html
reference/contain-content-011-ref.html
reference/contain-strict-011-ref.html
where contain-content-011 test and contain-strict-011 test explicitly verify that **'contain: strict' and 'contain: content' do not turn on style containment**
--
wpt-commits: 3547167a5284e011145013c7705ac7cea8d01c91
wpt-pr: 16145
Automatic update from web-platform-tests
[ FeaturePolicy ] 'sandbox' vs 'allow' attributes
This CL ensures that sandbox features set through 'allow' attribute take
precedence over the 'sandbox' attribute itsef. In line with this, any sandbox
flag which is converted to a container policy will be removed from the set of
flags for the corresponding frame owner. This ensures that the container policy
will not be overwritten by FrameOwner sandbox at the time of receiving the
feature policy headers.
The CL also packs a WPT which verifies the precedence of 'allow' over 'sandbox'.
Bug: 795538, 812381, 926293
Change-Id: Ic1d31dfb17ce4a81b5ead23b789119c04cfacd8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1508925
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Ian Clelland <iclelland@chromium.org>
Commit-Queue: Ehsan Karamad <ekaramad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645769}
--
wpt-commits: 52d8660d0fb402e768c535a90006d0980a9d4bf7
wpt-pr: 15792
Automatic update from web-platform-tests
[css-properties-values-api] Test substitution of em units into '*' props.
This didn't work correctly until the recent improvements to the
property application order.
BUG=641877
Change-Id: I3f7a90eeb0c027d305b470372db8759c34d14390
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1525933
Auto-Submit: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645751}
--
wpt-commits: c5bd0d1a46aaf853bf17f16f5059f8be07ec7f20
wpt-pr: 15904
Automatic update from web-platform-tests
Use Ahem for these tests. (#16137)
Safari renders incorrectly these cases due to a bug (https://webkit.org/b/196169) when using monospace font.
--
wpt-commits: 3ad4a3b1dfbb5199cb6e60ef5981a63afc5c438d
wpt-pr: 16137
Automatic update from web-platform-tests
Quirks: percentage height quirk does not apply to flex/grid
Follows https://github.com/whatwg/quirks/pull/40
--
wpt-commits: cf54e243034211616eb926eaaeac93429dfd4647
wpt-pr: 15380
Automatic update from web-platform-tests
Make RTCDataChannel ID nullable
As per spec update of some time ago.
Bug: chromium:945274
Change-Id: I65bd8ec8076a6446c808f1837850b615eb295972
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1537105
Commit-Queue: Harald Alvestrand <hta@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645720}
--
wpt-commits: ec5fd9733fe589009a71a03c38a4ea67f0e381fa
wpt-pr: 16146
Automatic update from web-platform-tests
Fix flaky `Sec-Fetch-*` tests.
The tests in //fetch/sec-metadata use the server-side stash, but don't
do so with unique-enough identifiers. This patch adds a nonce to the
stash key used by the tests, ensuring that they're not interfering
with each other.
Bug: 947023
Change-Id: If24d441f6d0d9ced7f0eb1413eb78374fa3f62b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1543795
Reviewed-by: Adam Rice <ricea@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645718}
--
wpt-commits: c3e58eeeef43bd5a9dd905f1942e79b394d61924
wpt-pr: 16141
Automatic update from web-platform-tests
Add reporting.idl as a dep for CSP idlharness.js tests (#15864)
Needed for https://github.com/web-platform-tests/wpt/pull/15856.
--
wpt-commits: d779352beb7f08f4970ab1512c8e5ac9ff8cded6
wpt-pr: 15864
Automatic update from web-platform-tests
Use step_timeout() to force spin the EventLoop (#16142)
Use step_timeout() to force spin the EventLoop. Also allow eventPromise to reject before acceptPromise resolves.
--
wpt-commits: 3bfdeb8976fc51748935c8d1f1014dfba8e08dfb
wpt-pr: 16142
Automatic update from web-platform-tests
HTML: named objects of navigated documents
For https://github.com/whatwg/html/pull/4404.
--
wpt-commits: 52bd6d9692ccd589c089d89bf59142cfc0e98288
wpt-pr: 15769
Automatic update from web-platform-tests
[visual viewport] Wait for all tests to be defined
Configure the test harness to delay completion until all
asynchronously-defined tests are available.
--
wpt-commits: c6b4c117ceb0f89201188d017d6ba4b1e6cf1262
wpt-pr: 15633
Automatic update from web-platform-tests
[css-tables] Test for height distribution after modifying layout tree
I don't foresee us fixing this until NG.
This is a test only, no behavior change.
Bug: 764031
Change-Id: I9afddd0bf09231d2f0981e75eb70e7ba1828ee58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1542305
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645344}
--
wpt-commits: 4d956906ca1d5799369c468dde7888eb0b2e5ffb
wpt-pr: 16120
Automatic update from web-platform-tests
Extend canvas getContextAttributes WPTest
This CL extend the WPTest for Canvas getContextAttributes to include
the |desynchronized|.
This CL covers the flag WPT test extension mentioned in
https://github.com/whatwg/html/pull/4360 (which addressed
https://github.com/whatwg/html/issues/4087).
Bug: 944199, 945835
Change-Id: Ibb339c66014d7579023f75c7f2cef99e3f03d351
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1538491
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644332}
--
wpt-commits: c3f8e5c0bb15e7d7f57dbe60f6869caa0c4ad2e7
wpt-pr: 16084
Automatic update from web-platform-tests
[ElementTiming] Mimic FCP++ rect computations
This CL changes ElementTiming rect computation to use a computation
similar to that used by FCP++, but relative to the owning frame.
The tests show that the new computation seems more accurate as they
uncovered a problem with the SVG test: default SVG size is 300x150 so
it was clipping the <image> element inside.
A test for rect coordinates relative to iframe is added.
Bug: 879270, 943138
Change-Id: Ib8fa266bda76843fbf7ca07f82ac5bb245d52c4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531503
Reviewed-by: Liquan (Max) Gu <maxlg@chromium.org>
Reviewed-by: Mason Freed <masonfreed@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645021}
--
wpt-commits: 5570bb27d55420f0639dab2415e618afdb94a6f6
wpt-pr: 15936
Automatic update from web-platform-tests
[Azure Pipelines] Run daily run of Safari stable (#16108)
Rather than adding support for getting the version of Safari stable using
PlistBuddy in tools/wpt/browser.py, pass in the version with
`--browser-version` and make sure that it is not overwritten internally.
The next stable Safari release should support `safaridriver --version`.
--
wpt-commits: 146c7368173ea5336d39049788d993f93774eca6
wpt-pr: 16108
Automatic update from web-platform-tests
Catch more exceptions in Document-createElement-namespace (#16099)
--
wpt-commits: 8f8cbc5ce2a728ad2b48f58085977b8793c95f2b
wpt-pr: 16099
Automatic update from web-platform-tests
Adding WPT for accepting an offer to receive simulcast.
This test checks that when a PeerConnection receives an offer from
an SFU indicating that the SFU wants to receive simulcast, it generates
an answer that negotiates sending simulcast.
Bug: None
Change-Id: I1b6623169a1c2fd18ee453bfbf8e63cee95e5bd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1540306
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Amit Hilbuch <amithi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644886}
--
wpt-commits: c2bd80a32f478b4029307523d6ee02c2aa695b19
wpt-pr: 16092
Automatic update from web-platform-tests
[Azure Pipelines] Skip checkout for wpt.fyi hook jobs (#16112)
No checkout is needed. This will save ~40s, which for PRs could matter.
--
wpt-commits: 1815dd1f3ffb0ea81ab5ae43a2335d930cd31689
wpt-pr: 16112
Automatic update from web-platform-tests
Add experimental :picture-in-picture CSS pseudo-class
This CL adds support for an experimental CSS pseudo-class used to detect
when an element enters and leave Picture-in-Picture.
Spec: https://github.com/WICG/picture-in-picture/pull/120
Intent to Implement & Ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/X-qPSmdSR_g
Bug: 940404
Change-Id: Id225eaff841f7338927d5e150ba9ad6b97dcb258
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1511459
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644853}
--
wpt-commits: d0396cc595c60b71d52092dc640a956b76051a9f
wpt-pr: 15743
Automatic update from web-platform-tests
[ElementTiming] Add carousel image test
This CL adds a test for carousel images. The test contains a carousel of
two images which has a timeout to change image every 50 ms. Because the
images are completely removed from the page and then readded, Element
Timing detects the new addition as a new element, so a new entry is
dispatched every time. This is helpful for measuring latency, for
example when the image carousel change is prompted by user input.
Bug: 879270
Change-Id: I84a034d307c026ba50d12d8bb6241a7fceeadae5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1540457
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644834}
--
wpt-commits: 43dda2a1b3632c91c247bb00bd617847213a9c9c
wpt-pr: 16100
Automatic update from web-platform-tests
Allow run-all jobs to run on non-master branches
--
wpt-commits: 2cfcea72fb19c0065fffacb182cdf8709d241e3c
wpt-pr: 16117
Automatic update from web-platform-tests
Change unoptimized-images feature policy to unoptimized-lossy-images.
This makes it more clear that this policy applies only to lossy image
types (for now, just JPEG). This patch also makes the implementation
more generic in order to make the policy compatible with parsed
policy values and to pave the way for implementing a
lossless-enforcing version of the unoptimized-images policy as well.
This is a reland of this reverted CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1531354
Bug: 942659
Change-Id: I7928de8a7f3e66841ec3792a4152a3570a709ca3
TBR: iclelland@chromium.org,pdr@chromium.org,kenrb@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1541579
Commit-Queue: Paul Meyer <paulmeyer@chromium.org>
Reviewed-by: Paul Meyer <paulmeyer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644832}
--
wpt-commits: 1d5e060c91fdb8bf66d9246fc1d19b53c89a33ba
wpt-pr: 16115
Automatic update from web-platform-tests
Revert "Fix external/wpt/event-timing/event-timing-onloadobserve.html to be more deterministic"
This reverts commit 250c950a568a7614d72b4fa319d86cf2d9b46cf0.
Reason for revert: Timing out on all bots: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=external/wpt/event-timing/event-timing-onloadthenobserve.html&testType=webkit_layout_tests
Original change's description:
> Fix external/wpt/event-timing/event-timing-onloadobserve.html to be more deterministic
>
> This test passes as some events like click or mousedown for the first
> click are missed at the second PerformanceObserver in startObserver.
> This CL makes sure that the first PerformanceObserver does not proceed
> until the first click event happens.
>
> Actually we found the test failed when we use a different task runner is
> used for WidgetInputHandler (https://chromium-review.googlesource.com/c/chromium/src/+/1530492/4).
>
> Bug: 872081
> Change-Id: I8d8fe187b8053140f40ae9cf08737fcf7b64233c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1538136
> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#644321}
TBR=hajimehoshi@chromium.org,altimin@chromium.org,npm@chromium.org
Change-Id: Ibb4e463906f5b8040e96c7e008e999c638630e79
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 872081
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1540085
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644443}
--
wpt-commits: 65cfcd3c4f5d3d16bc38e1f34dd5bce3fe3402de
wpt-pr: 16090
Automatic update from web-platform-tests
Revert "Change unoptimized-images feature policy to unoptimized-lossy-images."
This reverts commit efbe41b8ceda53be0e82b4c9a4576cc95c84a3b5.
Reason for revert: Mac bots are failing consistently, see e.g. https://ci.chromium.org/p/chromium/builders/ci/Mac10.10%20Tests/40949
Original change's description:
> Change unoptimized-images feature policy to unoptimized-lossy-images.
>
> This makes it more clear that this policy applies only to lossy image
> types (for now, just JPEG). This patch also makes the implementation
> more generic in order to make the policy compatible with parsed
> policy values and to pave the way for implementing a
> lossless-enforcing version of the unoptimized-images policy as well.
>
> These changes have been pulled from a larger partially reviewed CL:
> https://chromium-review.googlesource.com/c/chromium/src/+/1524869
>
> Bug: 942659
> Change-Id: I0242ac900b1653b89d6d8dbd63616003dcaaba62
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531354
> Commit-Queue: Paul Meyer <paulmeyer@chromium.org>
> Reviewed-by: Paul Meyer <paulmeyer@chromium.org>
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Reviewed-by: Ken Buchanan <kenrb@chromium.org>
> Reviewed-by: Ian Clelland <iclelland@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#644488}
TBR=flackr@chromium.org,kenrb@chromium.org,pdr@chromium.org,paulmeyer@chromium.org,iclelland@chromium.org
Change-Id: I0dc0449dc2d07c5dafa84c7123ec664c902a73fb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 942659
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1540145
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644637}
--
wpt-commits: ef78bcb3870680baf3b2f965def061b5858ac88c
wpt-pr: 16114
Automatic update from web-platform-tests
Change unoptimized-images feature policy to unoptimized-lossy-images.
This makes it more clear that this policy applies only to lossy image
types (for now, just JPEG). This patch also makes the implementation
more generic in order to make the policy compatible with parsed
policy values and to pave the way for implementing a
lossless-enforcing version of the unoptimized-images policy as well.
These changes have been pulled from a larger partially reviewed CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1524869
Bug: 942659
Change-Id: I0242ac900b1653b89d6d8dbd63616003dcaaba62
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531354
Commit-Queue: Paul Meyer <paulmeyer@chromium.org>
Reviewed-by: Paul Meyer <paulmeyer@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Ian Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644488}
--
wpt-commits: f19a0c4003dc469cd0972dab425acdcdd3a7d1d7
wpt-pr: 16113
Automatic update from web-platform-tests
Don't use HEAD or FETCH_HEAD to checkout specific revisions. (#16066)
FETCH_HEAD is unreliable because it's a global variable that can be
accidentially clobbered by adding an additional fetch anywhere in the
pipeline. As a result running tests in CI has been broken since we
chose the wrong revisions. HEAD is more reliable but doesn't exist
until we first check something out.
Instead, do the following:
* Fetch the initial commits into a branch called task_head and check
this out unconditionally.
* For PRs, create branches called base_head and pr_head pointing to
the two parents of the merge commit that we test on PRs.
* Express all the other revisions in terms of task_head, pr_head and
base_head, since they are both correct and more descriptive than
using complex revision specifiers.
* Move as much logic as possible out of the script baked in to the
docker image since that's hardest to update.
--
wpt-commits: e5044ace1ad217e683fb239ce6f88806f05139e3
wpt-pr: 16110
Automatic update from web-platform-tests
Implement `Sec-Fetch-Site: 'none'` for user-initiated navigations.
https://mikewest.github.io/sec-metadata/#sec-fetch-site-header defines
a `none` value for `Sec-Fetch-Site`, which should be delivered along with
navigational requests which were initiated directly from the browser, and
not from a user's interaction with websites.
This patch implements this new value in
`NavigationRequest::AddAdditionalRequestHeaders`, and adds tests for some
of the core use cases we expect servers to care about when examining
this header: address bar navigations, and bookmark navigations.
We'll add additional test cases in future patches as we work out the right
answers to the questions raised in [1] and [2].
[1]: https://mikewest.github.io/sec-metadata/#directly-user-initiated
[2]: https://docs.google.com/document/d/1YdakWfCR29pVNHURgceKrM_zjGN61xdnCXdZIGpQzxQ
Bug: 868286
Change-Id: I4866daba27a8763966cf3b213d0c0e916c0db787
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1520667
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#644760}
--
wpt-commits: 696d3a7aebc3c610eeddee94fb490aa6662c7e79
wpt-pr: 15806
Automatic update from web-platform-tests
Remove orphan Travis files (#16087)
Remove some shell scripts that were used on Travis and are no longer needed
--
wpt-commits: 37db772678555b4bad7bf215158d3750d56a6ae2
wpt-pr: 16087
Automatic update from web-platform-tests
Run full Edge runs every 6 hours (#16107)
This will end up in the same build as the Safari TP run. The wpt.fyi
integration should ensure that one failing doesn't affect the other,
but there is some risk here and it will need to be monitored.
--
wpt-commits: b53840ae8e05244f694a32d411251c009c249a26
wpt-pr: 16107
Automatic update from web-platform-tests
[wptrunner] Remove unused requirements (#16102)
* [wptrunner] Remove unnecessary Chrome dependency
The Chrome "browser" abstraction has not required the `selenium` package
since it was refactored to use WebDriver [1]. Update the corresponding
pip requirements file accordingly.
[1] caf4aa367efef641c4b0e5dfd1c8970eb102f060
* [wptrunner] Remove unnecessary Safari dependency
The Safari "browser" abstraction has not required the `selenium` package
since it was refactored to use WebDriver [1]. Update the corresponding
pip requirements file accordingly.
[1] f13770f6053eb26328adf487c7f80431da5c4509
--
wpt-commits: a0e57a6548891b912ee804b9d4ff289efb0dd7e4
wpt-pr: 16102