This help modifying redux state only once and prevent many uncesarry copies of the whole messages/network events Maps.
This will also later help getting rid of WebConsoleWrapper throttling in favor of upcoming ResourceWatcher one,
as we could call only one action from onResourceAvailable/Updated.
Differential Revision: https://phabricator.services.mozilla.com/D90367
`name` is non-nullptr if and only if the non-resolve hook fast-path was taken.
That means we can change `if (!name)` to use a simple `else` statement.
Differential Revision: https://phabricator.services.mozilla.com/D90965
Automatic update from web-platform-tests
FontAccess: Sticky User Activation is required to enumerate
This change adds the requirement for sticky user activation for the
enumeration API to return a result. This will require sites to wait for
a user activation on session-restore or whatever causes the page to load
without user activation before accessing the API.
Also, the enumeration API now consumes the transient activation.
Bug: 1043306
Change-Id: I77e18795eaa22cc801145243b276c6fd29308d8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2414920
Commit-Queue: Olivier Yiptong <oyiptong@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Martin Barbella <mbarbella@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809194}
--
wpt-commits: 17020c8dceff1b0e999453a14fa8b390ee947445
wpt-pr: 25587
Automatic update from web-platform-tests
Pass iframe element color-scheme to contentDocument.
The CSS Color Adjustment specification[1] says we should paint an opaque
canvas background for an iframe if the used color-scheme for the iframe
element and the root element of the iframe document do not match.
This CL propagates the used color-scheme from the embedding document as
part of the FrameOwnerProperties mojo API. The embedder and the frame
may live in different processes due to OOPIF.
[1] https://drafts.csswg.org/css-color-adjust-1/#color-scheme-effect
Bug: 1058822
Change-Id: I4db82b774a616b528ab14898755153c624b63adf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2410223
Reviewed-by: Stefan Zager <szager@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809145}
--
wpt-commits: 58c3d744e600849b2e2aca14a7c4eda9cd0c5175
wpt-pr: 25654
Automatic update from web-platform-tests
Use nullopt when the non-hangable-run-end is not applicable
The new trailing space logic refactoring, landed in r806928 and relanded
again in 807457, assigned the current offset as the non-hangable-run-end
when this is not applicable.
The root cause of this issue is that this offset must not exceed the
item s range-end, so that we clamp it to this range-end value. However,
since in some cases we use the original offset as the the
non-hangable-run-end, we may lead to a situation where the offset used
exceed the item's range end. This is precisely the DCHECK violation
described in the issue 1130288.
Since r808007 we have decided to use optional values for the
non-hangable-run-end, but we didn't update the implementation of the
PreviousBreakOpportunities and NextBreakOpportunities functions
accordingly.
Bug: 1130288
Change-Id: If5e5fb380320ca54f7a6d17d1c2bd020a643e12e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421728
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#809016}
--
wpt-commits: 9c03638de8e68cd76da1adfa58c79cdc60a7e551
wpt-pr: 25648
Automatic update from web-platform-tests
[COOP] Access reporting with 2 reporters.
A regression has been introduced by [1]:
```
[COOP] access reporting: Clear old CoopAccessMonitor.
https://chromium-review.googlesource.com/c/chromium/src/+/2408752
```
Instead of accumulating the CoopAccessMonitor for the same pair of
(accessing, accessed) window, it limited it to one and kept only the
most recent one.
This is an issue, because both the accessing and the accessed window
might have a reporter defined. We must keep both for supporting sending
reports toward both.
This patch adds regressions tests.
Bug: 1090273
Change-Id: I2a3aa7f26458db820d3383245c60c5f3f917acd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2414308
Reviewed-by: Camille Lamy <clamy@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808323}
--
wpt-commits: 9d8250c9da13564b98a7d13a6ec5ca48bd11ec30
wpt-pr: 25596
Automatic update from web-platform-tests
sensors: Only call test_driver.set_permission from the top-level window.
testdriver.js' documentation says "presently, testdriver.js only works
in the top-level test browsing context (and not therefore in any frame
or window opened from it".
If we do not restrict the set_permission() call here, the call to
initialize_generic_sensor_tests() in
generic-sensor/resources/iframe_sensor_handler.html will time out
waiting for it to complete when running the iframe tests outside the
Chromium CI (i.e. in wpt.fyi or with "wpt run").
Change-Id: I522a5ebacb7da9e35bbe2ea3564d3288a34c653b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421671
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Robert Ma <robertma@chromium.org>
Commit-Queue: Robert Ma <robertma@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#808874}
--
wpt-commits: 06a9829a0f254cdbead7a70da126cbf22321e9f2
wpt-pr: 25649
Automatic update from web-platform-tests
sensors: Cleanup iframe-related tests. (#25626)
Even after r807421 those tests are presenting some occasional flakiness in
the form of timeouts and, in a few cases, crashes in other parts of the
stack.
Clean up the code a little bit to make the code easier to follow and perhaps
reduce the chance of timeouts:
* send_message_to_frame() does not need to be an async function.
* Use t.add_cleanup() to a few tests to make sure any iframe we add is
properly removed even if an error occurs.
* Remove all calls to the assert_*() functions from both the code path used
by initialize_generic_sensor_tests() as well as generic_sensor_mocks.js,
so that we no longer need to include testharness.js in the iframe handler
page.
* Make the onmessage handler in the iframe page also send a reply when
errors occur.
Bug: 1073865
Change-Id: Id6f682c95212d7ad9662f8aadad31c866752b0af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2418333
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808497}
Co-authored-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
--
wpt-commits: 9fa293bbec827824fade93b67cce005d211e54dd
wpt-pr: 25626
Automatic update from web-platform-tests
[VideoStreamEncoder] Add a WPT that reproduces a VSE crash.
When we are encoding the same MediaStreamTrack multiple times there is
a race that causes VideoStreamEncoder to crash. To aid debugging, this
CL adds WPT test coverage for it.
Bug: webrtc:11485
Change-Id: I0cb2b1b1528521755c18d5c6117b60fc053480dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2418376
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808796}
--
wpt-commits: 7445e5a1333218b9f7a193d1b2d7c7e5f4419402
wpt-pr: 25624
Automatic update from web-platform-tests
Upload tests for font metrics override descriptors to WPT
Following the standardization of @font-face descriptors ascent-override,
descent-override and line-gap-override, this patch uploads the existing
test cases to WPT as test coverage.
This resolves the "Need Testcase (WPT)" label in
https://github.com/w3c/csswg-drafts/issues/4792
Bug: 1098355
Change-Id: Iffadff1fb159e52ca5a0675259381401fbe90c99
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419585
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808665}
--
wpt-commits: fba18cc5e2fb20eb8059b3d26009f4921e61a84b
wpt-pr: 25638
Automatic update from web-platform-tests
Move tests from fast/canvas-api to wpt tests
Moved 5 more tests from fast/canvas-api to wpt tests: Deleted 1 due to
duplications, arc-crash.html, created 4 new tests.
Bug: 1071659
Change-Id: Ie6f0b3b5854533f81dd8a576ff7e03ae3692b53a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2405314
Commit-Queue: Yi Xu <yiyix@chromium.org>
Reviewed-by: Aaron Krajeski <aaronhk@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808660}
--
wpt-commits: 54c24fae1f7f9f63f96e923a4dd1c6112158e413
wpt-pr: 25612
Automatic update from web-platform-tests
Fix clear-window-name.https.html fail message
This test produced different output every time it failed since a
randomly generated string was being passed to assert_equals. This patch
does the same check but prevents the generated string from getting into
the error message so we can include it in our failing test expectations.
Fixed: 1129420
Change-Id: I5cffb6c3dfbe7bb551a626780273291d732f6e1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2416727
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonfreed@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808576}
--
wpt-commits: 5a5410b369b69e783fbb526eb997cd70c90ded8e
wpt-pr: 25608
Automatic update from web-platform-tests
[LayoutNG] Fix ScrollableOverflowForPropagation()
NGPhysicalFragment::ScrollableOverflowForPropagation()
had an important different compared
to LayoutBox::LayoutOverflowRectForPropagation()
as it was not including the border box when computing
the overflow for propagation.
This was causing issues in some cases calculating the overflow
of replaced elements in LayoutNG, legacy was working fine.
This patch changes AdjustScrollableOverflowForPropagation()
to also include the element's border box.
Note that we cannot do this for ruby boxes
as they have some special behavior
(see crbug.com/1082087 and r784709 for details).
We need new rebaselines for the following test
fast/replaced/border-radius-clip.html
This is because when you scroll down you can see
the border of the embed object (which was hidden before).
BUG=1128984
TEST=css/css-overflow/overflow-replaced-element-001.html
Change-Id: I038ccb46db7e00a922e33a387cf10e3c805b81c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2414313
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Manuel Rego <rego@igalia.com>
Cr-Commit-Position: refs/heads/master@{#808518}
--
wpt-commits: 73cc37d43d968acd4abc4a3b24181c841563d11a
wpt-pr: 25593
Automatic update from web-platform-tests
Reland "[webdriver] Close old windows at the end of each test as well as beginning" (#25567)
This is a reland of #24879 (which was reverted in #25544). It updates the code
to only close the windows if the user hasn't asked us to pause after a test has run.
From the original PR:
----
Previously, we closed old windows at the start of each test. This was nice in terms
of defensiveness (don't assume the last run left the world in a good state), but made
it hard to find problematic tests that left dialogs open (since they wouldn't throw until
the next test).
Instead, this patch does both - close both at the start and end of a test. This should
improve the blaming situation, whilst still being defensive.
There are potential performance implications to this patch, however test runs are
inconclusive. Full runs of Chrome and Safari show +- 2%, which is possibly within
margin of error. Running locally, some directories showed a ~2% slowdown, whilst
others had little or no difference.
--
wpt-commits: ed3c2cd80ae2766813412695306c31716f3c82a7
wpt-pr: 25567
Automatic update from web-platform-tests
Reland: "[layout] Ensure fragment tree consistency."
Original change description:
> This patch ensures that we always have a "consistent" fragment-tree (or
> rather a portion of a fragment-tree if we have legacy nodes).
> Previously it was possible for a fragment-tree to become inconsistent
> whenever we performed layout from a subtree root. Now when we layout
> from a node like this, we rebuild the "spine" of the tree.
> After this change we'll be able to remove most "PostLayout" calls,
> except where they are used for building this "consistent" tree.
The first change had two issues.
1) Cloning a part of the fragment tree which had its layout-objects
removed from the tree. The fix for this specific issue is to stop
re-building the spine of the tree when we encounter an object which
needs layout.
2) AbstractInlineTextBox holding a stale pointer to an NGFragmentItem.
The fix for this specific issue is to call:
DetachAbstractInlineTextBoxesIfNeeded on any NGFragmentItem(s) which
have an associated LayoutText.
Bug: 1066616
Change-Id: Iade8d4c2e7ae9129863d3b295271da944ffec81e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2418978
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808453}
--
wpt-commits: 6140eb48e119a49c77ac3f0031f1b8daebdcff7b
wpt-pr: 25631
Automatic update from web-platform-tests
Add foreignObject tests from a few bugs
* fO with composited descendant under other fO.
* gBCR on fO and fO descendant.
Bug: 738022, 848693, 976224, 1066421, 1111779
Change-Id: I0ea5e23ec4466fc206acdc60e04ae8582c587bdc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419011
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Auto-Submit: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808421}
--
wpt-commits: 0b61deeae98ddf22e96614248f18e150d03fa681
wpt-pr: 25630
Automatic update from web-platform-tests
Fix expected initial AudioContext state in audiocontext-suspend-resume.html (#25628)
As per specification, the initial state of an AudioContext right after constructing it should be
'suspended', not running. The state should only be set to 'running' asynchronously, if the user
agent allowed it.
Co-authored-by: Chris Dumez <cdumez@apple.com>
--
wpt-commits: 175a1086e0061c75d16c5d7e1acb01c85e5e8935
wpt-pr: 25628
Automatic update from web-platform-tests
Treat NG objects inside legacy fragmentation as monolithic.
And vice versa: Treat legacy objects as monolithic inside NG block
fragmentation.
The two block fragmentation implementations (NG and legacy) cannot
cooperate, so once we switch engine somewhere inside a fragmentation
context, we need to treat that subtree as monolithic.
This requires us to specify which fragmentation engine is being in use
when calling GetPaginationBreakability(), at least when possible at all.
This required some work in LayoutFlowThread and
LayoutMultiColumnFlowThread.
Bug: 1127112
Change-Id: I8e0c4d17fd8985c488614e01db23a0c63e899679
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2416069
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Frédéric Wang <fwang@igalia.com>
Cr-Commit-Position: refs/heads/master@{#808334}
--
wpt-commits: 7ff702657b4f55c2b84db189eb8fed8d3cc36797
wpt-pr: 25598