This moves most of the JsepTrack functionality for dealing with duplicate
payload types to a new EnsurePayloadTypeNotDuplicate method in
JsepCodecDescription. It also adds a virtual EnsureNoDuplicatePayloadTypes
method that checks the appropriate payload types for each codec type.
Differential Revision: https://phabricator.services.mozilla.com/D92112
Depends on D92223
The Inspector sidebar extensions and corresponding tests have access to the Inspector client in order to access methods to invoke highlighters so there is no need for the Toolbox shortcut introduced in D92222.
Differential Revision: https://phabricator.services.mozilla.com/D92224
Depends on D92222
Update the DOM panel and tests to use the Toolbox shortcut to the highlighter introduced in D92222.
Differential Revision: https://phabricator.services.mozilla.com/D92223
Depends on D92221
The `HighlighterActor/Front` was accessed by the Debugger, Web Console and other panels via a shortcut on the Toolbox: `toolbox.getHighlighter()`. This returned two helper methods: `highlight()` and `unhighlight()` scoped to `InspectorFront.HighlighterFront` so that consumers wouldn't have to handle that instantiation themselves.
This patch keeps the shortcut on Toolbox for consumers to use, but it updates it to point to `HighlightersOverlay` on the Inspector client. That is the new Fission-ready highlighter manager which can toggle highlighters in the appropriate browsing contexts. The `highlight()` and `unhighlight()` methods are proxies for showing/hiding the Box Model Highlighter, which is the same highlighter used within the Inspector to highlight nodes.
In addition to the `highlight()` and `unhighlight()` methods, we add two more helpers to react to the show/hide events fired by this highlighter. These are now used just in tests. The reason to add these is to avoid having individual non-Inspector tests go through the trouble of instantiating the Inspector client so they can listen to events themselves, like we did in D85862.
After migrating all highlighter accessors (ex: Grid, Flexbox, Shapes) from `HighlightersOverlay` to use the new process-agnostic approach introduced in D81526, we could potentially decouple `HighlightersOverlay` from Inspector client and put it directly on the Toolbox instance. Then, this shortcut wouldn't have to instantiate an Inspector client in order to invoke highlighters. But, for now, this works and is minimally invasive. The consumers in Debugger, Web Console, etc don't have to change their call signatures.
Differential Revision: https://phabricator.services.mozilla.com/D92222
Depends on D92220
Rephrasing of code comments and cleanup of documentation to reflect that `CustomHighlighterActor` is now the only actor which deals with highlighting stuff after removing `HighlighterActor` in D92220. No functionality is changed in this patch.
Differential Revision: https://phabricator.services.mozilla.com/D92221
This patch completely removes the `HighlighterActor` and its accessors.
The rest of the patches in this commit series update the consumers and tests to use the new highlighter manager added to `HighlightersOverlay` in D81526. [Bug 1646028](https://bugzilla.mozilla.org/show_bug.cgi?id=1646028) updated all consumers within the **Inspector** panel to use this approach. Now, we're updating the rest of the consumers outside the Inspector.
### Why remove HighlighterActor?
The changes introduced in D81526 for [Bug 1646028](https://bugzilla.mozilla.org/show_bug.cgi?id=1646028) make it possible to highlight nodes using the `CustomHighligtherActor` with the **Box Model Highlighter** implementation.
The `HighlighterActor` was itself a wrapper around **Box Model Highlighter** and Simple Outline Highlighter, and exposed node picking functionality. Simple Outline Highlighter was removed with [Bug 1650094](https://bugzilla.mozilla.org/show_bug.cgi?id=1650094). The node picking functionality was decoupled from `HighlighterActor`in [Bug 1607756](https://bugzilla.mozilla.org/show_bug.cgi?id=1607756).
After those changes, `HighlighterActor` is no longer special. It can be removed in favor of a single generic actor, `CustomHighligtherActor`, with the Box Model Highlighter implementation.
Differential Revision: https://phabricator.services.mozilla.com/D92220
Automatic update from web-platform-tests
Implement clip-path: path()
Extended StylePath to contain windRule.
Extended path CSS property parser to account for wind-rule, e.g.
path(oddeven, '...').
Pass through a zoom parameter when requesting a path for a ShapeClipPath.
Allow PathInterpolationFunction to try to handle clip-path animations,
when the shape is a path.
Patched the necessary bits to allow CSSPathValue in clip-path.
Unskipped relevant WPT tests, and added 3 new ones to handle page zoom.
Those tests use zoom css property, in lieu of page-zoom support in WPT
Bug: 880983
Change-Id: I0bf8d7a4ec746f656c33c0f99c37e0af1e3ff7e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2442797
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#817421}
--
wpt-commits: 48d0b265815910544a8f74cc8986515e14b74de2
wpt-pr: 26023
Automatic update from web-platform-tests
Revert "[Longtasks] Fix buffering before observer"
This reverts commit c2d62d3604e218cfd1b62877684c634980aea3f7.
Reason for revert: suspect for crbug.com/1138522
Original change's description:
> [Longtasks] Fix buffering before observer
>
> When we shipped longtasks with buffered flag, we forgot to remove a
> check that would prevent longtask creation when there's no observer.
> This CL fixes this and adds a test for this case. It also moves the
> UseCounter to the observe() method.
>
> Bug: 1131385
> Change-Id: I2911b9ab044db7394bcf64f64b1e599959cbdc37
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2463594
> Reviewed-by: Steve Kobes <skobes@chromium.org>
> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#816664}
TBR=skobes@chromium.org,npm@chromium.org
Change-Id: I03483b9cc1e8ce03b518d90df16e54e4503f5ffc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1131385
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2472258
Reviewed-by: Kramer Ge <fangzhoug@chromium.org>
Commit-Queue: Kramer Ge <fangzhoug@chromium.org>
Cr-Commit-Position: refs/heads/master@{#817101}
--
wpt-commits: 399db71122d26363cf3c5e41bb97b4ff06caf85c
wpt-pr: 26119
Automatic update from web-platform-tests
Remove a hack for mypy<0.790 (#26102)
We have upgraded to mypy 0.790 in #26066, which brings us
https://github.com/python/typeshed/pull/4146.
Unfortunately, we still have to use io.open instead of the built-in open
because the "text mode" of open() in Python 2 doesn't really take text
(unicode).
Also made some drive-by stylistic changes.
--
wpt-commits: fdc3a462396df8af5d2d8f2e5277e98817ffbb9d
wpt-pr: 26102
Automatic update from web-platform-tests
Add a --headless option to resources/test/
--
Use same Python interpreter for wpt server in resources/test/
--
wpt-commits: bbd1631075b74de45e5f165543d06de20f544f34, 99261220126ae61a7dd40e0eec9fb9a763ba774f
wpt-pr: 26103
Automatic update from web-platform-tests
Rename Sms{Service,Receiver} to WebOTPService
The old name does not reflect the changes made to the feature name
and specification. No change in functionality is expected.
The following changes were made using grep & sed.
- rename files
- [^_]+sms_service->webotp_service
- [^_]+sms_receiver->webotp_service
- {SMS,Sms}Receiver->WebOTPService
- SmsService->WebOTPService
- SMS Service->WebOTP Service
The only manual change were:
- update some outdated documentation in webotp_service.mojom
- SMSReceiver -> WebOTP for flags
## Aside
Getting a pre-submit warning which seems incorrect as we have not
changes the UMA histogram name and it exists :-?
```
** Presubmit Warnings **
Some UMA_HISTOGRAM lines have been modified and the associated histogram name has no match in either tools/metrics/histograms/histograms.xml or the modifications of it:
[components/browser_ui/sms/android/java/src/org/chromium/components/browser_ui/sms/WebOTPServiceUma.java:35] Blink.Sms.Receive.TimeCancelOnKeyboardDismissal
```
Bug:1117238
Change-Id: I369f8631450b0a539b3c2afbf8d4ed87ce853a87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424707
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Sam Goto <goto@chromium.org>
Reviewed-by: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816889}
--
wpt-commits: 1b0f824f9ef09f035d2549ab4f6c92131ba62c0f
wpt-pr: 25710
Automatic update from web-platform-tests
Fix duplicate test name in webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https.html (#26107)
Fix a copy/paste error that led to a duplicate test name.
Co-authored-by: Chris Dumez <cdumez@apple.com>
--
wpt-commits: 5fcc1c2184a256ba8f684f4b12c6ec5543e62313
wpt-pr: 26107
Automatic update from web-platform-tests
Enable "Immersive-AR" session for OpenXR runtime
The OpenXR runtime on Windows supports both "opaque" (WMR VR devices) and "additive" (Hololens). This change simply turns on support for Immersive-AR session according to the WebXR AR-module spec. The majority of the change is to let the runtime to decide about the blend_mode and interaction_mode instead of the current guessing logic at at the renderer layer.
Bug: 1069350, 944936
Change-Id: I26bfd02c17405299b2880045326d23fc880ea069
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2468358
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Phu Le <phle@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#816790}
--
wpt-commits: 304bef15849c6bc8fbaf8aabb83f6ef78186f7bf
wpt-pr: 26106
Automatic update from web-platform-tests
Reland "Use a single, consistent path to update stage parameters."
This is a reland of e94960c9ac81f36bfeba2bdebe2c2714933a92da
Original change's description:
> Use a single, consistent path to update stage parameters.
>
> Removes stage_parameters from VRDisplayInfo and updates the XR frame
> request loop to exchange an stage_parameters_id to indicate what version
> of the parameters the session has so that only updates need to be sent.
>
> Part of an ongoing process to remove VRDisplayInfo entirely.
>
> Bug: 998146
> Change-Id: I6f41dc2426b529694903d1e46cdadc16841b2b37
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2460976
> Commit-Queue: Brandon Jones <bajones@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#815903}
Bug: 998146
Change-Id: I433914ca4db3adfa939032946a2095e03c13eed9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466932
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816699}
--
wpt-commits: abe80e0da5e73e41b65a6987eac3daa9081ed168
wpt-pr: 26104
Automatic update from web-platform-tests
Don't paint outline in composited foreground layer
Previously when there is composited foreground layer, the outline was
painted on both the main graphics layer and the foreground layer.
Change-Id: I9c0bcf14ce4acb1f41a732e480b9c1a4126f69bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466620
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816669}
--
wpt-commits: 455dbf51d13331ae38944103fe65b68684f03a0f
wpt-pr: 26105
Automatic update from web-platform-tests
[Longtasks] Fix buffering before observer
When we shipped longtasks with buffered flag, we forgot to remove a
check that would prevent longtask creation when there's no observer.
This CL fixes this and adds a test for this case. It also moves the
UseCounter to the observe() method.
Bug: 1131385
Change-Id: I2911b9ab044db7394bcf64f64b1e599959cbdc37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2463594
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816664}
--
wpt-commits: 0cf5a3325b226f57b14bcbd3043ff3d343b9c39b
wpt-pr: 26068
Automatic update from web-platform-tests
Avoid DCHECK failure when reusing space and newline with white-space:pre
Consider this code:
<style>i { white-space: pre-line }</style>
X<i> </i><i> </i>
The first time that NGInlineNode::CollectInlines runs, the text data
will be "X", then "X ", and then AppendForcedBreakCollapseWhitespace
will remove the trailing whitespace before inserting the forced break,
so we get "X\n".
But if some text is appended dynamically, CollectInlines will run again,
and this time it will try to reuse existing items in AppendTextReusing.
Before this patch, this would produce "X \n", which would trigger a
DCHECK failure in ComputeOffsetMapping because it's a different string.
Therefore, this patch prevents AppendTextReusing from reusing existing
items if the last item to collapse with ends with collapsible spaces and
the first item to reuse has 'white-space:pre' and begins with a newline.
Bug: 1136688
TEST=external/wpt/css/css-text/white-space/pre-line-with-space-and-newline.html
Change-Id: I0ff71b125b66256ec3b5c263605c3c116f9ac55f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466279
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#816641}
--
wpt-commits: 5b6e508729caf23ab70c4db695315aef951c3d50
wpt-pr: 26101
Automatic update from web-platform-tests
[layout] Fix self-collapsing end-margins contributing to overflow.
Previously we just took the end margin-strut, and used this for the
scrollable-overflow. This was incorrect.
As the end margin-strut is used for positioning self-collapsing blocks
we ended up "double counting" these margins.
This patch uses the "final" margin-strut, and subtracts the
self-collapsing end margin-strut to correctly determine the block-end
margin which contributes to scrollable-overflow.
Bug: 1136403
Change-Id: I7d0d0fe801948c3ce818719f28f1a7c795a7ec56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466379
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816586}
--
wpt-commits: c808aa3d15a42648d8b25a838024813990959e37
wpt-pr: 26084
Automatic update from web-platform-tests
[layout] Fix -webkit-line-clamp with text-overflow: ellipsis
Previously we'd apply line truncation when either -webkit-line-clamp
was active, *or* if "text-overflow: ellipsis" was active.
This patch disables the "text-overflow: ellipsis" branch when we are
within a -webkit-line-clamp context.
Bug: 1134483
Change-Id: I5ceb40732bd512e5eb8dc59365e10c4fdd4cf15d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2447610
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816554}
--
wpt-commits: 4aa1136cec103dff3c716c93b8418e43a48697fd
wpt-pr: 25965
Automatic update from web-platform-tests
Handle empty arrow functions when determining name in testharness.js (#26100)
--
wpt-commits: ef6faf67e9e84bf20bd24b8bd2570c6f0b68dcd7
wpt-pr: 26100
Automatic update from web-platform-tests
[mathml] Fix mo-form.html
The codepoint U+266D was used in this test and part of the MathML3
operator dictionary, however it is not part anymore of the MathML
Core operator dictionary. Therefore pick a postfix operator that
is part of the MathML Core operator dictionary.
Bug: 6606
Change-Id: I253909a13a3d1ce34ca597342a706c05d35d3d34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466243
Reviewed-by: Frédéric Wang <fwang@igalia.com>
Commit-Queue: Rob Buis <rbuis@igalia.com>
Cr-Commit-Position: refs/heads/master@{#816531}
--
wpt-commits: 9df1f873a7d7739579642b6826955cb981181330
wpt-pr: 26096
Automatic update from web-platform-tests
[:is/:where] Drop pseudo_id when matching nested complex selectors
If the pseudo_id is set, the SelectorChecker::MatchSelector call for
each subselector will fail completely because the dynamic_pseudo of
the inner result will not match context.pseudo_id. This check does not
make sense to perform for nested complex selectors, since pseudo
elements are not valid in nested complex selectors. Hence, we can just
set the pseudo_id to kPseudoIdNone at the :is/:where boundary.
This fixes a bug where selectors such as ":is(.a .b)::before" would
never match.
This CL also adds a basic test for pseudo classes. (Not related to the
fix).
Bug: 568705
Change-Id: I119265836ac0f1b77868537c7685690300c265fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466278
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816500}
--
wpt-commits: c73950ec677680f896d022f498181ad17e54d944
wpt-pr: 26093
Automatic update from web-platform-tests
Revert "Enable "Immersive-AR" session for OpenXR runtime" (#26092)
This reverts commit 04ee981eb70e65020bbb0ab09c0f075946697269.
Reason for revert: Breaking win-chrome
See: https://ci.chromium.org/p/chrome/builders/ci/win-chrome/15856
Original change's description:
> Enable "Immersive-AR" session for OpenXR runtime
>
> The OpenXR runtime on Windows supports both "opaque" (WMR VR devices) and "additive" (Hololens). This change simply turns on support for Immersive-AR session according to the WebXR AR-module spec. The majority of the change is to let the runtime to decide about the blend_mode and interaction_mode instead of the current guessing logic at at the renderer layer.
>
> Bug: 1069350, 944936
> Change-Id: Ie5f1b56857f9ca5357dbd1dde6585687773d0b56
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2432759
> Commit-Queue: Phu Le <phle@microsoft.com>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Klaus Weidner <klausw@chromium.org>
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#816352}
TBR=dcheng@chromium.org,bajones@chromium.org,rafael.cintron@microsoft.com,klausw@chromium.org,alcooper@chromium.org,phle@microsoft.com
Change-Id: I0882e685902eb584ee2e417369a16697d21d1dfa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1069350
Bug: 944936
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466997
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816382}
Co-authored-by: Moe Ahmadi <mahmadi@chromium.org>
--
wpt-commits: b1a9ac15fef710b2388deee7c39ba848fb162469
wpt-pr: 26092
Automatic update from web-platform-tests
Clarify what version of Opera we're talking about here
--
Use func.toString as the test name as a first fallback
--
wpt-commits: c5d9edf492a3f13ec2eca3287c2db7cf5b452057, cbbc48732b24557ed2b291c2de83e81790f35042
wpt-pr: 25853
Automatic update from web-platform-tests
Enable "Immersive-AR" session for OpenXR runtime
The OpenXR runtime on Windows supports both "opaque" (WMR VR devices) and "additive" (Hololens). This change simply turns on support for Immersive-AR session according to the WebXR AR-module spec. The majority of the change is to let the runtime to decide about the blend_mode and interaction_mode instead of the current guessing logic at at the renderer layer.
Bug: 1069350, 944936
Change-Id: Ie5f1b56857f9ca5357dbd1dde6585687773d0b56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2432759
Commit-Queue: Phu Le <phle@microsoft.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816352}
--
wpt-commits: aeb10e75dcfe88cac2c5c9e390991f355637c7dc
wpt-pr: 26004
Automatic update from web-platform-tests
Use valid sample rate for offline context
The test offlineaudiocontext-detached-execution-context.tentative.html
uses a sample rate of 3000 Hz, but the spec only mandates a minimum
sample rate of 8000 Hz. Update the test to use a sample rate of 8
kHz.
Bug: 1137014
Test: offlineaudiocontext-detached-execution-context.tentative.html
Change-Id: I7fb2069e8c69f77224aad6f92a8acf9e02cba72d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2462233
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816331}
--
wpt-commits: c859eb755e9fa1f8e599f09af178e4d5c77ef881
wpt-pr: 26090