That prevents preceding whitespace from getting collapsed.
When there's a single lone CR (so `a\rb`) our behavior here diverges
from Chrome's but matches Safari's. We treat it as ZWSP.
That matches the initial resolution of [1], but then there have been
various doing and undoings of that resolution, so it's not totally clear
to me what the correct behavior per spec should be. I think "treat it as
other control character"? But I haven't dug into what that implies, so
for now I've just kept behavior there as-is.
[1]: https://github.com/w3c/csswg-drafts/issues/855
Differential Revision: https://phabricator.services.mozilla.com/D86188
When a clearance frame is discovered in a BFC
subtree (`ReflowInput::WillReflowAgainForClearance()` is true), all the
block descendants of the BFC return from `ReflowBlockFrame` immediately
without placing their children or requesting continuation for their
children, etc., because the BFC is going to reflow the subtree a
second time.
When this happens, any block descendant whose lines contain pushed
floats should be marked dirty and reflowed again so that they can go
through all the split floats logic and set their nsReflowStatus to
incomplete/overflow-incomplete correctly. (We may develop a smarter way
in bug 851629 to make the performance better.)
The condition `aState.mPresContext->IsPaginated()` is added to prevent
1406291-1.html from failing. In 1406291-1.html, the table containing the
float in its subtree is being pushed to the second page due to force
break, and the float is in PushedFloatsList of its parent block. When we
reflow the block again (in the second page), it is reflowed under the
measuring stage of the table layout with unconstrained available
block-size. nsBlockFrame::DrainSelfPushedFloats() deliberately doesn't
drain pushed floats if their placehoder are in the same block, and
expect the floats to be reflowed again. Before this patch, the line can
be marked dirty via HasPushedFloats(), but in this patch,
HasPushedFloats() is moved into the nested if-else, so we need
`aState.mPresContext->IsPaginated()` to let the block know that it's in
a paginated context, and needs to reflow any line that contains pushed
floats.
Differential Revision: https://phabricator.services.mozilla.com/D85480
Before this patch, a block frame considers a line dirty only if the line's
block-end is larger than content area's block-end.
However, scrollable overflow area should be broken in paginated environment
(both in a column container and in printing). We should take this into account
when marking a line dirty.
The dynamic wpt reftests are written with the following conditions in mind to
expose the bug:
1. Initially, all the elements fit into the first column.
2. After shrinking the multicol height, the block itself still fits into
the first column, but its tall child (either a simple tall block or a
tall float), which overflows the smaller multicol height, needs to be
broken.
The flexbox printing reftest are similar. A flex container uses
unconstrained available block-size to measure flex items' block-size,
and then performs a final reflow with constrained available block-size,
which is similar to the dynamic scenario above. One caveat is that flex
items usually have IsBResize() set. So to expose this bug, a float
element needs to be deeply nested under a flex item.
Differential Revision: https://phabricator.services.mozilla.com/D85479
Automatic update from web-platform-tests
[WPT] Errors caught/reported for importScripts() (#24810)
This CL adds WPTs for exceptions in importScripts() captured by
- WorkerGlobalScope error event handler or
- try/catch.
Some of the tests are migrated from non-WPT web_tests.
The tests are failing on Chromium right now, and will pass
after
https://chromium-review.googlesource.com/c/chromium/src/+/2328394/.
Bug: 1111134, 1111750, 795636
Change-Id: Ie19085171261d4baf307b6544ff6a8da1a8e9041
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2327787
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794474}
Co-authored-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
--
wpt-commits: 059a8ae79c2c44ef2eda3ccb412b0773e99c26b6
wpt-pr: 24810
Automatic update from web-platform-tests
[TrustedTypes] WPT test > check violation's sourceFile.
Check what is the reported sourceFile depending on the script's origin.
Currently, the full URL isn't exposed in the case of a cross-origin
script. This is an issue. See https://crbug.com/1113163
TODO: Add checks with redirects.
Bug: 1113163
Change-Id: I8bbd1234a485568127a21c6abfbd4d4a623494f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341125
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795841}
--
wpt-commits: af3059a547d3843001ed2aa7537418f1c9850c92
wpt-pr: 24905
Automatic update from web-platform-tests
content-visibility: Add a (failing) test for composited descendant bug.
This patch lands a test and marks it as failing. Since the solution
to this bug doesn't seem obvious yet (see the referenced bug), we
should land the test so any of the potential fixes can be verified on
the bots.
R=chrishtr@chromium.org, wangxianzhu@chromium.org
Bug: 1113838
Change-Id: I410766ce8294309840ca21945c3b231c018825aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341356
Commit-Queue: vmpstr <vmpstr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795770}
--
wpt-commits: 688aeffbd02c1e05a159c64938ad9b43e3d8ec6e
wpt-pr: 24909
Automatic update from web-platform-tests
[css-flex] Update test to wait for image load before checking sizes
This test flaked on me locally with:
height expected 100 but got 0
Which is consistent with calling checkLayout before the image has
loaded, but not a guarantee that's what's happening. I haven't been able
to reproduce it.
In any case, this change can't hurt.
Change-Id: I1bf8ccb935845c6e5e4529694c2d77e3f4a529a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2340735
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795652}
--
wpt-commits: 4afc499e300020a425144d8a6034abc75efa1e17
wpt-pr: 24906
Automatic update from web-platform-tests
Update tests for forced breaks at fragmentainer start.
If there's a forced break, and it's at a valid class A breakpoint, we
may break there. There's nothing in the spec suggesting otherwise.
This is working correctly in the LayoutNG fragmentation engine, but not
in the legacy engine (where we require some non-zero block-size content
to allow forced breaks). Remove invalid tests, and add a couple of valid
ones.
Bug: 1100849
Change-Id: I1829a00a4e9761906ebe4536ded9c994f4737e69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339663
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795604}
--
wpt-commits: c7c27f9106d063ad4764aacdef5cb472c4be676e
wpt-pr: 24907
Automatic update from web-platform-tests
[Fixup] discord web app doesn't work because of getPointAtLength
Remove |EnsureComputedStyle| on SVGPathElement::getPointAtLength.
Although <path> is in an inactive document, <path> element can compute
the total length of path. Because the equivalent path of a ‘path’
element is simply the path itself.
Bug: 972979, 1108966
Change-Id: I5194352c1d4452dacc721f3ae223019998859d13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339714
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795584}
--
wpt-commits: dd51bfa9ef3b7d7494c1c492707b11fece103c14
wpt-pr: 24893
Automatic update from web-platform-tests
[taskcluster] Schedule Chrome Nightly epochs/daily
as well as triggers/chrome_nightly
The task will install Chromium ToT automatically.
--
wpt-commits: ee8019795741475935690c58b6e24a10a918ba55
wpt-pr: 24904
Automatic update from web-platform-tests
[css-flex] Add regression test for abspos bug fixed in FlexNG
The test is minimally altered from the repro in the bug. It fails when I
disable FlexNG, but passes in Chrome 84 and Firefox.
Fixed: 886592
Change-Id: Ieb7be3619c0095c185b405703c384864d9046cd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2337416
Commit-Queue: David Grogan <dgrogan@chromium.org>
Auto-Submit: David Grogan <dgrogan@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795264}
--
wpt-commits: fa1a6d1c3cc2665385a9a5bd84e2dd0352e82868
wpt-pr: 24881
Automatic update from web-platform-tests
Python 3: Use OrderedDict type to generate same test names
In Python 2, dict is organized via a hash-table and puts the keys
into buckets according to their hash() value.
in Python 3.6+, dict retains insertion order
This patch uses OrderedDict type instead the original Dict to make
sure the same test names generated for both PY2 and PY3
--
wpt-commits: 497a4d7b57486a9e973aff814d9c1d46936ee6f9
wpt-pr: 24874
Automatic update from web-platform-tests
[COOP] Add same-origin test for redirect+SOAP
Follow up on [1] adding the same-origin version of the test. I.e. the
first document of the popup is same-origin instead of cross-origin.
1: https://chromium-review.googlesource.com/c/chromium/src/+/2332260
Change-Id: I30a187b2c6a943abe44c5e3cff4e95ea36f5fccd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2338874
Commit-Queue: Pâris Meuleman <pmeuleman@chromium.org>
Auto-Submit: Pâris Meuleman <pmeuleman@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795414}
--
wpt-commits: 14e519e8b7f4f2ea47961391ac9783831e940159
wpt-pr: 24885
Automatic update from web-platform-tests
spanner-img.html no longer flaky with LayoutNG block fragmentation.
Not sure what (or who) fixed it, but it's no longer flaky. Adding a
simplified and non-flaky test that also passes now.
Bug: 1066640
Change-Id: Ia82810e240eab6f3ee955afe89ebeeffebf808d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339521
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795379}
--
wpt-commits: e838865dab9dadbbdacde48dce928be12c5b9ff3
wpt-pr: 24900
Automatic update from web-platform-tests
[WPT] Add more tests for exceptions in WorkerGlobalScope.onerror
Failing on Chromium and passing on Firefox and Safari.
third_party/blink/web_tests/fast/workers/worker-onerror-04.html
is removed because now it's covered by the WPT.
Bug: 1112228
Change-Id: If407eb1c96b29357bbc0468e1a6abb30d2891447
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2331794
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795348}
--
wpt-commits: 5fe9625d7445a6b88640f830d90dd5489c4bda05
wpt-pr: 24849
Automatic update from web-platform-tests
Reland "Move mouse-pointer-preventdefault.html to wpt"
This is a reland of fc4093a6759e1de36e905b6b12774f3a18d682de
My assumption is that the test failed on the bots because the code tried
to serialize async_tests. I rewrote this wpt using promise_test instead.
Original change's description:
> Move mouse-pointer-preventdefault.html to wpt
>
> Move mouse pointerevents compat events to wpt
>
> Change-Id: I9581dde4d6016a3eb81ea16674c439e63897523c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199985
> Commit-Queue: Liviu Tinta <liviutinta@chromium.org>
> Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#771159}
Change-Id: I3ec09bd5d180ae0c52c7a02bb3f3191cacf9b0d7
Bug: 1085549,1085647
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2330316
Reviewed-by: Lan Wei <lanwei@chromium.org>
Commit-Queue: Liviu Tinta <liviutinta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795313}
--
wpt-commits: bf56253e0ac649bd691e58a47d874a2070005a71
wpt-pr: 24820
Automatic update from web-platform-tests
Fieldset NG: Support dynamic changes of properties copied to anonymous
fieldset content box
LayoutNGFieldset should adopt LayoutObject::UpdateAnonymousChildStyle()
to update properties correctly. Also, we need to add kFlowRoot support
to LayoutBlock::CreateAnonymousWithParentAndDisplay().
Bug: 875235
Change-Id: I8601f1c576c8ee818e69d43dc299026a03879ad5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2336565
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795306}
--
wpt-commits: 08165ecc38c677ee288189cf2dd8689dfaea2a9f
wpt-pr: 24884
Automatic update from web-platform-tests
Reland again "Use border box or layout overflow rect for layout shift tracking"
Original patch: crrev.com/c/2319538
First reland: crrev.com/c/2333648
Changes in this patch (https://chromium-review.googlesource.com/c/chromium/src/+/2336301/1..10)
1. Fixed use-after-free of ContainingBlockScope. Similar to the first
revert, the issue was because it was allocated in
PaintInvalidatorContext which is in a vector replacing the real stack.
ContainingBlockScope::outer_ might point to an invalid address if the
vector was reallocated. Now use std::unique_ptr<ContainingBlockScope>
in PaintInvalidatorContext. This increases the cost a bit but not much
because ContainingBlockScope is created for LayoutBlockFlow with
inline children only.
2. Rebased on crrev.com/c/2335647 which avoids memory regression caused
by the original CL, and enables LayoutShiftTracker to use more
accurate previous rects for shifted boxes.
3. Simplify LayoutShiftTracker::ReattachHook[::Scope].
Bug: 1108622
Change-Id: I7b4a85675483f7006ade8925c159a7882f08ec27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2336301
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795179}
--
wpt-commits: 70f8d7999f7af89efa26bd96567dbb7417aec4c5
wpt-pr: 24898
Automatic update from web-platform-tests
Test canceling one branch when stream closes or errors
Follows https://github.com/whatwg/streams/pull/1039.
--
wpt-commits: e5e5e7a10cbb968b31c51ad87ce8a3da62bb1b34
wpt-pr: 24124
Automatic update from web-platform-tests
stopImmediatePropagation() should not unregister uninvoked 'once' listeners
A 'once' listener should be unregistered when it is invoked, and
stopImmediatePropagation() should not invoke other event listeners.
We had a bug that stopImmediatePropagation() unregistered uninvoked
'once' listeners.
Bug: 993109
Change-Id: Iaabb03141ee7cf2de88dc6c8726f5a474efd133b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2336011
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795142}
--
wpt-commits: c89458e4a5720da890a1fe30affa7983eee82205
wpt-pr: 24873
Automatic update from web-platform-tests
Add a new test for updateRenderState() (#24415)
--
wpt-commits: 631a86cc6093f769a2b7a518d71552bad85f434f
wpt-pr: 24415
Automatic update from web-platform-tests
Send CSP frame-ancestors violations also when XFO is present
If a Content-Security-Policy frame-ancestors directive is enforced,
then the X-Frame-Options header is ignored. However, if the
frame-ancestors directive is report-only, the X-Frame-Options header
is checked and the frame possibly blocked. However, in this second
case, we must still check whether we have to send a
Content-Security-Policy violation report.
Bug: 1097078
Change-Id: I9768a3859184ac1d35bd938f45cc40e111e2af4b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339115
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795022}
--
wpt-commits: 993c1bc4c880238e3929ea4b1ab252613e0b5e65
wpt-pr: 24890
Automatic update from web-platform-tests
Correct a typo in get_gh_checks_outputter (#24882)
The flag name is --github-checks-text-file.
The field is github_checks_text_file.
--
wpt-commits: 2652bff9d0937187c1728c68ac4edb9f4d922f91
wpt-pr: 24882
Automatic update from web-platform-tests
Clean up venv configs in commands.json (#24830)
1. Fold most dependencies in "install" into existing requirements.txt
2. Fail when a command has either "install" or "requirements" but
disables "virtualenv".
--
wpt-commits: fd2922b37e29ee9b23da2e3e7bbc6e0c57f08a1d
wpt-pr: 24830
Automatic update from web-platform-tests
Docs: make Writing Tests a bit more focused (#24872)
The goal of this change is to make this page more useful at a glance and for recurring visitors as well as for those not familiar with the testharness.js terminology.
Co-authored-by: jgraham <james@hoppipolla.co.uk>
--
wpt-commits: c5227cf8f50b3b6df578073eccb43605855b8b4d
wpt-pr: 24872
Automatic update from web-platform-tests
Reland "[COOP] Access reporting. Fix the python server."
This is a reland of 9c96261a884c9ebd9daff66b7e41398d65c9d11c
The fix was this synchronization:
```
with request.server.stash.lock:
```
The server is doing a read and a write to a shared state. Those
operations must not unterleave with other request handlers.
Original change's description:
> [COOP] Access reporting. Fix the python server.
>
> A python server is used has a communication channel in between documents
> from different browsing context group and potentially cross-origin.
>
> There are two methods:
> - one for writing a message.
> - one for reading the message.
>
> I initially supposed we won't need to store more than one message in the
> stash. It turns out there are tests doing two write in a row without any
> read in the middle. It was throwing an exception when this
> happened.
>
> This patch makes the server to maintain a queue of messages instead. It
> doesn't throw errors anymore.
>
> Bug: chromium:1109194
> Change-Id: I25f8dc2c2a032781a4527a0994e94e46f85e12c9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2317865
> Reviewed-by: Pâris Meuleman <pmeuleman@chromium.org>
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#791901}
Bug: chromium:1109194
Change-Id: I0abbbd9d0ec3b2d3c7c25b0a182c064523c18bd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2322886
Reviewed-by: Pâris Meuleman <pmeuleman@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794972}
--
wpt-commits: 6a5c1eb4f386da68adc77c84ac3f6e3fa1cb3033
wpt-pr: 24780
Automatic update from web-platform-tests
Improve coverage for callback this value
Includes CSSPaintCallback, MutationCallback, and IntersectionObserverCallback tests.
--
wpt-commits: af4259a9abaeda73de449a4ebcd15155feba8e22
wpt-pr: 24844
Automatic update from web-platform-tests
[COOP] ReportingObserver [2/M] Add WPT tests for subframes.
Add WPT tests for accesses made from an iframe toward a window that
would have been in a different browsing context group if
Cross-Origin-Opener-Policy-Report-Only was enforced.
Branch:
[1/M] https://chromium-review.googlesource.com/c/chromium/src/+/2332257
[2/M] This patch.
Bug: 111169
Change-Id: Id42f728fbcc90b10feab2e22c216e29d6546509d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2332258
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Pâris Meuleman <pmeuleman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794927}
--
wpt-commits: 5b22a1f6ed29432bcf71a8b0e6b96fccf24d3f12
wpt-pr: 24856
Automatic update from web-platform-tests
[WPT] Reland with fix: Test script's base URL used in dynamic imports
This CL checks base URL used in resolving relative URL-like
specifiers in dynamic imports() from
- `<script>`s,
- worker top-level scripts, and
- worker scripts imported by `importScripts()`.
This is for https://github.com/whatwg/html/issues/5751.
This CL relands
https://chromium-review.googlesource.com/c/chromium/src/+/2198835/
with a fix:
`base-url-worker.sub.html` was flaky due to
race between two `fetch_tests_from_worker()`s.
In this reland, a `fetch_tests_from_worker()` is
moved to a new file `base-url-worker-importScripts.html`,
having at most one `fetch_tests_from_worker()` per file.
Bug: 1082086, 1112844
Change-Id: I59c9817a7829e950f40878d376ccb5216207b7e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2337194
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794865}
--
wpt-commits: ad99a9e949c6006cc0f609501de77a0edb1e593a
wpt-pr: 24878
Automatic update from web-platform-tests
Python 3: Use six.string_types as equivalent of basestring
six.string_types is basestring() in Python 2 and str in Python 3
This CL is to correct the misuse of six.text_type
--
wpt-commits: 12e9f6d074df4e48adce75ec5dabea24a661012c
wpt-pr: 24876