The problem is that the test creates and registers many providers but never
unregisters them. Usually that's not a problem since test providers have random
names and test query contexts are created with the `providers` option. But
sometimes two different providers end up with the same name because
`Math.random() * 100000` ends up being the same. Therefore a context can end up
with two (duplicate) providers when there should be only one, which means
`context.results` ends up with two copies of each result.
This patch makes several changes:
* test_resultBuckets.js now unregisters providers.
* Stop using `Math.random()` as the basis for making random test provider
names. Instead, use UUIDs.
* Add a `registerCleanupFunction` in head.js for unregistering test providers
(even though that wouldn't have fixed this bug).
* Make `registerBasicTestProvider` return the provider instead of its name so
that the provider can be passed to
`UrlbarProvidersManager.unregisterProvider()`.
Differential Revision: https://phabricator.services.mozilla.com/D104929
This patch adds the capability to add the necessary attributes to the
document to the thin Fluent wrapper that devtools panels use. Then it
should be easy to reuse by other panels.
Differential Revision: https://phabricator.services.mozilla.com/D103050
Actually, there's not so much we can improve right now, in the sense
that:
* We need the ::-moz-page-content pseudo-element to be able to set
`display` on the page, since that's a style rule rather than a @page
rule. We could get away without it.
* Keeping the current code-path (slightly cleaned up) is less code, for
now at least. We can have a separate code-path or what not that
actually performs the @page rule selector-matching and what not if
needed when we get to named pages or other page selectors. Selectors
like :first should be pretty trivial to implement, actually.
We make some paged mode anon boxes non-inheriting anon boxes. This
allows us to share the styles and is generally nicer. They don't need to
inherit from anywhere.
We could remove the origin handling and don't look at UA rules or what
not, but it seems pretty harmless to do that.
We also fix the name of the pseudo-elements to match the capitalization.
Differential Revision: https://phabricator.services.mozilla.com/D104772
Because of conflicts between gcov_flush from gcc and the one from llvm, we renamed llvm one into ___custom_llvm_gcov_flush.
Since we switched to clang for linux ccov builds, this workaround is now useless.
Differential Revision: https://phabricator.services.mozilla.com/D104990
This patch removes from RenderTaskKind members that are independent from what the render task is drawing. The uv rect set automatically either to Some(handle) if the render task is not cached or to None if it is cached. This reflects what was happening implicitly before this patch. The uv rect kind defaults to Rect which is the most common case, but can be set when creating the render task.
This is a first step toward more flexibility when deciding whether a render task is cached or not (there is stil some coupling in the batching code between the type of primitive and whether their render tasks are cached).
More importantly, not having to understand what is up with presence or absence of uv handles in render tasks makes adding new ones much easier.
Differential Revision: https://phabricator.services.mozilla.com/D104840
Transform the cycle-button UI into two distinct button,
one for toggling light mode, and the other to toggle dark mode.
Specific tooltip are displayed on each button, and clicking
on one while the other is enabled will disable the active button.
The existing test is adapted to this new UI.
Differential Revision: https://phabricator.services.mozilla.com/D104981
Cross-group navigations cause a swap of the current top-level
browsing context. The only unique identifier is the browser id
the browsing context actually lives in. If it's equal also
treat the browsing context as the same.
Differential Revision: https://phabricator.services.mozilla.com/D104525
Automatic update from web-platform-tests
Revert "[TablesNG] Implement column track merging"
This reverts commit 2dadda0cccbda46a2fffe23e8c607e88f4d45394.
Reason for revert: Suspected cause of paint/tables/huge-table-composited-scroll-collapsed-borders.html failures
https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20ASAN/22054
Original change's description:
> [TablesNG] Implement column track merging
>
> One the a11y requirements was that tables should do track merging.
> I've skipped implementing this initially because there was major
> disagreement about what to do.
>
> This implementation follows the standard.
> Columns defined by TD or COL are merged for table-layout:auto,
> and not merged for table-layout:fixed.
>
> Legacy did not follow the standard for columns defined by TDs:
> they were always merged. Firefox implementation was closer to
> standard, but sometimes buggy.
>
> This changes results of some tests. Almost all of them are because
> "TablesNG is more standards compliant", and new renderings match
> FF.
>
> There is disagreement about treatment of empty rows between
> FF and TablesNGNG.
>
> external/wpt/css/css-tables/html5-table-formatting-1.html
> external/wpt/css/css-tables/html5-table-formatting-2.html
>
> The rest of the changes render better, just like FF.
>
> Two new tests have been added:
> wpt/css/css-tables/column-track-merging.html
> tests the standard.
>
> accessibility/table-column-track-merging.html
> tests Chrome's a11y API.
>
> Change-Id: Ia222351f7c500963ace556d76c26fcefb1df24e1
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2670193
> Commit-Queue: Aleks Totic <atotic@chromium.org>
> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
> Reviewed-by: David Grogan <dgrogan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#852958}
TBR=dgrogan@chromium.org,ikilpatrick@chromium.org,atotic@chromium.org,chromium-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: Id914684949be4eb6196a850bb1168d25872346ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2690334
Reviewed-by: Thiemo Nagel <tnagel@chromium.org>
Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#853075}
--
wpt-commits: 496c290543d0572ec532b092a3b2e7fe03381293
wpt-pr: 27590
Automatic update from web-platform-tests
Include print reftests in the `./wpt tests-affected` logic
--
wpt-commits: 35c43e0c51326c7f60a2623362720b46783675c0
wpt-pr: 27582
Automatic update from web-platform-tests
Check MIME type against asserted module type in ModuleScriptFetcher
Add module type to the module map key.
Plumb module type into ModuleScriptFetcher and its subclasses, and
require that the MIME type match the type that was specified with
import assertions.
Add the necessary import assertions to the JSON/CSS module web tests
so that they continue passing. Add tests to ensure that the modules
don't load when the correct assertion is not present.
A minor functional change to JSON modules is that trying to start a
a Worker with a top-level JSON module (e.g. new Worker("./foo.json"))
now results in a rejected Promise, instead of loading a no-op worker
without an error. This change follows the spec change at
https://github.com/whatwg/html/pull/5658/; note that the invocation
of 'fetch a single module script' from 'fetch a worklet/module worker
script graph' doesn't pass a ModuleRequest, so the type is assumed to
be JavaScript, and a failure will be triggered if the MIME type is
not JavaScript.
Some of the non-virtual versions of the tests now time out because
the import assertion syntax is seen as a syntax error when
--harmony-import-assertions is not enabled, causing <script>s not to
run. TestExpectations is updated to account for these.
Bug: 1132413
Change-Id: I01bf7d907a96e791208534c9c4f2af11434c76db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2674259
Commit-Queue: Dan Clark <daniec@microsoft.com>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852991}
--
wpt-commits: 2c6f296858c62d4628bf58d2db4af687edbf674e
wpt-pr: 27497
Automatic update from web-platform-tests
webcodecs: Audio encoding and decoding full cycle test
Plus minor improvement in debugging logs.
Bug: 1094182, 1177021
Change-Id: I8f0b6991b645cf1262fdd135478a9a73d7cd5b39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2688624
Commit-Queue: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852980}
--
wpt-commits: 5b24cbf8560bc359a96872c2df2f902559b9b189
wpt-pr: 27583
Automatic update from web-platform-tests
[TablesNG] Implement column track merging
One the a11y requirements was that tables should do track merging.
I've skipped implementing this initially because there was major
disagreement about what to do.
This implementation follows the standard.
Columns defined by TD or COL are merged for table-layout:auto,
and not merged for table-layout:fixed.
Legacy did not follow the standard for columns defined by TDs:
they were always merged. Firefox implementation was closer to
standard, but sometimes buggy.
This changes results of some tests. Almost all of them are because
"TablesNG is more standards compliant", and new renderings match
FF.
There is disagreement about treatment of empty rows between
FF and TablesNGNG.
external/wpt/css/css-tables/html5-table-formatting-1.html
external/wpt/css/css-tables/html5-table-formatting-2.html
The rest of the changes render better, just like FF.
Two new tests have been added:
wpt/css/css-tables/column-track-merging.html
tests the standard.
accessibility/table-column-track-merging.html
tests Chrome's a11y API.
Change-Id: Ia222351f7c500963ace556d76c26fcefb1df24e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2670193
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852958}
--
wpt-commits: 6902c0348cafb66a237b5ce75d9b3038bd3f3f87
wpt-pr: 27451
Automatic update from web-platform-tests
Add error message for keyDown and keyUp actions in testdriver-vendor.js
There are some actions that testdriver Action function supports when
the tests are running on wpt serve, but not when running on content
shell, such as keyDown and keyUp.
I add an error messages to resources/testdriver-vendor.js to
inform people to not use keyDown and keyUp actions in web tests.
Bug: 1174386
Change-Id: Ia723383fac948a1611d54aff7b9dd6f7e187d009
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2673923
Commit-Queue: Lan Wei <lanwei@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852929}
--
wpt-commits: 634384fb5674ec7185ce491911f06dc766db80c0
wpt-pr: 27498
Automatic update from web-platform-tests
webrtc wpt: do not use assert in helper function
this spams the testharness log of assertions a test runs
BUG=None
Change-Id: Ib14a7d45f3e18723a667ac292ecb3bdfd2e64ce3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2649933
Reviewed-by: Henrik Boström <hbos@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#852848}
--
wpt-commits: 7ac29511f2edf0203af1911013017f2c6598f035
wpt-pr: 27336
Automatic update from web-platform-tests
Implement the beginnings of "light dismiss" behavior for <popup>
With this CL, clicking outside a popup will dismiss that popup,
along with all others in the popup stack. Clicking within a
popup will preserve that popup in the visible state, but will
hide any popups above that popup in the stack.
Bug: 1168738
Change-Id: Ibb8fc90ba19929a04d746fbf092001f546fb1e75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2683092
Auto-Submit: Mason Freed <masonfreed@chromium.org>
Reviewed-by: Ionel Popescu <iopopesc@microsoft.com>
Commit-Queue: Mason Freed <masonfreed@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852844}
--
wpt-commits: 11b221b929db4793bc273cfdf96e85c7ef277a5a
wpt-pr: 27572
Automatic update from web-platform-tests
Implement CSSOM CSSCounterStyleRule API setters (p1)
This patch implements the framework for CSSCounterStyleRule setters
and invalidations:
1. If the value is valid, setter modifies the underlying
StyleRuleCounterStyle, increments its version number and mark counter
styles need update
2. During counter style update, CounterStyles are marked dirty if its
underlying StyleRuleCounterStyle has been changed (detected by
version checking).
Then we use to the existing dirtiness-marking and invalidation code path
for the remaining job.
This patch also implements setters for the following attributes:
- negative
- prefix
- suffix
- pad
- range
- fallback
- speakAs
Other attributes require are more complicated and will be implemented
in follow-up patches.
Bug: 687225
Change-Id: Ic9ceacf19da1c3739f98c80dde07814784258649
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2686322
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852835}
--
wpt-commits: 4edc28a24eebd5308176cd875cdb4ac1ee467f8e
wpt-pr: 27560
Automatic update from web-platform-tests
Fix the Pointerevents IDL WPT test
Right now, the pointerevents IDL WPT test has errors of calling
"setPointerCapture", "releasePointerCapture" and "hasPointerCapture"
functions on document, because these three functions are defined in
"Element", and "Document" is not a subclass of "Element". That is why we
see the errors, such as "FAIL Element interface: document must inherit
property "setPointerCapture(long)" with the proper type assert_inherits:
property "setPointerCapture" not found in prototype chain".
I fixed it by changing the "document" to "document.body", which is an
element.
Bug: 1163370
Change-Id: I2435466e76fee05235d135e6181a566c898a5855
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2685361
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852833}
--
wpt-commits: d0f2ce4b18d7a07fe9771605a293fdbb7a5200f8
wpt-pr: 27577
Automatic update from web-platform-tests
Add WPTs and minor impl fixes for xr light estimation
Adds WPTs around expected behavior for the WebXR Light Estimation spec.
Also corrects a few cases where getReflectionCubeMap should have thrown
an exception but did not currently.
Change-Id: I3e3393c3911a83bdfc91463cf614e04a31dba009
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2685615
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852756}
--
wpt-commits: 43ead8133543f5d38c0f7aae65770bc1d2e8bad7
wpt-pr: 27557
Automatic update from web-platform-tests
Treat huge 'repeatCount' values as invalid
String::ToDouble() can return infinity. This value could either be
treated the same as the 'indefinite' keyword or as invalid. Gecko
appears do the latter so follow suit.
Bug: 1176608
Change-Id: Ia945404711f7580bcbabded076904205e00b2564
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2685176
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#852720}
--
wpt-commits: 89400e4064b5f59e22f0fc63b3b6f7994f946c66
wpt-pr: 27573
Automatic update from web-platform-tests
SVG parsing allows calc() for <number>
The SVG spec says[1] to allow <number> when parsing values for
presentation attributes to allow unitless lengths for things like
font-size in the attribute.
The CSS specification says calc() with numbers is allowed wherever
<number> is allowed. Blink is the only browser to allow calc()
expressions for <number>. It is possible we should change that, but as
long as we accept it at parse time, we should handle it when applying it
to the ComputedStyle.
This CL computes font-size lengths for calc() expressions with numbers.
[1] https://svgwg.org/svg2-draft/types.html#syntax
Bug: 1172750
Change-Id: Ic20645d96b898c359d55eadfe902af0ac37a1dfa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2685172
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852650}
--
wpt-commits: ef69b81f39829fbb1acec84b17b99640b05fd8e7
wpt-pr: 27569
Automatic update from web-platform-tests
Make responsexml-document-properties.htm timezone correct
The web platform test responsexml-document-properties.htm was flaky,
apparently due to incorrect handling of timezones. Make the timezone
handling robust to fix the flakiness.
BUG=1144537
Change-Id: Ib338d7b9e87415a4900963782fde218b0d3ec6b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2684076
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852607}
--
wpt-commits: 4cf1a9640f6c87c31b21c115d8e4fce2cfffa427
wpt-pr: 27561