Automatic update from web-platform-tests
[balance-text] Implement balancing algorithm
This patch implements `NGParagraphLineBreaker` that implements
the headline balancing algorithm. It computes the minimum
available width that produces the same number of lines as the
normal line breaker by bisecting.
The algorithm is O(log n). To mitigate the performance penalty,
it skips if the block has more than 4 lines, or it is
estimated to have more than 8 lines.
See the document[1] for more details.
[1] https://docs.google.com/document/d/16-T9gqCagJxcST6hcnneSb7qGunxXa37_UHYqMqhPL0/edit?usp=sharing
Bug: 1251079
Change-Id: I31a5859293622c14dda05e785c4495cd82db6f14
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3752780
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110765}
--
wpt-commits: 408e2e25c68fa3d967fad6e9fecb56a4c22957e5
wpt-pr: 38660
Automatic update from web-platform-tests
Add CSSSignRelatedFunctions flags and implement abs(), sign()
According to the CSS Values and Units Module Level 4 [1], abs() and sign() functions should be parsed and evaluated.
Therefore, add a feature flag 'CSSSignRelatedFunctions' and implementations of abs() and sign() functions with CreateSignRelatedFunctionSimplified.
And allow negative zero in CSS math expressions by early return if zero and sign binary is 1.
I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/okJfodMmuQY
Bug: 1407476
Change-Id: I0f3879eb5c533037341b79d23048d014273516bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4227272
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Seokho Song <seokho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110752}
--
wpt-commits: b259dc56a77f0d8ae6ba7ea60bf2cea79cab4f06
wpt-pr: 38583
Automatic update from web-platform-tests
Add back popover=hint functionality, behind a HTMLPopoverHint flag
This CL brings back `popover=hint` functionality. This does not include
the hover-triggering capability, which will be added back in a separate
CL. All of the new behavior is tested, some in the existing non-
tentative WPTs, and some in a fresh one. In the non-tentative WPTs,
feature detection is used to make sure it's only tested on supported
systems.
Bug: 1416284
Change-Id: I5bcfba5017e174a28eccbe2c0f9150671c6f28fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4265588
Commit-Queue: Mason Freed <masonf@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110547}
--
wpt-commits: 5b72ee9b50ae6898c94fe3ab50f4c68d4572977c
wpt-pr: 38686
Automatic update from web-platform-tests
Paint backgrounds in repeated content correctly.
We shouldn't pretend that the fragments are stitched together in that
case. If we're dealing with a background image (or gradient or similar),
use the same offset into the image for every fragment.
Bug: 1418818
Change-Id: I57f249d8895d80607063ddbb05e9815d09bac0ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4288882
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110545}
--
wpt-commits: bad75661a1c780b6429ff9073a1a8718276838ef
wpt-pr: 38721
Automatic update from web-platform-tests
Skip anonymous blocks in prepaint
When handling OOFs w/ an inline CB in a monolithic ancestor, we would
end up in a case where we were using the wrong paint context, which
resulted in the OOF being painted at an incorrect offset.
We got into this state because we would end up setting the OOF's
container during prepaint to an anonymous parent block of the inline.
Because an OOF cannot be placed in anonymous blocks, we would fail
to find the OOF as a child of that anonymous block.
This would lead us into the same path as fragmented missed OOFs during
prepaint, and we would assume the CB was the fragmentainer. We would
update the context based on this, which is why the OOF was placed
relative to the fragmentainer instead.
To fix this, avoid setting the OOF's CB to an anonymous block during
prepaint to ensure that the OOF is not missed in this case and goes
down the normal (non-fragmented) OOF prepaint path.
Bug: 1412313
Change-Id: I0dfb1a67ddd96404a725cdbf56493de675eb04e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4292046
Commit-Queue: Alison Maher <almaher@microsoft.com>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110381}
--
wpt-commits: b07ee811c0db7d43ae876c21fe9346ce6677f532
wpt-pr: 38707
Automatic update from web-platform-tests
WPT: Update IDB WPT helper to avoid duplicate object store creation (#38102)
In the WPT that requires creating IDB connection with different version,
we should not create the same object store for multiple times. This CL adds
a version check to ensure that it's only created when version equals to 1.
Bug: 1331187
Change-Id: I4d52cc0e2c56493db5bad59705822c3550fa886c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4178503
Reviewed-by: Fergal Daly <fergal@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1107329}
Co-authored-by: Mingyu Lei <leimy@chromium.org>
--
wpt-commits: b49f71e8ec16c3818a8fa7852594a6ff4159e577
wpt-pr: 38102
Automatic update from web-platform-tests
In Typed CSSOM, reject adding to something that is not a list.
Fixed: 1417176
Change-Id: Idef1a81af46d334c181979778c28f19ce6369718
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4293477
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110281}
--
wpt-commits: 73040ed51fdb6fcc4c3faaaa13e488bc6c10c782
wpt-pr: 38716
Automatic update from web-platform-tests
Implement update media feature.
Currently only print media is matched with 'none' value.
Fast/slow is configurable through WebPreferences with default being
'fast', currently matching all non-print screens.
https://drafts.csswg.org/mediaqueries-4/#descdef-media-update.
Fixed: 791028
Change-Id: I3aceea3bb7982005d0c12b15948d18b097bf2c04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4280881
Commit-Queue: Daniil Sakhapov <sakhapov@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110263}
--
wpt-commits: 7ab30d118c491ae79bf86b0ce30ef529b8f413e2
wpt-pr: 38646
Automatic update from web-platform-tests
[ComputePressure] Improve implementation of focus control
This CL improves implementation of focus control in two ways:
1. Check if FocusController is focused. This can resolve the bug that
page not in focus still gets update.
2. Remove IsOutermostMainFrame() check. As discussed in [1], this is
not the necessary condition.
[1] https://github.com/w3c/compute-pressure/issues/185
Bug: 1403458
Change-Id: I65186b7bd01438ca0c2e5b7e8a09355b5704f8d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4273865
Commit-Queue: Wei4 Wang <wei4.wang@intel.com>
Reviewed-by: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Fr <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/main@{#1110203}
--
wpt-commits: f72c88ab79843a46ffdf63264e833121811f08d9
wpt-pr: 38601
Automatic update from web-platform-tests
Add tests for CreateImageBitmap with "ImageOrientation: none"
Add tests for each orientation of EXIF with option {ImageOrientation: none} to make sure it goes back to the same image.
Bug: 1342260
Change-Id: Ic9f090db0759a733f2be5480f00d1baa36cd8d95
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4225359
Commit-Queue: Yi Xu <yiyix@google.com>
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109875}
--
wpt-commits: 18dcc75e9eb3394997274833a54707dcc4e67ab4
wpt-pr: 38654
Automatic update from web-platform-tests
Change popover invoking attributes
See [1] for discussion. This changes the Popover invoking attribute
behavior. Previously, three attributes were used to set the invoking
relationship and behavior:
- popovertoggletarget
- popovershowtarget
- popoverhidetarget
Those each could point to an idref for a popover, and the behavior
would be controlled by which attribute was used. However, there was
a confusing situation in the case that multiple such attributes
were used on a single element, and even more so when they pointed
to different elements. While there was concrete logic for resolving
that situation, it was confusing at best.
The new logic is controlled by two attributes:
- popovertarget
- popovertargetaction
The element reference is dictated by `popovertarget`, via an idref
or through element reflection (via `foo.popoverTargetElement = bar`).
The behavior is dictated by the (string valued) popovertargetaction
attribute, which can be one of "toggle", "show", or "hide". If any
other value is used (including missing attribute or invalid value),
the behavior and IDL reflected value is "toggle".
[1] https://github.com/whatwg/html/issues/8894#issuecomment-1442341167
Bug: 1307772
Change-Id: I2e530efe26032599f9376c8d5f4fe2a7f430a26b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4288730
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Commit-Queue: Mason Freed <masonf@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109867}
--
wpt-commits: 588e82830bb860050168fa89eddc93ac32293662
wpt-pr: 38701
Automatic update from web-platform-tests
Group animations by their effect target for removal
Animations can only be discarded if they affect the same target. It's
not sufficient to target the same element if they target different
pseudo elements.
Bug: 1418968
Change-Id: Ie6cac7ce11c18a768e587f18a5287cdd194bbc0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4292213
Commit-Queue: Robert Flack <flackr@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109817}
--
wpt-commits: 879ec5bdb195edf325ccca538bf3441f4c330f3d
wpt-pr: 38702
Automatic update from web-platform-tests
Make URL for resources/dummy.js unique across tests in preload/modulepreload.html (#38693)
This helps the test to be not flaky in WebKit's testing infrastructure.
--
wpt-commits: f4619be2de49f60f474d27bbd4bed37284f9de09
wpt-pr: 38693
Automatic update from web-platform-tests
Refactor NavigateEvent state checks
* Add a PerformSharedChecks() helper for entry point checks that
apply to all functions on NavigateEvent (e.g., checking for
detached window, whether the event is trusted, etc.)
* Add a state machine for tracking interception state in
NavigateEvent. Current states are None, Intercepted, Committed,
Scrolled, Finished, and transitions must increase. This is hopefully
easy to follow than the several independent booleans we are
currently using.
* Adding the state machine shows that it's possible to scroll before
commit by calling scroll() during navigate event dispatch (and in
fact, several tests do so). Fix that.
Change-Id: I48095b97a3463d6bc145114639dbfc5711822b27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4262131
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109657}
--
wpt-commits: 4ec997cb455c429be5b26681b0515428e086cac1
wpt-pr: 38562
Automatic update from web-platform-tests
[Local Network Access] Make sure requests are not blocked in tests due to reasons other than LNA
The concerned test cases are fetches, xhr, worker that initiated by
HTTPS iframes embedded in HTTP top level documents, so they're not in
secure contexts. Some of these test results look like it's blocking the
requests correctly, but in fact due to other reasons. Some requests fail
only because no preflights were sent, and some fail because of mixed
content check.
To make sure the LNA did kick in in these tests, we first added a
baseline local to local test case, which should succeed.
- If they don't succeed because of incorrect preflight expectation, we
replace PreflightBehavior.success with optionalSuccess.
- If they don't succeed because of mixed content checks, we make them
fetch via HTTPS instead.
With a succeeding baseline, we can now be sure that the other local
network requests are blocked because of LNA checks.
Change-Id: I3c7fbaca44a7eb79ded52f731f5a0b5dce9c3c5d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4287245
Auto-Submit: Jonathan Hao <phao@chromium.org>
Reviewed-by: Titouan Rigoudy <titouan@chromium.org>
Commit-Queue: Jonathan Hao <phao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109598}
--
wpt-commits: 6c562476fc76b15e9bbbbec8aa895cc66c3caaf7
wpt-pr: 38684
Automatic update from web-platform-tests
Remove obsolete stats from validateStatsReport() and reset WPTs.
Fix validateStatsReport() not to reference obsolete stuff, including
"track", "stream", "sender", "receiver" and "transceiver".
Other WPT fixes:
- Include "inbound-rtp.trackIdentifier".
- Make "remoteId" optional because it only exists after RTCP which is
not guaranteed for most uses of validateStatsReport().
- Make RTCRtpParameters-transactionId-expected.txt same every run.
- Do what [1] does but for the RTCRtpReceiver test.
- Reset existing WPTs and re-enable tests that were "temporarily"
disabled and then forgotten about.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/4291188
Bug: 1374215
Change-Id: If677c066b5ea9d5387b941935dc997307c15aa70
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4288828
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Philipp Hancke <phancke@microsoft.com>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Auto-Submit: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109554}
--
wpt-commits: 027b376acf17807490a99c6e352fc3dbd60c6d7e
wpt-pr: 38697
Automatic update from web-platform-tests
Relax test to ensure ICE pairs exist.
While true that pairs can be created in the 'checking' state, if this
happens asynchronously there is no guarantee that the pairs have in
fact been created yet, causing this test to be flaky.
This CL relaxes the test and waits until an ICE state that we cannot
reach unless we have a pair: 'connected' or 'completed'.
Bug: 1418826
Change-Id: I61bd82392078245e6446527792d904b0fa93ed88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4291188
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109515}
--
wpt-commits: 2c2302104437b424457fb2e4a1ba40a75897088c
wpt-pr: 38694
Automatic update from web-platform-tests
Add experimental "display-capture" capability delegation
This CL adds a new "display-capture" capability delegation so that
web developers can delegate a getUserMedia call from an iframe with user
activation to another frame.
Spec: https://github.com/WICG/capability-delegation/pull/32
Demo: https://display-capture-delegate.glitch.me/
I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/jag07miwY2g
Bug: 1412770
Change-Id: I89737d8a29a637d28b9b75b20ed84ff67f51bf8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4218507
Reviewed-by: Elad Alon <eladalon@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Fr <beaufort.francois@gmail.com>
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1109509}
--
wpt-commits: f482c46636adda0bf1cd69656c4044af62ee7274
wpt-pr: 38514
Automatic update from web-platform-tests
Remove text-transform tests for math values, except math-auto (#38490)
See https://github.com/w3c/mathml-core/issues/182
- mathml/tools/utils/mathfont.py: migrate to Python 3.
- mathml/tools/mathvariant-transforms.py: Convert the loop generating
the CSS and MathML tests into a helper function. For MathML, we
continue to call it for all mathvariant values until these tests
are imported into WebKit/Mozilla. For CSS, we only keep the math-auto
tests and remove the "tentative" in the name.
- css/css-text/text-transform/math/text-transform-math-*: Tests removed,
or renamed to drop the tentative in the name (for math-auto). After
regeneration, the code points are properly sorted.
- mathml/relations/css-styling/mathvariant-*.html: The only test that
aligns with the latest version of MathML Core is mathvariant-auto.html
but as said above, we keep the other tests for now until these tests
are imported into WebKit/Mozilla. After regeneration, the code points
are properly sorted.
- mathml/relations/css-styling/attribute-mapping-002.html: We cannot test
with fraktur/double-struck anymore. Instead, rely on inheritance of
text-transform on the parent. Note that mathvariant mapping is now only
done for the <mi> element.
--
wpt-commits: 08bac45e83cdf9980c00db1e94c0d385d0ca28c3
wpt-pr: 38490
Automatic update from web-platform-tests
[css-images] [image-set] Don't expect an image to render if there are no (#38662)
supported types in the image-set
If the image-set does not contain any images with a supported MIME type
the image set is valid but empty. In that case we shouldn't expect any
image to render.
See https://github.com/w3c/csswg-drafts/issues/8266 for discussion.
--
wpt-commits: 1ba5cfed0836d1f7ea78b115ef6d9c7ed767b8b9
wpt-pr: 38662
Automatic update from web-platform-tests
Make URL for resources/module1.js unique across tests in preload/modulepreload.html (#38689)
This file is loaded by preload/link-header-modulepreload.html so if tests were ran together,
the latter test can fail due to the browser having already cached the file.
--
wpt-commits: e94ecc8c5d9be94d6483bfbbeee0a1db501aa4e3
wpt-pr: 38689