Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: c71a008ed50d6d3564313c27fe479bbd5687a62a
      
https://github.com/WebKit/WebKit/commit/c71a008ed50d6d3564313c27fe479bbd5687a62a
  Author: Nipun Shukla <[email protected]>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    A PerformanceTests/Parser/pending-text-buffer-parser.html
    M Source/WebCore/dom/CharacterData.cpp
    M Source/WebCore/dom/CharacterData.h
    M Source/WebCore/html/parser/HTMLConstructionSite.cpp
    M Source/WebCore/html/parser/HTMLConstructionSite.h
    M Source/WebCore/xml/parser/XMLDocumentParser.cpp

  Log Message:
  -----------
  Cherry-pick 308781@main (3ce7856bc424). 
https://bugs.webkit.org/show_bug.cgi?id=308852

    WebKit is slow at opening very big HTML files
    https://bugs.webkit.org/show_bug.cgi?id=308852
    rdar://144245503

    Reviewed by Ryosuke Niwa.

    CharacterData::parserAppendData() previously called makeString() on
    every chunk the HTML parser received, which copies all previously
    accumulated text on each receipt, making total work occur in
    polynomial time O(n^2) for large text nodes.

    This change makes parserAppendData() take a StringBuilder&, which lives
    in HTMLConstructionSite that is lazily heap allocated before the first
    parserAppendData() call, avoiding polynomial time complexity via
    StringBuilder's exponential growth. This StringBuilder is only
    created when text nodes are split across multiple chunks.

    The included microbenchmark is progressed from ~240 ms/run to ~110 ms/run.
    This patch does not cause any behavior change.

    * PerformanceTests/Parser/pending-text-buffer-parser.html: Added.
    * Source/WebCore/dom/CharacterData.cpp:
    (WebCore::CharacterData::parserAppendData):
    * Source/WebCore/dom/CharacterData.h:
    * Source/WebCore/html/parser/HTMLConstructionSite.cpp:
    (WebCore::HTMLConstructionSite::finishedParsing):
    (WebCore::HTMLConstructionSite::insertTextNode):
    * Source/WebCore/html/parser/HTMLConstructionSite.h:
    * Source/WebCore/xml/parser/XMLDocumentParser.cpp:
    (WebCore::XMLDocumentParser::updateLeafTextNode):

    Canonical link: https://commits.webkit.org/308781@main

Canonical link: https://commits.webkit.org/305877.196@webkitglib/2.52


  Commit: a16b7df085ac144d818d7453c098aab89ce6912f
      
https://github.com/WebKit/WebKit/commit/a16b7df085ac144d818d7453c098aab89ce6912f
  Author: Karl Dubost <[email protected]>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    A LayoutTests/fast/css/hotels-animation-quirk-expected.txt
    A LayoutTests/fast/css/hotels-animation-quirk.html
    M Source/WebCore/style/StyleAdjuster.cpp

  Log Message:
  -----------
  Cherry-pick 308678@main (381ad0cbb2cd). 
https://bugs.webkit.org/show_bug.cgi?id=308116

    Adjust Quirks for hotels.com to remove the flickering
    https://bugs.webkit.org/show_bug.cgi?id=308116
    rdar://170331800

    Reviewed by Brandon Stewart, Antoine Quint, and Sam Weinig.

    The previous quirk stopped working, but the markup and CSS do not seem
    to have changed at all. This is another strategy to make it work. The
    flickering doesn't happen.

    * LayoutTests/fast/css/hotels-animation-quirk.html: Added
      Test for making sure any future changes will not break this quirk.

    * LayoutTests/fast/css/hotels-animation-quirk-expected.txt: Added.
    * Source/WebCore/page/Quirks.cpp:
    (WebCore::Quirks::needsHotelsAnimationQuirk const):
    * Source/WebCore/style/StyleAdjuster.cpp:
    (WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):

    Canonical link: https://commits.webkit.org/308678@main

Canonical link: https://commits.webkit.org/305877.197@webkitglib/2.52


Compare: https://github.com/WebKit/WebKit/compare/619df758c4c6...a16b7df085ac

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to