⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 288496 in webkit


Ignore:
Timestamp:
Jan 24, 2022, 5:54:42 PM (5 years ago)
Author:
Russell Epstein
Message:

Cherry-pick r287878. rdar://problem/85359803

::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.

git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@287878 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-613-branch
Files:
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/safari-613-branch/LayoutTests/ChangeLog

    r288320 r288496  
     12022-01-24  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r287878. rdar://problem/85359803
     4
     5    ::backdrop pseudo element should react to associated element event listeners
     6    https://bugs.webkit.org/show_bug.cgi?id=233072
     7   
     8    Reviewed by Alan Bujtas.
     9   
     10    LayoutTests/imported/w3c:
     11   
     12    Update test expectations.
     13   
     14    * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
     15   
     16    Source/WebCore:
     17   
     18    Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
     19   
     20    We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
     21    top layer element. This gets hit testing working properly for free.
     22   
     23    We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
     24    necessary after r287683 and r287845.
     25   
     26    * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
     27    (WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
     28   
     29    LayoutTests:
     30   
     31    iOS failure is due to WPT test_driver actions being unsupported.
     32   
     33    * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
     34   
     35   
     36    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     37
     38    2022-01-11  Tim Nguyen  <ntim@apple.com>
     39
     40            ::backdrop pseudo element should react to associated element event listeners
     41            https://bugs.webkit.org/show_bug.cgi?id=233072
     42
     43            Reviewed by Alan Bujtas.
     44
     45            iOS failure is due to WPT test_driver actions being unsupported.
     46
     47            * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
     48
    1492022-01-20  Russell Epstein  <repstein@apple.com>
    250
  • branches/safari-613-branch/LayoutTests/imported/w3c/ChangeLog

    r288494 r288496  
     12022-01-24  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r287878. rdar://problem/85359803
     4
     5    ::backdrop pseudo element should react to associated element event listeners
     6    https://bugs.webkit.org/show_bug.cgi?id=233072
     7   
     8    Reviewed by Alan Bujtas.
     9   
     10    LayoutTests/imported/w3c:
     11   
     12    Update test expectations.
     13   
     14    * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
     15   
     16    Source/WebCore:
     17   
     18    Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
     19   
     20    We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
     21    top layer element. This gets hit testing working properly for free.
     22   
     23    We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
     24    necessary after r287683 and r287845.
     25   
     26    * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
     27    (WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
     28   
     29    LayoutTests:
     30   
     31    iOS failure is due to WPT test_driver actions being unsupported.
     32   
     33    * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
     34   
     35   
     36    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     37
     38    2022-01-11  Tim Nguyen  <ntim@apple.com>
     39
     40            ::backdrop pseudo element should react to associated element event listeners
     41            https://bugs.webkit.org/show_bug.cgi?id=233072
     42
     43            Reviewed by Alan Bujtas.
     44
     45            Update test expectations.
     46
     47            * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
     48
    1492022-01-24  Alan Coon  <alancoon@apple.com>
    250
  • branches/safari-613-branch/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt

    r287266 r288496  
    11
    2 Harness Error (TIMEOUT), message = null
     2PASS Test that ::backdrop receives events for the associated element
    33
    4 NOTRUN Test that ::backdrop receives events for the associated element
    5 
  • branches/safari-613-branch/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt

    r288495 r288496  
    33
    44NOTRUN Test that ::backdrop receives events for the associated element
    5 
  • branches/safari-613-branch/Source/WebCore/ChangeLog

    r288494 r288496  
     12022-01-24  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r287878. rdar://problem/85359803
     4
     5    ::backdrop pseudo element should react to associated element event listeners
     6    https://bugs.webkit.org/show_bug.cgi?id=233072
     7   
     8    Reviewed by Alan Bujtas.
     9   
     10    LayoutTests/imported/w3c:
     11   
     12    Update test expectations.
     13   
     14    * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt:
     15   
     16    Source/WebCore:
     17   
     18    Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
     19   
     20    We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
     21    top layer element. This gets hit testing working properly for free.
     22   
     23    We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
     24    necessary after r287683 and r287845.
     25   
     26    * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
     27    (WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
     28   
     29    LayoutTests:
     30   
     31    iOS failure is due to WPT test_driver actions being unsupported.
     32   
     33    * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Added.
     34   
     35   
     36    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     37
     38    2022-01-11  Tim Nguyen  <ntim@apple.com>
     39
     40            ::backdrop pseudo element should react to associated element event listeners
     41            https://bugs.webkit.org/show_bug.cgi?id=233072
     42
     43            Reviewed by Alan Bujtas.
     44
     45            Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events.html
     46
     47            We now append the ::backdrop renderer as a child of the top layer element, rather than a sibling of the
     48            top layer element. This gets hit testing working properly for free.
     49
     50            We used to append the ::backdrop renderer as a sibling to get the proper layout, but this is no longer
     51            necessary after r287683 and r287845.
     52
     53            * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
     54            (WebCore::RenderTreeUpdater::GeneratedContent::updateBackdropRenderer):
     55
    1562022-01-24  Alan Coon  <alancoon@apple.com>
    257
  • branches/safari-613-branch/Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp

    r284093 r288496  
    186186
    187187    auto newStyle = RenderStyle::clone(*style);
    188     RenderPtr<RenderBlockFlow> newBackdropRenderer;
    189     auto backdropRenderer = renderer.backdropRenderer();
    190     if (backdropRenderer)
     188    if (auto backdropRenderer = renderer.backdropRenderer())
    191189        backdropRenderer->setStyle(WTFMove(newStyle));
    192190    else {
    193         newBackdropRenderer = WebCore::createRenderer<RenderBlockFlow>(renderer.document(), WTFMove(newStyle));
     191        auto newBackdropRenderer = WebCore::createRenderer<RenderBlockFlow>(renderer.document(), WTFMove(newStyle));
    194192        newBackdropRenderer->initializeStyle();
    195         backdropRenderer = newBackdropRenderer.get();
    196         renderer.setBackdropRenderer(*backdropRenderer);
    197     }
    198 
    199     // Update or attach to renderer parent
    200     WeakPtr currentParent = backdropRenderer->parent();
    201     WeakPtr newParent = renderer.parent();
    202 
    203     ASSERT(newParent, "Should have new parent");
    204 
    205     if (newParent == currentParent)
    206         return;
    207 
    208     if (currentParent)
    209         m_updater.m_builder.attach(*newParent, m_updater.m_builder.detach(*currentParent, *backdropRenderer, RenderTreeBuilder::CanCollapseAnonymousBlock::No), &renderer);
    210     else
    211         m_updater.m_builder.attach(*newParent, WTFMove(newBackdropRenderer), &renderer);
     193        renderer.setBackdropRenderer(*newBackdropRenderer.get());
     194        m_updater.m_builder.attach(renderer, WTFMove(newBackdropRenderer), renderer.firstChild());
     195    }
    212196}
    213197
Note: See TracChangeset for help on using the changeset viewer.