Some of the specifics of this aren't worked out yet, so this is currently unused and expect changes to the specific load behaviour in the future.
Differential Revision: https://phabricator.services.mozilla.com/D131333
Automatic update from web-platform-tests
Test that if a focused element becomes expressly inert, it stops being focused
https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule
Blink passes the test now, used to fail before https://crrev.com/941651
since enabling inertness was not enough, also needed a style recalc.
Firefox and WebKit fail the test since they don't seem to implement
the focus fixup at all, e.g. removing tabindex attr doesn't work either.
--
wpt-commits: ad307133ca28af249afeab2700bdae78419c2a11
wpt-pr: 31776
Automatic update from web-platform-tests
[Fixit] Make sandbox + COOP break the opener.
Sandbox flags and COOP cannot currently live on the same page. This was
decided when first implementing COOP. If COOP and sandboxing flags are
present on the same top level window, we return an error page instead,
and COOP has no effect.
Exploits have been discovered recently about abusing an opened window
and history to be able to guess the cross-origin url using the history
API. See:
https://bugs.chromium.org/p/chromium/issues/detail?id=1208614
Error pages were left out from the fix, because it would be inelegant
to insert error pages into history after a successful reload. That means
error pages can potentially be used to guess a cross-origin URL.
If in general this is acceptable, in our case its worse for two reasons:
- COOP is used to protect pages that are usually more valuable or hold
important data.
- It is possible to reach an error page after response without relying
on timing, etc.
Therefore we'd like to sever the opener when we fail after receiving a
response, if the target page did set COOP. Basically we'd like to change
the spec to enforce COOP even when we fail because of COOP+sandbox.
Spec discussion can be found here:
https://github.com/whatwg/html/issues/7345
On the implementation side, this patch adds the WPTs necessary to the
spec change, and the modified behavior.
We add a setter to the swap parameter to be able to only activate that
without breaking the COOP: Unsafe-none for error pages invariant. This
applies to final responses and redirects.
This does not alter the reload behavior, as this only happens for cases
where reloads would not be successful anyway.
Bug: 1256823
Change-Id: Ic79623a2b752608bc46a031d1f567308441d42e0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293412
Commit-Queue: Arthur Hemery <ahemery@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946387}
--
wpt-commits: 4401bb56f90668983f6c237523a85f8875be9c77
wpt-pr: 31731
Automatic update from web-platform-tests
Drop duplicate and out of order VideoFrames in MSTP
Drop videoframes which arrive on a track with duplicate or out of order timestamps, to make
it easier for apps to handle frames without worrying about order.
Bug: 1271175
Change-Id: I20a7312a31d8122c77dccde6d5064b27f0637db3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3304220
Commit-Queue: Tony Herre <toprice@chromium.org>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Johannes Kron <kron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946371}
--
wpt-commits: a50d831a8108b74193d0ac8f731c7d90dd1cb001
wpt-pr: 31779
Automatic update from web-platform-tests
Anonymous iframe: Test Cookie get/set from within.
We previously tested documents in anonymous iframe won't have access to
cookies set outside the frame:
/html/cross-origin-embedder-policy/anonymous-iframe/cookie.tentative.https.window.js
This patch checks they can still define and retrieves Cookies cookies
defined from within.
Bug: 1238368,1226469
Change-Id: I3352f2879ffa8ebf109d64b3e51de3b783354f4f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3306633
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Dylan Cutler <dylancutler@google.com>
Cr-Commit-Position: refs/heads/main@{#946364}
--
wpt-commits: b66d9d90698133a8246f432c478b230a0c2ff996
wpt-pr: 31777
Automatic update from web-platform-tests
SVG Text NG: Fix linearGradient on text position change
We should invalidate associated resources on bounding box changes.
This CL ports a similar code fragment in LayoutSVGText::UpdateLayout().
Bug: 1274630
Change-Id: Idea555952aba6b00f48b9437d0ae18c3f3f22842
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3308138
Commit-Queue: Koji Ishii <kojii@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946348}
--
wpt-commits: af25c740112a6453c0224a541e8991d85ad470bf
wpt-pr: 31790
Automatic update from web-platform-tests
SVG Text NG: Fix a crash by <use> with display:contents and text-decoration
crrev.com/925670 was not enough for SVG <use> because it has a different
code path to propagate the <use> style to a referred tree. See
SVGElement::CustomStyleForLayoutObject().
This CL resolve the issue by not calling ApplyTextDecorations() for
display:contents, and revert the C++ part of crrev.com/925670.
Bug: 1252619, 1253243, 1273800
Change-Id: Iddee8ba2f2bb68d601bc0dbc55207267b8cb55cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3308292
Auto-Submit: Kent Tamura <tkent@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946301}
--
wpt-commits: 1ebd2941a14bb757e26d1fb6e8d5c6aba88ba3bd
wpt-pr: 31788
Automatic update from web-platform-tests
Move grid-intrinsic-maximums to WPT and remove commented out cases
This test was fixed in crrev.com/c/2630626.
R=ikilpatrick@chromium.org
Fixed: 818401
Change-Id: Ib2b2c728ebcd69006cd834449d0683624a05fa93
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3294033
Auto-Submit: Daniel Libby <dlibby@microsoft.com>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Ana Sollano Kim <ansollan@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946292}
--
wpt-commits: 1283abac02b1f4d4173b9cfe8af1dfc9a6002aaa
wpt-pr: 31736
Instead of calling `bc->GetUserAgentOverride()` we should have been calling
`bc->Top()->GetUserAgentOverride()` or `bc->GetCustomUserAgent()`.
Differential Revision: https://phabricator.services.mozilla.com/D132192
There is a lot of the following `PSpeechSynthesisRequestParent` signature
crashes in Fenix since `mActor` seems to be null.
- `mozilla::dom::PSpeechSynthesisRequestParent::SendOnEnd`
- `mozilla::dom::PSpeechSynthesisRequestParent::SendOnBoundary`
- `mozilla::dom::PSpeechSynthesisRequestParent::SendOnStart`
So we should add a check whether child process is still alive.
Differential Revision: https://phabricator.services.mozilla.com/D132457
Attempting to just clamping the base address returning from texelFetchPtr might be causing
some crashes in the case the texture is actually smaller than the offset area. Instead, switch
out the sampler with a zero buffer to ensure we have something sane to sample without having
to do slow bounds checking on everything.
Differential Revision: https://phabricator.services.mozilla.com/D132508
We're using the new `force` parameter for `insertAnonymousContent` to force creating a container
for the anonymous content, and we add a new option to the CanvasAnonymousHelper so highlighter
can choose to not wait for the dom to load.
For now we only use it for the paused debugger overlay as the other highlighters might need
an inspector front, which may require the dom to be ready.
We enable the assertions in browser_dbg-paused-overlay-loading.js to check that the
highlighter is visible.
This required a few changes in the highlighter test actor.
First, it was waiting for an inspector front in its initialize method, which was
waiting indefinitely in our test as the document is paused. As this was only done
to retrieve the inspector actorID, we simply remove it and retrieve the actorID
through the connection and the target form when it's needed (for the eye dropper).
Secondly, the isPausedDebuggerOverlayVisible method was returning true even when
the highlighter wasn't displayed, so we check a few additional attributes.
Depends on D132034
Differential Revision: https://phabricator.services.mozilla.com/D132116
This is as per spec, and causes failures once we enable the pref to expose
shorthands in the computed style. We need to decouple the "enabled-ness" from
the enumerable-ness, which we do by keeping two separate arrays, and leaving
ComputedStyleMap for the enumeration.
Differential Revision: https://phabricator.services.mozilla.com/D132266
I enabled -Wshadow-uncaptured-local warnings in bug 1718408 because the flag didn't report any -Wshadow-uncaptured-local warnings. Unfortunately, clang didn't report any warnings due to clang bug https://bugs.llvm.org/show_bug.cgi?id=52325: clang -Wshadow-uncaptured-local (and some other -Wshadow*) flags doesn't actually enable these warnings; they're only enabled by the meta flags -Wshadow and -Wshadow-all.
I see now that there are over 500 -Wshadow-uncaptured-local warnings, too many to realistically fix them all, so we should remove -Wshadow-uncaptured-local.
The -Wshadow-field-in-constructor-modified flag is also affected by the clang bug, but I'd like to keep setting the -Wshadow-field-in-constructor-modified flag in case the clang bug is ever fixed. There are no -Wshadow-field-in-constructor-modified warnings in mozilla-central; I fixed the last one in bug 1738400.
Differential Revision: https://phabricator.services.mozilla.com/D132290
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.
There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.
Differential Revision: https://phabricator.services.mozilla.com/D132289
As well as the caret offset, we also need to cache whether the caret is at the end of a line.
Therefore, this information has been added to caret events.
Differential Revision: https://phabricator.services.mozilla.com/D132097
Keeping the pref as signed, since the existing code explicitly handles that case, so someone may have -1 as the pref value.
Differential Revision: https://phabricator.services.mozilla.com/D132020
Technically, `aContentArea` is not 100% wrong; its the content area of the outer
scroll frame, which contains the content area of the inner scrolled frame, the
padding, and the scrollbars. However, it should really be named
`aInsideBorderArea` as the caller names it. Otherwise, it is easy to cause
confusion with the content area of the inner scrolled frame.
Also, rename `aOldScrollArea` as well so that we use the term "scroll port"
consistently.
Differential Revision: https://phabricator.services.mozilla.com/D132445
Scrollbar's min and pref sizes won't change during reflow, so we can cache them
in ScrollReflowInput to save some repetitive computation in multiple
ReflowScrolledFrame() and TryLayout() calls.
This is also a preparation for Bug 1715112 because we can use the pref sizes to
compute the scrollbar-gutter size in ScrollReflowInput.
Differential Revision: https://phabricator.services.mozilla.com/D132443