diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index b9c4d3930d6..5c8232ddebd 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -669,6 +669,18 @@ impl IOCompositor { flags, sender, )) => { + // When a display list is sent to WebRender, it starts scene building in a + // separate thread and then that display list is available for hit testing. + // Without flushing scene building, any hit test we do might be done against + // a previous scene, if the last one we sent hasn't finished building. + // + // TODO(mrobinson): Flushing all scene building is a big hammer here, because + // we might only be interested in a single pipeline. The only other option + // would be to listen to the TransactionNotifier for previous per-pipeline + // transactions, but that isn't easily compatible with the event loop wakeup + // mechanism from libserver. + self.webrender_api.flush_scene_builder(); + let result = self.hit_test_at_point_with_flags_and_pipeline(point, flags, pipeline); let _ = sender.send(result); }, diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index 665ec4646cb..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 13bd6abf376..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini deleted file mode 100644 index 147f062e548..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini deleted file mode 100644 index b4eea326212..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[block-in-inline-hittest-001.html] - [block-in-inline-hittest-001] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini index ee34bc91078..51432362d66 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini @@ -1,6 +1,3 @@ [block-in-inline-hittest-002.html] [elementsFromPoint] expected: FAIL - - [elementFromPoint] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html.ini index f9e216a8cfc..cdd8b55f192 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html.ini @@ -1,6 +1,3 @@ [block-in-inline-hittest-relpos-zindex.html] [position: relative; z-index: -1;] expected: FAIL - - [block-in-inline-hittest-relpos-zindex] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini deleted file mode 100644 index 7c07b71d77c..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-anonymous-block.html] - [Hit test beside line of text inside anonymous block] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini deleted file mode 100644 index f18b8d2fcf9..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[CaretPosition-001.html] - [Element at (400, 100)] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index 72b09371038..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-002.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-002.html.ini deleted file mode 100644 index 1bbe9728aee..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-002.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-002.html] - [Checking whether dynamic changes to visibility interact correctly with\n table anonymous boxes] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-003.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-003.html.ini deleted file mode 100644 index 5cf714570e5..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-003.html] - [Checking whether dynamic changes to visibility interact correctly with\n table anonymous boxes] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini deleted file mode 100644 index cf67b5d03dd..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-dynamic-anon-box.html] - [Link should be clickable after hiding a scrollbox with an anonymous table inside] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini deleted file mode 100644 index a6bca7ac372..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-visibility-hidden-resizer.html] - [elementFromPoint on resizer area of an element with visibility:hidden] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini index 3ddd598f5c4..8e5101c386c 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini @@ -13,9 +13,3 @@ [test some point of the element: bottom right corner] expected: FAIL - - [test the top of layer] - expected: FAIL - - [test some point of the element: top left corner] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-inline-htb-ltr.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-inline-htb-ltr.html.ini deleted file mode 100644 index f1cbd4b053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-inline-htb-ltr.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementsFromPoint-inline-htb-ltr.html] - [elementsFromPoint should return all elements under a point] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini new file mode 100644 index 00000000000..977ef8f774c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini @@ -0,0 +1,3 @@ +[scroll-behavior-smooth-navigation.html] + [Instant scrolling while doing history navigation.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini index 57edf818a25..99173dec8cf 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini @@ -5,9 +5,6 @@ [clientWidth/clientHeight on the HTML body element in quirks mode] expected: FAIL - [scrollBy() on the root element in non-quirks mode] - expected: FAIL - [scrollLeft/scrollRight of the content in quirks mode] expected: FAIL @@ -26,12 +23,6 @@ [scrollLeft/scrollRight of the content in non-quirks mode] expected: FAIL - [scroll() on the root element in non-quirks mode] - expected: FAIL - - [scrollLeft/scrollTop on the root element in non-quirks mode] - expected: FAIL - [scrollWidth/scrollHeight on the HTML body element in quirks mode] expected: FAIL @@ -43,12 +34,3 @@ [scrollLeft/scrollTop on the HTML body element in non-quirks mode] expected: FAIL - - [scroll() on the HTML body element in quirks mode] - expected: FAIL - - [scrollBy() on the HTML body element in quirks mode] - expected: FAIL - - [scrollLeft/scrollTop on the HTML body element in quirks mode] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini deleted file mode 100644 index 0842d0b5727..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-001.html] - [hit-test-floats-001] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index 665ec4646cb..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini deleted file mode 100644 index 585f7f61434..00000000000 --- a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[block-in-inline-hittest-float-001.html] - [block-in-inline-hittest-float-001] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini deleted file mode 100644 index cf67b5d03dd..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-dynamic-anon-box.html] - [Link should be clickable after hiding a scrollbox with an anonymous table inside] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini deleted file mode 100644 index b905fe70fcb..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-ellipsis-in-inline-box.html] - [elementFromPoint-ellipsis-in-inline-box] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini index 1c5e587c60d..59347f6c432 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini @@ -22,3 +22,9 @@ [
  • Image Inside 1
  • ] expected: FAIL + + [
  • Inside 3
  • ] + expected: FAIL + + [
  • Image Inside 2
  • ] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini index 898f39c4330..ceb43099040 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini @@ -17,6 +17,3 @@ [test some point of the element: bottom right corner] expected: FAIL - - [test the top of layer] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini deleted file mode 100644 index 3e7b0a9bc9c..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementsFromPoint-iframes.html] - [elementsFromPoint on inner documents] - expected: FAIL