The new Pacer includes both pacing of incoming frames, and the duplication logic
from VideoFrameConverter. It guarantees that no events happen early, thanks to
MediaTimer.
The largest difference from the old pacing logic is that only one timer is used,
VideoFrameConverter used two -- one for pacing and one for same-frame
duplications. The same-frame timer was positioned later in the pipe, to avoid
convert the same input frame multiple times, something users of the new Pacer
will have to handle. Two timers however uncovered flaws from nsTimer -- namely
that the ordering between two timers is not guaranteed as there is no nsTimer
API using absolute timestamps. Using only one timer avoids this.
Differential Revision: https://phabricator.services.mozilla.com/D129653
This patch makes libwebrtc use our clock for timestamps.
It also makes sure there's no use of the libwebrtc realtime clock, other than
for relative time tracking (like timeouts), and that future libwebrtc updates
don't introduce unaudited use of it.
Differential Revision: https://phabricator.services.mozilla.com/D127714
This is needed in order to provide precision reduction on timestamps from
libwebrtc. Similarly useful for providing a clock adapter so libwebrtc can use
our clock.
Differential Revision: https://phabricator.services.mozilla.com/D125715
NTP time starts at "midnight on January first 1900" (RFC868).
DOMHighResTimeStamp starts at "midnight at the beginning of 1 January 1970 UTC"
(ECMA-262).
Differential Revision: https://phabricator.services.mozilla.com/D125714
Automatic update from web-platform-tests
[Sanitizer] Implement setHTML options dictionary.
Implement an options dictionary for the Element::setHTML method.
This brings us back into compliance with the WPT test suite, so
we can delete the expectations file.
We'll leave the old (now deprecated) method in place so we don't disturb
the ongoing dev trials, but will remove it before default-enabling the
Sanitizer.
Spec: https://github.com/WICG/sanitizer-api/issues/121
Bug: 1254369
Change-Id: If4e6de7b471c4f199b85015e45abe99c5068b47c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3234209
Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936430}
--
wpt-commits: eb141a48e1ae5b4640de723bccdf1c1362611490
wpt-pr: 31437
Automatic update from web-platform-tests
Fix dom/events/EventTarget-removeEventListener.any.js
document is not available in workers, globalThis is.
--
wpt-commits: 0f0298ee743acdca299a30f3e1e0637069c62db5
wpt-pr: 31441
Automatic update from web-platform-tests
Fix bugs in dom/events/AddEventListenerOptions-passive.any.js (#31429)
The test creates an EventTarget but then dispatches the event at `document.body`
instead of the event target (et). As a result, the event listener is never called
and the test fails in all browsers. Also, this test runs in workers too where
`document.body` makes no sense.
Also, testPassiveWithOtherHandlers() was creating an EventTarget and setting
event listeners on it and then calling testPassiveValue(). However,
testPassiveValue() would create its own EventTarget and dispatch the event
on its target. As a result, the event listeners added by testPassiveWithOtherHandlers()
would not get called.
--
wpt-commits: 01591897eff8424a3ead6e79f5ee5d1c39fb1437
wpt-pr: 31429
Automatic update from web-platform-tests
[Subresource WebBundles] Accept bundle format b2
Now we prefer the new version of the WebBundle format ("b2"), while the
old format ("b1") is still supported. This CL reflects that in the
Accept: header value for WebBundle requests, i.e. we request b2 bundles
with q=1 (default), and request b1 bundles with q=0.8.
Bug: 1247139
Change-Id: I016eb5dd8c5a4c0b8dc1192f004c48b4d589fd99
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3252464
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936289}
--
wpt-commits: cc9b118e1e08a39b697ce89b7e9a7e5b4edb18ea
wpt-pr: 31434
Automatic update from web-platform-tests
Revert "Fetch: Plumb request initiator through passthrough service workers."
This reverts commit da0a6501cf321579bd46a27ff9fba1bb8ea910bb.
Reason for revert: Failure on many bots with the following error message:
The service worker navigation preload request was cancelled before 'preloadResponse' settled. If you intend to use 'preloadResponse', use waitUntil() or respondWith() to wait for the promise to settle.", source: (0)
Original change's description:
> Fetch: Plumb request initiator through passthrough service workers.
>
> This CL contains essentially two changes:
>
> 1. The request initiator origin is plumbed through service workers
> that do `fetch(evt.request)`. In addition to plumbing, this
> requires changes to how we validate navigation requests in the
> CorsURLLoaderFactory.
> 2. Tracks the original destination of a request passed through a
> service worker. This is then used in the network service to force
> SameSite=Lax cookies to treat the request as a main frame navigation
> where appropriate.
>
> For more detailed information about these changes please see the
> internal design doc at:
>
> https://docs.google.com/document/d/1KZscujuV7bCFEnzJW-0DaCPU-I40RJimQKoCcI0umTQ/edit?usp=sharing
>
> In addition, there is some discussion of these features in the following
> spec issues:
>
> https://github.com/whatwg/fetch/issues/1321
> https://github.com/whatwg/fetch/issues/1327
>
> The test includes WPT tests that verify navigation headers and SameSite
> cookies. Note, chrome has a couple expected failures in the SameSite
> cookie tests because of the "lax-allowing-unsafe" intervention that is
> currently enabled. See:
>
> https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/TestExpectations;l=4635;drc=e8133cbf2469adb99c6610483ab78bcfb8cc4c76
>
> Bug: 1115847,1241188
> Change-Id: I7e236fa20aeabb705aef40fcf8d5c36da6d2798c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3115917
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
> Reviewed-by: Nasko Oskov <nasko@chromium.org>
> Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
> Commit-Queue: Ben Kelly <wanderview@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#936029}
Bug: 1115847,1241188
Change-Id: I3044a6d20de172b4a8ab7e39a9f26191580003fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3251692
Auto-Submit: Alan Screen <awscreen@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alan Screen <awscreen@chromium.org>
Owners-Override: Alan Screen <awscreen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936125}
--
wpt-commits: 85ebe754c6a2f8a706d582c71433301ed7901a18
wpt-pr: 31425
Automatic update from web-platform-tests
App history: make it mostly nonfunctional for opaque origins
Given that opaque origins complicate the notion of what the origin of a
history entry is and when they can be considered contiguous, discussion
on https://github.com/WICG/app-history/issues/167 suggests that we
should probably start with restricting the API to not work on them for
now, in the same way we do for the initial about:blank.
This also slightly improves the test coverage for detached window
scenarios since they are very similar to what we're changing here.
Fixed: 1252490
Change-Id: Id3c761d87dba0c3b75c0e70e4f6cc61e96429b8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3161023
Commit-Queue: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936101}
--
wpt-commits: 0ffde1b55c7b73abc2945697fbc45549cf9eafbb
wpt-pr: 31247
Automatic update from web-platform-tests
Fix WPT transform-scale-hittest.html
This WPT test was introduced as a regression test for crbug.com/1015801. However, its second test case, a subpixel test case tests a non-standard behavior, and it also passes even without the fix to that bug. So this patch turns it into a whole-pixel test to make it spec-compliant.
Change-Id: I351f197310948618f92990e4f739af58d8658b69
Fixed: 1264088
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3247884
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936087}
--
wpt-commits: 46b8b0fb32938ac71d791f4d788774a8a86af8a0
wpt-pr: 31408
Automatic update from web-platform-tests
Fetch: Plumb request initiator through passthrough service workers.
This CL contains essentially two changes:
1. The request initiator origin is plumbed through service workers
that do `fetch(evt.request)`. In addition to plumbing, this
requires changes to how we validate navigation requests in the
CorsURLLoaderFactory.
2. Tracks the original destination of a request passed through a
service worker. This is then used in the network service to force
SameSite=Lax cookies to treat the request as a main frame navigation
where appropriate.
For more detailed information about these changes please see the
internal design doc at:
https://docs.google.com/document/d/1KZscujuV7bCFEnzJW-0DaCPU-I40RJimQKoCcI0umTQ/edit?usp=sharing
In addition, there is some discussion of these features in the following
spec issues:
https://github.com/whatwg/fetch/issues/1321https://github.com/whatwg/fetch/issues/1327
The test includes WPT tests that verify navigation headers and SameSite
cookies. Note, chrome has a couple expected failures in the SameSite
cookie tests because of the "lax-allowing-unsafe" intervention that is
currently enabled. See:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/TestExpectations;l=4635;drc=e8133cbf2469adb99c6610483ab78bcfb8cc4c76
Bug: 1115847,1241188
Change-Id: I7e236fa20aeabb705aef40fcf8d5c36da6d2798c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3115917
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Ben Kelly <wanderview@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936029}
--
wpt-commits: cd0951f4268af579e9e26913fbefea1684c67f2d
wpt-pr: 31378
Automatic update from web-platform-tests
Remove superfluous cookie WPT
There's a test that's not really testing anything interesting in
external/wpt/cookies/attributes/resources/domain-child.sub.html.
So remove the test.
Bug: 1259937
Change-Id: I673c53c654478ed61b1e5dfdf53c51f85ca5b09e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3251400
Reviewed-by: Mike Taylor <miketaylr@chromium.org>
Commit-Queue: Mike Taylor <miketaylr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#935998}
--
wpt-commits: a965969e49618ae37b488333d389b0edc86983f6
wpt-pr: 31417
Automatic update from web-platform-tests
Updating reporting source for COEP reporter
- COEP reporters are created during navigation and
initialized with current frame's reporting source.
- On page commit COEP reporter is moved from navigationRequest
to RFHI, its reporting source also needs to be updated.
- Add basic wpt test covering subresource and navigaiton type
COEP reports with Reporting-Endpoints header.
Bug: 1258121
Change-Id: I236fe0120c78d57fd3f54346e0f09de7883fba5e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3243403
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Ian Clelland <iclelland@chromium.org>
Commit-Queue: Rodney Ding <rodneyding@google.com>
Cr-Commit-Position: refs/heads/main@{#935986}
--
wpt-commits: 07170d96982cd1250f83730bc69a4cfe322171e5
wpt-pr: 31393