Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Session history fixup #50

Merged
merged 297 commits into from
Apr 12, 2018
Merged

Conversation

servo-wpt-sync
Copy link
Collaborator

Reviewed in servo/servo#20629.

mstensho and others added 30 commits March 26, 2018 07:10
…ize.

Edge and Firefox seem to let table flex items use the sizing algorithm
of the table extensively, and are therefore generally broken when it
comes to flexing tables. We, on the other hand, let the flex sizing
algorithm be in charge of sizing tables, so that flexing actually works.
However, this causes tables with a specified main size of less than the
minimum intrinsic logical width of the table to shrink below their
minimum intrinsic logical width, a situation that's generally unwanted
for tables.

Amend by ignoring the specified main size when resolving min-width:auto
on table items. Also ignore max-width/max-height. Just use the
preferred minimum logical width.

Bug: 821832
Change-Id: I78ca0c8e0041ea69bb606ff72d340bb3f5f9bb96
Reviewed-on: https://chromium-review.googlesource.com/964203
Reviewed-by: David Grogan <dgrogan@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545777}
block-size[1], inline-size[2], max-block-size[3],
max-inline-size[4], min-block-size[5], min-inline-size[6]
are added to support in whitelist.
and test file are also added.

[1]https://drafts.csswg.org/css-logical-1/#propdef-block-size
[2]https://drafts.csswg.org/css-logical-1/#propdef-inline-size
[3]https://drafts.csswg.org/css-logical-1/#propdef-max-block-size
[4]https://drafts.csswg.org/css-logical-1/#propdef-max-inline-size
[5]https://drafts.csswg.org/css-logical-1/#propdef-min-block-size
[6]https://drafts.csswg.org/css-logical-1/#propdef-min-inline-size

Bug: 820299
Change-Id: I97c589deea28bfedc82ec1b1686ceaf9979cb95e
Reviewed-on: https://chromium-review.googlesource.com/973561
Commit-Queue: Hwanseung Lee <hwanseung@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545802}
…e-size) of non-replaced blocks with percentage widths. See w3c/csswg-drafts#1132
…TokenList.replace.

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1444909
gecko-commit: bb405d71ba671812bddc20aaa935f1a2bbe53499
gecko-integration-branch: central
gecko-reviewers: qdot
This allows a LayoutChild to have layout performed on it, which will
return a Fragment - with the correct inline and block sizes.

These Fragments cannot be positioned yet, (next patch).

The LayoutChild will be laid out with an available inline/block size of
zero by default, and optionally can accept a fixed-inline/block size,
which it must respect.

Bug: 726125
Change-Id: Ie4386b8f6cd6ccec3f9e52ff332322101058836d
Reviewed-on: https://chromium-review.googlesource.com/962870
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545845}
Bug: 820299
Change-Id: I596113eeea7d4c13cf689364744bff7c261f93d3
Reviewed-on: https://chromium-review.googlesource.com/978247
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545896}
This CL adds some tests for PerformanceNavigationTiming
which are involved with service worker.
- SW intercepts a navigation
- SW falls back to network
- Redirect and SW intercepts a navigation

These tests check `workerStart <= fetchStart` because starting
a worker should happen before fetching a resource when service
worker is involved.

Bug: 782958
Change-Id: Idd3fa8f76a328e77ee531b81bd91ee3db223f12c
Reviewed-on: https://chromium-review.googlesource.com/979873
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545935}
We adjust the timings in WebDocumentLoaderImpl::UpdateNavigation(),
shouldn't update in each AddRedirect() (which is called in a batch
way after all the redirects are handled in the browser process with PlzNavigate,
adjusting timings there with current timestamp is totally wrong)

R=ksakamoto,arthursonzogni

Bug: 813889
Change-Id: I3a57d3fdf1833c300feb5ee61737b64cece0946b
Reviewed-on: https://chromium-review.googlesource.com/974673
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546001}
This implements the LayoutFragment.inlineOffset and
LayoutFragment.blockOffset attributes.

The tests added simply re-create the reference by setting these two
attributes in different text directions and writing modes.

Change-Id: I1865403ca12e3b174738ee93320eae5ba16ac292
Bug: 726125
Reviewed-on: https://chromium-review.googlesource.com/971832
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546018}
This reverts commit aeecb4f32ece14a8a294e4f9b80a5bb2278091c9.

Reason for revert: Causing lots of failures on webkit bots, e.g.:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty/42143

Original change's description:
> Don't adjust the NavigationTimings on redirects
>
> We adjust the timings in WebDocumentLoaderImpl::UpdateNavigation(),
> shouldn't update in each AddRedirect() (which is called in a batch
> way after all the redirects are handled in the browser process with PlzNavigate,
> adjusting timings there with current timestamp is totally wrong)
>
> R=​ksakamoto,arthursonzogni
>
> Bug: 813889
> Change-Id: I3a57d3fdf1833c300feb5ee61737b64cece0946b
> Reviewed-on: https://chromium-review.googlesource.com/974673
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546001}

TBR=kinuko@chromium.org,ksakamoto@chromium.org,arthursonzogni@chromium.org

Change-Id: I467ed888084ea0eda06faa903d1797fabffc47da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 813889
Reviewed-on: https://chromium-review.googlesource.com/981912
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546025}
Bug: 820299
Change-Id: I9e380416b18f30294fe7cb969a0ce7d0ab1fd7bd
Reviewed-on: https://chromium-review.googlesource.com/977910
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546082}
Replace 'enabledMethods' array with 'method' string.
Bug: 699244
Change-Id: Ia85a44be9d9f7b0d0db382892520f2755523f514
Reviewed-on: https://chromium-review.googlesource.com/980236
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546172}
Bug: 680046
Change-Id: Ieb341c5922ad247961ca477893037896dbd88ea6
Reviewed-on: https://chromium-review.googlesource.com/974726
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546254}
r[1], rx[2], ry[3]
are added to support in whitelist.
and test file are also added.

[1]https://svgwg.org/svg2-draft/geometry.html#R
[2]https://svgwg.org/svg2-draft/geometry.html#RX
[3]https://svgwg.org/svg2-draft/geometry.html#RY

Bug: 820299
Change-Id: I51457648ca07aaf06cf15bd28452d5ad8099d2e3
Reviewed-on: https://chromium-review.googlesource.com/981918
Commit-Queue: Hwanseung Lee <hwanseung@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546302}
Adds tests for:
- text-decoration
- text-decoration-line
- text-decoration-skip (not implemented in Blink)
- text-decoration-skip-ink
- text-decoration-width (not implemented in Blink)

text-decoration-line uses a weird internal structure for CSSValues,
so we have to encode/decode to that structure when getting/setting.
Failing tests because for some reason we ignore 'blink' for the
computed value. Blink also doesn't support 'spelling-error' and
'grammar-error' yet.

Bug: 820299
Change-Id: I60e8c3958c9b3a784177c9813a7325aa26e39581
Reviewed-on: https://chromium-review.googlesource.com/981717
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546364}
The reason for revert was the new navigation timing test expectations
(that got commited right before the original change) had a FAIL
expectation for the particular event order that this change was fixing.

Original change's description:
> Don't adjust the NavigationTimings on redirects
>
> We adjust the timings in WebDocumentLoaderImpl::UpdateNavigation(),
> shouldn't update in each AddRedirect() (which is called in a batch
> way after all the redirects are handled in the browser process with PlzNavigate,
> adjusting timings there with current timestamp is totally wrong)
>
> R=​ksakamoto,arthursonzogni
>
> Bug: 813889
> Change-Id: I3a57d3fdf1833c300feb5ee61737b64cece0946b
> Reviewed-on: https://chromium-review.googlesource.com/974673
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546001}

Bug: 813889
Change-Id: I6f5c0ba1196fa1dd52225036820b29a95569ac21
Reviewed-on: https://chromium-review.googlesource.com/981913
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546365}
x[1], y[2], cx[3], cy[4]
are added to support in whitelist.
and test file are also added.

[1]https://svgwg.org/svg2-draft/geometry.html#X
[2]https://svgwg.org/svg2-draft/geometry.html#Y
[3]https://svgwg.org/svg2-draft/geometry.html#CX
[4]https://svgwg.org/svg2-draft/geometry.html#CY

Bug: 820299
Change-Id: I46ced4427a5e7b2e08aa132fc0b8c5d2e1f19d22
Reviewed-on: https://chromium-review.googlesource.com/983077
Commit-Queue: Hwanseung Lee <hwanseung@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546426}
…dy element (web-platform-tests#10169)

Based on event-handler-attributes-body-window.html.
…ateStyle phase

For the purpose of rendering, Blink must calculate all pending slot assignments
before UpdateStyle phase. Unless that, a recursive RecalcStyle() may not
traverse a node which should be re-attached.

e.g. Suppose the following tree, where #d1 is assigned to a slot.

host
├──/shadow-root
│   └── slot name=s1
└── div id=d1 slot=s1

Then, we change #d1's slot attribute to s2, like:

> document.querySelector('#d1').setAttribute('slot', 's2');

host
├──/shadow-root
│   └── slot name=s1
└── div id=d1 slot=s2

In this case, #d1 should be removed from a LayoutTree. In other words, Blink
has to reattach #d1 somehow. However, if we don't recalc a slot assignment for
the shadow tree before UpdateStyle, a recursive RecalcStyle never traverses the
sub-tree because child-needs-style-recalc flag is not set for the node (and its
ancestor nodes). A flag should be set as a result of slot assignment recalc.

Thanks to the Incremental Shadow DOM, a slot assignemt recalc now becomes a
local operatoin on each shadow tree, rather than one global operation for every
shadow trees. We don't need to traverse a composed tree to recalc all. We can
recalc a slot assignment for each shadow tree directly, without traversing a
composed tree.

For a shadow tree which is not connected, we don't need to recalc its slot
assignment before UpdateStyle because such a shadow tree shouldn't have any
effect on rendering. Lazy slot assignment recalc is enough for such a shadow
tree.

This CL doesn't introduce any optimization to minimize the number of
to-be-reattached nodes. I'll optimize that as a next task. I'll use a sort of
dynamic programming there, as I did at
https://chromium-review.googlesource.com/c/chromium/src/+/535493 for
non-Incremental Shadow DOM.

Except for the performance, this CL should be the last part of Incremental
Shadow DOM from the external behavior's perspective. Style and Layout should
work correctly after this CL, even with Incremental Shadow DOM.

BUG=776656

Change-Id: Id18e87ff59d92863c68c571e7db09253c08aa91f
Reviewed-on: https://chromium-review.googlesource.com/964062
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546458}
Currently we're just adding a TODO when we want to test a list-valued
property. It's probably easier if we stub that test function and then
implement it later.

Bug: 774887
Change-Id: Iab3cea915afbcc8490cacbd45e5632a18e7dece1
Reviewed-on: https://chromium-review.googlesource.com/981956
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546067}
joanmarie and others added 18 commits April 11, 2018 12:42
* Add missing "hidden" style from several tests
* Fix expectations for several tests with presentation role used on img
* Fix bogus expectations on name and description calculations with combobox
* Fix incorrect whitespace in expectations for name from content with spans
* Add test for which coverage was missing
Config objects are shared between processes and so must be
pickleable. Loggers contain locks and so are not. Instead of storing
the logger on the config directly, store the logger name and level and
get the logger from the logging module each time.
I don't recall ever finding a real issue with these tests, but they
are flaky and take up valuable machine time in CI.
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1453084
gecko-commit: 097b57bbeb46b0f3abc2b6fcec1c41a42d87f5da
gecko-integration-branch: central
gecko-reviewers: whimboo
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1453084
gecko-commit: bdb78cb3d6d3cd0a5ebc31ee91a3c2590f54bb17
gecko-integration-branch: central
gecko-reviewers: whimboo
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1452113
gecko-commit: ea3453cc7d92df2539adeb45f390b9dfece2c4e6
gecko-integration-branch: central
gecko-reviewers: jgraham
…ts#8993)

* Add tests for liveness of NodeLists/HTMLCollections

 - Node#childNodes
 - ParentNode#children
 - {Document,Element}#getElementsByTagName
 - {Document,Element}#getElementsByTagNameNS
 - {Document,Element}#getElementsByClassName
 - Document#images
 - Document#embeds
 - Document#plugins
 - Document#links
 - Document#forms
 - Document#scripts
 - Document#getElementsByName

* Move liveness tests to each of API test files

* Fixed a nit issue

* Modify the test description
To support column-count which takes <integer>s, we had implement integer
handling as resolved by:
w3c/css-houdini-drafts#574 (comment)

Basically, a non-integer passed to <integer> is 'out of range', so we
wrap it in a calc(). Coincidentally, column-count also needs to be
positive, so we had to change ComputedStyle::SetColumnCount to clamp.
Note that this doesn't change CSSOM behaviour, as the parser
would've rejected non-positive values so ComputedStyle only gets
positive values. Since Typed OM skips parsing, we have to clamp in
ComputedStyle as well.

Bug: 820299
Change-Id: Ia56e4bdb55826e72d46c66666addda168dea3d2a
Reviewed-on: https://chromium-review.googlesource.com/1001084
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550058}
…broken-chunked-encoding.https.html

Before this CL, the test expected that preloadResponse is
rejected when decoding a chunked body is failed. However preloadResponse
is supposed to be resolved once the headers are arrived. It should be
resolved instead of rejected. Update the test to expect that
preloadResponse is resolved even for broken chunked body.

With S13nSW enabled, this test will start passing but it wouldn't
pass w/o S13nSW.

This CL also adds a test case where broken chunked body is transfered
with delays.

Bug: 830472
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ibc2909dfc4537f209417a13cff63898ad39229a7
Reviewed-on: https://chromium-review.googlesource.com/1004562
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550061}
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1339656
gecko-commit: 91ae8e15b175edc6e6e74b99f68fc155438b20ef
gecko-integration-branch: central
gecko-reviewers: mats
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1339656
gecko-commit: 4ac4932953254018e6fbd110ab8ab5ca76885069
gecko-integration-branch: central
gecko-reviewers: mats
…on a CLOSED TREE

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1339656
gecko-commit: e90ac14a383f2a3ae97358d68dfcfc47f68e60c2
gecko-integration-branch: central
gecko-reviewers: me
There are probably larger changes that need to happen to ensure that
the custom-layout and multicol play nicely together, but this removes
a DCHECK crash for now.

Bug: 823074
Change-Id: I98f4a34bd0c35e8cd3d23501ca64f38b96be9e7d
Reviewed-on: https://chromium-review.googlesource.com/990780
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550148}
…cuments.

Change-Id: I1e66f2cdc50be889b697b54401be6352607fa649
Reviewed-on: https://chromium-review.googlesource.com/1006528
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550152}
And add a README with some basic instructions for newcomers.
…ds-borders-parsing

CSS Backgrounds and Borders 3 parsing tests
Notify history changed after a navigation

Add history drop test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment