Title: [287878] trunk
- Revision
- 287878
- Author
- [email protected]
- Date
- 2022-01-11 07:18:25 -0800 (Tue, 11 Jan 2022)
Log Message
::backdrop pseudo element should react to associated element event listeners
https://bugs.webkit.org/show_bug.cgi?id=233072
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
Update test expectations.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
Source/WebCore:
Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
top layer element. This gets hit testing working properly for free.
We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
necessary after r287683 and r287845.
* rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
LayoutTests:
iOS failure is due to WPT test_driver actions being unsupported.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (287877 => 287878)
--- trunk/LayoutTests/ChangeLog 2022-01-11 14:43:30 UTC (rev 287877)
+++ trunk/LayoutTests/ChangeLog 2022-01-11 15:18:25 UTC (rev 287878)
@@ -1,3 +1,14 @@
+2022-01-11 Tim Nguyen <[email protected]>
+
+ ::backdrop pseudo element should react to associated element event listeners
+ https://bugs.webkit.org/show_bug.cgi?id=233072
+
+ Reviewed by Alan Bujtas.
+
+ iOS failure is due to WPT test_driver actions being unsupported.
+
+ * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
+
2022-01-11 Martin Robinson <[email protected]>
Some css-transforms tests assert in debug
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287877 => 287878)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-11 14:43:30 UTC (rev 287877)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-11 15:18:25 UTC (rev 287878)
@@ -1,3 +1,14 @@
+2022-01-11 Tim Nguyen <[email protected]>
+
+ ::backdrop pseudo element should react to associated element event listeners
+ https://bugs.webkit.org/show_bug.cgi?id=233072
+
+ Reviewed by Alan Bujtas.
+
+ Update test expectations.
+
+ * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
+
2022-01-10 Chris Dumez <[email protected]>
Resync web-platform-tests/html from upstream
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt (287877 => 287878)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt 2022-01-11 14:43:30 UTC (rev 287877)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt 2022-01-11 15:18:25 UTC (rev 287878)
@@ -1,5 +1,3 @@
-Harness Error (TIMEOUT), message = null
+PASS Test that ::backdrop receives events for the associated element
-NOTRUN Test that ::backdrop receives events for the associated element
-
Copied: trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt (from rev 287877, trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt) (0 => 287878)
--- trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt 2022-01-11 15:18:25 UTC (rev 287878)
@@ -0,0 +1,4 @@
+
+Harness Error (TIMEOUT), message = null
+
+NOTRUN Test that ::backdrop receives events for the associated element
Modified: trunk/Source/WebCore/ChangeLog (287877 => 287878)
--- trunk/Source/WebCore/ChangeLog 2022-01-11 14:43:30 UTC (rev 287877)
+++ trunk/Source/WebCore/ChangeLog 2022-01-11 15:18:25 UTC (rev 287878)
@@ -1,3 +1,21 @@
+2022-01-11 Tim Nguyen <[email protected]>
+
+ ::backdrop pseudo element should react to associated element event listeners
+ https://bugs.webkit.org/show_bug.cgi?id=233072
+
+ Reviewed by Alan Bujtas.
+
+ Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
+
+ We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
+ top layer element. This gets hit testing working properly for free.
+
+ We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
+ necessary after r287683 and r287845.
+
+ * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
+ (WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
+
2022-01-11 Adrian Perez de Castro <[email protected]>
Non-unified build fixes, early January 2022 edition
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp (287877 => 287878)
--- trunk/Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp 2022-01-11 14:43:30 UTC (rev 287877)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp 2022-01-11 15:18:25 UTC (rev 287878)
@@ -185,30 +185,14 @@
}
auto newStyle = RenderStyle::clone(*style);
- RenderPtr<RenderBlockFlow> newBackdropRenderer;
- auto backdropRenderer = renderer.backdropRenderer();
- if (backdropRenderer)
+ if (auto backdropRenderer = renderer.backdropRenderer())
backdropRenderer->setStyle(WTFMove(newStyle));
else {
- newBackdropRenderer = WebCore::createRenderer<RenderBlockFlow>(renderer.document(), WTFMove(newStyle));
+ auto newBackdropRenderer = WebCore::createRenderer<RenderBlockFlow>(renderer.document(), WTFMove(newStyle));
newBackdropRenderer->initializeStyle();
- backdropRenderer = newBackdropRenderer.get();
- renderer.setBackdropRenderer(*backdropRenderer);
+ renderer.setBackdropRenderer(*newBackdropRenderer.get());
+ m_updater.m_builder.attach(renderer, WTFMove(newBackdropRenderer), renderer.firstChild());
}
-
- // Update or attach to renderer parent
- WeakPtr currentParent = backdropRenderer->parent();
- WeakPtr newParent = renderer.parent();
-
- ASSERT(newParent, "Should have new parent");
-
- if (newParent == currentParent)
- return;
-
- if (currentParent)
- m_updater.m_builder.attach(*newParent, m_updater.m_builder.detach(*currentParent, *backdropRenderer, RenderTreeBuilder::CanCollapseAnonymousBlock::No), &renderer);
- else
- m_updater.m_builder.attach(*newParent, WTFMove(newBackdropRenderer), &renderer);
}
bool RenderTreeUpdater::GeneratedContent::needsPseudoElement(const Style::ElementUpdate* update)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes