By making this change we will have the following benefits:
1. The memory usage will be decreased because there is no need
to keep an instance of "DialogObserver" per MarionetteCommands
JSWindowActor instance, and as result the set of necessary
observer topics is registered only once across all windows.
2. When a dialog gets opened there will be a single log entry
only, which makes it clear from where it is actually coming from.
3. Per WebDriver spec Marionette only has to care about opened
modal dialogs for the currently selected tab. Given that the
driver has that information it can be easily passed into the
"DialogObserver" class for transparently filtering opened dialogs.
Differential Revision: https://phabricator.services.mozilla.com/D112365
Most of the existing tests in that file are meanwhile covered
by Wdspec tests, and as such can be removed. Only the
HTTP authentication tests have to remain for now given that
those aren't part of the WebDriver specification yet.
To allow the handling of all different modal dialog types,
which are displayed as content, tab, or window alert appropriate
tests have been added.
Differential Revision: https://phabricator.services.mozilla.com/D112364
To be precise the root APZC should actually be scrollable in the opposed
directions of the given input, it's checked in
AsyncPanZoomController::GetOverscrollableDirections.
Differential Revision: https://phabricator.services.mozilla.com/D113061
Our implementation was setting a custom user agent on the document
before reloading it, and then resetting it as soon as the document
was loaded.
In Chrome, once the webextension sets the user agent, it persists
across reload and navigations, and is reset only when the toolbox
is closed.
This patch is adding similar behaviour to our implementation.
We also set the currentUserAgent flag on the browsing context from
the parent process instead of content. This is re-using the
targetConfigurationCommand, which also handle for us resetting the
user agent when the toolbox closes.
The existing test is expanded so it includes a remote iframe to ensure
the feature is supported on Fission. It also check the value of the user
agent through navigator.userAgent, and not only through the request header.
Differential Revision: https://phabricator.services.mozilla.com/D112980
Was not able to get any confirmation about the impact of this change with try pushes.
However all the failures seem related to random waitFor calls in this test, without any regular pattern.
I suspect that our waitFor delay might be too short in some cases, increasing the interval will allow to verify this assumption.
Differential Revision: https://phabricator.services.mozilla.com/D113156
To be precise the root APZC should actually be scrollable in the opposed
directions of the given input, it's checked in
AsyncPanZoomController::GetOverscrollableDirections.
Differential Revision: https://phabricator.services.mozilla.com/D113061
Automatic update from web-platform-tests
[navigation] Simplify <object> fallback handling
If a navigation in an <object> frame will result in a network or HTTP
error, simply inform parent frame to render fallback content instead of
asking the <object> frame to commit a navigation, only for the commit to
be ignored when Blink realizes it should trigger the fallback content
for <object> instead.
Change-Id: I0c5a3889d3aeaad25cdc6190d5bda0a76f5e6a9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2638444
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Clark DuVall <cduvall@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875837}
--
wpt-commits: 49d34e1db38450e4791232566299f6d8cc6f3a4c
wpt-pr: 28641
Automatic update from web-platform-tests
Don't propagate frameset CSS properties to the viewport (#28660)
Document::body() will return the <frameset> element for documents where
a frameset is found before body and the frameset is rendered.
Do not propagate any properties from the frameset for viewport
propagation as the specifications[1][2][3] explicitly talks about the
body element.
[1] https://drafts.csswg.org/css-writing-modes/#principal-flow
[2] https://drafts.csswg.org/css-overflow/#overflow-propagation
[3] https://drafts.csswg.org/css-backgrounds-3/#body-background
Change-Id: I8f817ff618ec732322f80f741cfb3a4f2bb7c32a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2842016
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875657}
Co-authored-by: Rune Lillesveen <futhark@chromium.org>
--
wpt-commits: 86b64a4f22cfac8583370a8510cc142c88852c03
wpt-pr: 28660
Automatic update from web-platform-tests
Change to a non-fatal error for unsatisfiable image decodes.
In the event of truncated files, the spec has been changed to say
we should throw a non-fatal range error instead of invalidating
the image decoder.
R=chcunningham
Fixed: 1200137
Change-Id: I166069138f40483ca2dfe471dd9d132ae7320d27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2846127
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875448}
--
wpt-commits: c1f9f678551948177e1274dc3884899a708d9423
wpt-pr: 28635
Automatic update from web-platform-tests
Fix a bug in imperative slotting API for slots removed from tree
Prior to this CL, when a slot was removed from the tree and also
replaced with another call to .assign(), the call to DidSlotChange()
needed to be skipped. It was causing a crash.
Along the way, 4 other tests seem to be working fine, so I'm going
to re-enable them.
Fixed: 1062104
Fixed: 1201402
Change-Id: Ib699e8e2388ed572a1c80846f4708d3d62df2422
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2847555
Commit-Queue: Mason Freed <masonf@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Wenbin Zhang <wenbinzhang@google.com>
Cr-Commit-Position: refs/heads/master@{#875777}
--
wpt-commits: 02f0cc10c4e92627ccfd8b30ce03e04278af5224
wpt-pr: 28655
Automatic update from web-platform-tests
Make web test for SAB in IndexedDB a WPT
The web_test checking that a SharedArrayBuffer cannot be serialized
into IndexedDB was failing because it was served inside a
non-cross-origin-isolated page, which could not create a
SharedArrayBuffer.
This CL turns that into a Web Platform Test and adds the appropriate
COOP and COEP header which make the page cross-origin-isolated,
enabling instantiation of SharedArrayBuffer.
Bug: 1194557
Change-Id: I6854a76612d237b82cb020e317459157907e77f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2846500
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875562}
--
wpt-commits: f1709df56f753c1932c4dd7969643fac1973265f
wpt-pr: 28637
Automatic update from web-platform-tests
Allow text fragments in same-document navigations
This CL lifts the restriction on text fragments in the specific case of
a same-document navigation initiated by an origin that's same-origin
with the current document. In this case, the two documents already have
full access to each other's content so text fragments present no risk.
Enabling them allows using anchor links to text-fragments on the current
page as well as allowing coordinating origins to pass a text-fragment
into an iframe.
To do this, we update DocumentLoader's |is_same_origin_navigation_|
member on same-document navigations (and we rename it to be more
specific that the initiator is same-origin or browser).
We also make another small adjustment in allowing text fragments to be
invoked on replacement navigations (e.g. location.replace) which don't
create a new history entry. This was simply an unintentional omission in
the implementation.
Change-Id: Id82f46294b87d12d6a7355e0f7e4936e7fae75d6
Bug: 1198668
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2811999
Commit-Queue: David Bokan <bokan@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875755}
--
wpt-commits: 6750e28408598c11106f58afc1a1e2574a9e4ea4
wpt-pr: 28599
Automatic update from web-platform-tests
[ReplacedNG] Fix box-sizing within ComputeReplacedSize.
This fixes the box-sizing used within ComputeReplacedSize. If
aspect-ratio isn't present, we use kContentBox, otherwise we follow the
standard rules for aspect-ratio.
This includes a super subtle test for when we use the aspect-ratio +
one natural-size to compute the natural size in the other axis.
Bug: 1114280
Change-Id: Icc631d69173aedb898e0c2f7de78d7cc428f9167
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2842078
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875697}
--
wpt-commits: aa79e5115b5eb553938a075db800c7ff79051a78
wpt-pr: 28608
Automatic update from web-platform-tests
This CL adds functionality that correctly handles network error of (#28617)
Subresource Web Bundles.
The problem is: when Web Bundle fetching fails due to a network error,
Subresource fetch doesn't fail forever.
One such case (subresource-loading-cors-error test) was
timing out previously but passes successfully with this change.
This CL also adds 2 WPT tests:
1. subresource-loading-network-error.https.tentative.sub.html
2. subresource-loading-web-bundle-fetch-failed.https.tentative.html
Test #1 is a scenario with a different network error than the CORS
one, but with the same issue of subresource fetching timing out
without the change. It passes successfully after the change.
Test #2 is a scenario with a Web bundle not found error, which is
not directly influenced by the code added in this CL, but it expands
the test coverage which was found to be lacking the error cases before.
Bug: 1168449
Change-Id: Ia3abb967e36274becc86e317bc51b1272d3ae679
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2826001
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Miras Myrzakerey <myrzakereyms@google.com>
Cr-Commit-Position: refs/heads/master@{#875532}
Co-authored-by: Miras Myrzakerey <myrzakereyms@google.com>
--
wpt-commits: 2f52688ff3df7421cafb9d33091cf544fe2b8a9a
wpt-pr: 28617
Automatic update from web-platform-tests
[css-counter-styles] Explicitly test zero values for 'pad' and 'additive-symbols' descriptors (#28665)
This would've caught I bug I made in WebKit's @counter-style implementation.
--
wpt-commits: 1e0d3a6c2eaad2c26fd3179bbc2d03c4f3f6f056
wpt-pr: 28665
Automatic update from web-platform-tests
Stop testing Python 2.7 in resources/ tests
This isn't run in CI, but it does get run locally if one just runs tox
with no arguments, and won't work.
--
wpt-commits: 6244abea19188c3a8b9e70c8eef1247fcda87fcc
wpt-pr: 28664
Automatic update from web-platform-tests
Don't fragment clipped overflow.
When a node clips block-axis overflow, do not insert any further breaks
when reaching the block-end of the node. We don't want it to cause
generation of superfluous fragmentainers whose only purpose is to hold a
zero-size clipped fragment.
This introduces another reason for aborting and re-running layout,
somewhat similar to the early-break mechanism that we already have
(which is involved when we run out of fragmentainer space at a less than
ideal location).
Bug: 1066616, 829028
Change-Id: Ic2f1082319513a7f24cbe114eb93ebdb75c97bfc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2843465
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875622}
--
wpt-commits: 8cdc55ec5c6581f580601bb2b2828f08a589a6ee
wpt-pr: 28620
Automatic update from web-platform-tests
Switch the test cases order in img-aspect-ratio.html (#28659)
To make sure images[6] locating the right img and not affected by other cache issues.
--
wpt-commits: 0ae0bb7cab2188dc3c54d32f4e410290a977bba6
wpt-pr: 28659
Automatic update from web-platform-tests
Add JSON module test for load and error events
Add a test validating that the load event fires when appropriate for
a <script> element containing a JSON module import. Also check that
the error event is fired when a JSON module 404s.
These aren't intended to replicate the full suite of corresponding
tests for JavaScript modules. The purpose is to serve as a check that
implementers are reusing the codepaths for these events when
implementing JSON modules.
Bug: 1132413
Change-Id: I4277411c1f1f758c9ea163f87c2a539eacabe082
--
wpt-commits: 161110d01cafe02ac369cbcf205a49dd528305bc
wpt-pr: 28633
Automatic update from web-platform-tests
Add fuzzy matching to transform-input-015.html
external/wpt/css/css-transforms/transform-input-015.html is failing due
to anti-aliasing. Fix this issue by using fuzzy matching on 2 pixels.
Bug: 1051143
Change-Id: Ie60f02f95bcdaee7c26884c1dd2ec128df60f014
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2844766
Reviewed-by: Olga Gerchikov <gerchiko@microsoft.com>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Sahir Vellani <sahir.vellani@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#875355}
--
wpt-commits: aaf4be7517225472afa14d2e7464ceb3562f3123
wpt-pr: 28651
Automatic update from web-platform-tests
Add JSON modules tests for charset, integrity, and MIME type parameters
Add JSON modules tests for the following:
- The <script> element's integrity attribute is respected.
- JSON modules are always decoded as UTF-8 regardless of Content-Type
or the document's encoding. The existing coverage we had on this in
utf8.tenative.html was renamed to charset.html, refactored, and
expanded.
- Adding parameters to the MIME type doesn't prevent it from being
evaluated as a JSON MIME type.
Note, some of the existing MIME type tests for */*+json still fail
because it seems the spec issue on these at
https://github.com/whatwg/mimesniff/issues/112 hasn't been fully
resolved. I'll follow up with that separately.
Bug: 1132413
Change-Id: I682de01bbb14b53214fcc16f427a4875f8cfed7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2841103
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Dan Clark <daniec@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#875274}
--
wpt-commits: cda427384ac75751fe809c6006ca5167e0c8f7ad
wpt-pr: 28606
Automatic update from web-platform-tests
[LayoutNG] Nested fixedpos in nested multicol w/ CB in outer multicol
Nested fixedpos elements in a nested multicol were handled previously
by CL:2791850 and CL:2823871. However, if a fixedpos was nested in an
OOF element inside a nested multicol, and the containing block for
the fixedpos was in an outer multicol, the fixedpos was never laid out.
The reason being that when we add an inner multicol with pending OOFs,
we don't make any changes to its OOF descendants. So if the fixedpos
containing block existed outside the inner multicol but inside the
outer multicol, fixedpos_containing_block in NGOutOfFlowPositionedNode
would never be set.
In order to fix this, we need to store a fixedpos_containing_block along
with any inner multicols with pending OOFs, if one exists. A new
struct, NGMulticolWithPendingOOFs, was added to store this information.
The fixedpos_containing_block gets set the first time the inner multicol
reaches a potential fixedpos containing block.
The multicol_offset variable of NGMulticolWithPendingOOFs was added for
two purposes:
1. Similarly to CL:2836226, the static position was incorrect for
nested fixedpos elements in a nested fragmentation
context, and whose containing block was outside both multicols.
(See fixed-in-nested-multicol-with-transform-container.html for an
example).
In this case, multicol_offset is the accumulate multicol offset
relative to the outer fragmentation context. This gets added
to the static pos of any fixedpos descendants in
NGContainerFragmentBuilder::TransferOutOfFlowCandidates().
2. In the case where the inner multicol found a fixedpos containing
block, multicol_offset will be the offset from the multicol
to the top of the fixedpos containing block. This is also used
in NGContainerFragmentBuilder::TransferOutOfFlowCandidates() to
ensure that the fixedpos static position is correctly updated.
MulticolCollection was updated from a HeapHashSet of inner multicol
LayoutBoxes to a HeapHashMap from inner multicol LayoutBoxes to
NGMulticolWithPendingOOFs.
In order to avoid creating two NGMulticolWithPendingOOFs structs (one
for the logical space and one for the physical space), the
NGContainingBlock struct was also updated to a templated struct.
Note: this CL does not handle the case of more than two layers
of nesting. For example, in the following case, the fixedpos would
not be laid out at the correct offset:
multicol
multicol
transform
multicol
relpos
abspos
fixedpos
In order to get this case working, we'd also need to store a reference
to the multicol that the fixedpos containing block was found in inside
NGMulticolWithPendingOOFs. However, this use-case doesn't seem worth
handling at this time.
Bug: 1198674,1200324
Change-Id: I213c35514fecf84fc62e55fe5531cff8b0830429
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2844299
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#875257}
--
wpt-commits: 99efbde7f07b6d1b8e6a7708e99c592689451c3d
wpt-pr: 28634
Automatic update from web-platform-tests
Fix sharedarraybuffer.html web_tests
Move the test to WPT and use a crossOriginIsolated context to allow
constructing SharedArrayBuffer.
Bug: 1194557
Change-Id: I4661a6c1b54479779367f0cb273dcd4f5fe3cf34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2845404
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875204}
--
wpt-commits: f0100ca251375fc5bf241d14ceaf6dbef74432e9
wpt-pr: 28643
Automatic update from web-platform-tests
Add a lint that checks paths are unique irrespective of case
Paths that are the same excluding case don't work reliably across
operating systems and can be forbidden by vendor CI. So we should
error on these paths in the lint.
--
wpt-commits: ff952d5fb2b0879138f24c89e4b190d8a46d8d57
wpt-pr: 28396
Automatic update from web-platform-tests
[Credentialless] Add tests for service worker.
This CL add tests for service worker with COEP:cors-or-credentialless on
frames COEP:none and COPE:cors-or-credentialless and send same/cross
origin requests from the workers with no-cors mode.
Cookies from same_origin should be remained while cookies for cross_origin
request should be removed.
Bug: 1199282
Change-Id: I5043c4092c3562dbefe222b93e1e5c6a8728f259
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2827857
Commit-Queue: Yifan Luo <lyf@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#875092}
--
wpt-commits: 7b487b65fcd70f6c95d7dbfbf6a5466a2b6be646
wpt-pr: 28516