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

Changeset 230642 in webkit


Ignore:
Timestamp:
Apr 13, 2018, 11:40:07 AM (9 years ago)
Author:
Alan Bujtas
Message:

Rebaseline LayoutReloaded patch file (collectRenderersWithNeedsLayout).

  • LayoutReloaded/misc/LayoutReloadedWebKit.patch:
Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r230641 r230642  
     12018-04-13  Zalan Bujtas  <zalan@apple.com>
     2
     3        Rebaseline LayoutReloaded patch file (collectRenderersWithNeedsLayout).
     4
     5        * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
     6
    172018-04-13  Jonathan Bedard  <jbedard@apple.com>
    28
  • trunk/Tools/LayoutReloaded/misc/LayoutReloadedWebKit.patch

    r230386 r230642  
    2525     $(WebCore)/dom/UIEvent.idl \
    2626diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt
    27 index ff942b36a44..5bc30f914af 100644
     27index a461719e2dd..2d48c60758b 100644
    2828--- a/Source/WebCore/Sources.txt
    2929+++ b/Source/WebCore/Sources.txt
    30 @@ -1797,7 +1797,9 @@ rendering/InlineBox.cpp
     30@@ -1802,7 +1802,9 @@ rendering/InlineBox.cpp
    3131 rendering/InlineElementBox.cpp
    3232 rendering/InlineFlowBox.cpp
    … …  
    3939 rendering/LayoutState.cpp
    4040diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
    41 index 2ae0c8a22d5..edcd82aa95a 100644
     41index a6a138060f6..91fb8a5cd04 100644
    4242--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
    4343+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
    … …  
    5353                11E067EE1E6246E500162D16 /* SimpleLineLayoutCoverage.h in Headers */ = {isa = PBXBuildFile; fileRef = 11E067ED1E6246E500162D16 /* SimpleLineLayoutCoverage.h */; settings = {ATTRIBUTES = (Private, ); }; };
    5454                1400D7A817136EA70077CE05 /* ScriptWrappableInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
    55 @@ -5699,6 +5703,13 @@
     55@@ -5706,6 +5710,13 @@
    5656                119340951FED715500935F1E /* RenderTreeBuilderFormControls.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RenderTreeBuilderFormControls.h; sourceTree = "<group>"; };
    5757                119340A01FEE024000935F1E /* RenderTreeBuilderBlock.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTreeBuilderBlock.cpp; sourceTree = "<group>"; };
    … …  
    6767                11C5F1182003E7760001AE60 /* RenderTreeBuilderInline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTreeBuilderInline.h; sourceTree = "<group>"; };
    6868                11C5F11D2003F69E0001AE60 /* RenderTreeBuilderBlockFlow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTreeBuilderBlockFlow.h; sourceTree = "<group>"; };
    69 @@ -22115,6 +22126,7 @@
     69@@ -22145,6 +22156,7 @@
    7070                A83B79100CCB001B000B0825 /* Core */ = {
    7171                        isa = PBXGroup;
    … …  
    7575                                7C30D9801F815AC100268356 /* JSAbortController.h */,
    7676                                7C30D9821F815AC200268356 /* JSAbortSignal.cpp */,
    77 @@ -25447,6 +25459,10 @@
     77@@ -25479,6 +25491,10 @@
    7878                F523D2F302DE443B018635CA /* rendering */ = {
    7979                        isa = PBXGroup;
    … …  
    8686                                439046C212DA25CE00AF80A2 /* mathml */,
    8787                                FD08A879175D3926002CD360 /* shapes */,
    88 @@ -25742,6 +25758,8 @@
     88@@ -25775,6 +25791,8 @@
    8989                F523D32402DE4478018635CA /* dom */ = {
    9090                        isa = PBXGroup;
    … …  
    9595                                2D5036661BCDDDC400E20BB3 /* mac */,
    9696                                51ECC3E42005831F00483EAE /* messageports */,
    97 @@ -26736,6 +26754,7 @@
     97@@ -26771,6 +26789,7 @@
    9898                                31DCD29D1AB4FBDE0072E817 /* AnimationTrigger.h in Headers */,
    9999                                0F580FAF149800D400FB5BD8 /* AnimationUtilities.h in Headers */,
    … …  
    103103                                A12C59EE2035FC9B0012236B /* ApplePayError.h in Headers */,
    104104                                7C6579E31E00827000E3A27A /* ApplePayLineItem.h in Headers */,
    105 @@ -30329,6 +30348,7 @@
     105@@ -30369,6 +30388,7 @@
    106106                                4945BFD413CF809000CC3B38 /* TransformState.h in Headers */,
    107107                                E17B491616A9B094001C8839 /* TransitionEvent.h in Headers */,
    … …  
    111111                                37FD4298118368460093C029 /* TreeDepthLimit.h in Headers */,
    112112                                14D64B5D134A5B6B00E58FDA /* TreeScope.h in Headers */,
    113 @@ -30543,6 +30563,7 @@
     113@@ -30583,6 +30603,7 @@
    114114                                97AABD1E14FA09D5007457AE /* WebSocketChannel.h in Headers */,
    115115                                97AABD1F14FA09D5007457AE /* WebSocketChannelClient.h in Headers */,
    … …  
    119119                                97AABD2314FA09D5007457AE /* WebSocketExtensionDispatcher.h in Headers */,
    120120                                4A5A2ADC161E7E00005889DD /* WebSocketExtensionParser.h in Headers */,
    121 @@ -31027,6 +31048,7 @@
     121@@ -31067,6 +31088,7 @@
    122122                                0719427F1D088F21002AA51D /* AVFoundationMIMETypeCache.mm in Sources */,
    123123                                070363E5181A1CDC00C074A5 /* AVMediaCaptureSource.mm in Sources */,
    … …  
    425425     boolean isDefaultNamespace(DOMString? namespaceURI);
    426426diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp
    427 index 90c3e8e5a78..41e4447ff23 100644
     427index 0210b08a182..4d3a54691a9 100644
    428428--- a/Source/WebCore/page/DOMWindow.cpp
    429429+++ b/Source/WebCore/page/DOMWindow.cpp
    … …  
    448448 #include "MediaQueryList.h"
    449449 #include "MediaQueryMatcher.h"
    450 @@ -78,6 +81,7 @@
     450@@ -78,6 +81,8 @@
    451451 #include "PageConsoleClient.h"
    452452 #include "PageTransitionEvent.h"
    453453 #include "Performance.h"
     454+#include "RenderChildIterator.h"
    454455+#include "RenderView.h"
    455456 #include "RequestAnimationFrameCallback.h"
    456457 #include "ResourceLoadInfo.h"
    457458 #include "ResourceLoadObserver.h"
    458 @@ -100,6 +104,7 @@
     459@@ -100,6 +105,7 @@
    459460 #include "StyleResolver.h"
    460461 #include "StyleScope.h"
    … …  
    464465 #include "UserGestureIndicator.h"
    465466 #include "VisualViewport.h"
    466 @@ -116,6 +121,7 @@
     467@@ -116,6 +122,7 @@
    467468 #include <wtf/NeverDestroyed.h>
    468469 #include <wtf/Ref.h>
    … …  
    472473 
    473474 #if ENABLE(USER_MESSAGE_HANDLERS)
    474 @@ -1357,6 +1363,41 @@ int DOMWindow::scrollY() const
     475@@ -1358,6 +1365,72 @@ int DOMWindow::scrollY() const
    475476     return view->mapFromLayoutToCSSUnits(view->contentsScrollPosition().y());
    476477 }
    … …  
    484485+{
    485486+    return m_frame->view()->renderView()->renderTreeStructure();
     487+}
     488+
     489+static bool hasDirtyChild(RenderElement& parent)
     490+{
     491+    for (auto& child : childrenOfType<RenderElement>(parent)) {
     492+        if (child.needsLayout())
     493+            return true;
     494+    }
     495+    return false;
     496+}
     497+
     498+static void collectDirtyRenderers(RenderElement& container, Vector<long>& dirtyRenderers)
     499+{
     500+    // Collect the leaf marks only -would be cheating othewise.
     501+    for (auto& child : childrenOfType<RenderElement>(container)) {
     502+        if (!child.needsLayout())
     503+            continue;
     504+        if (!hasDirtyChild(child))
     505+            dirtyRenderers.append(child.renderId());
     506+        else
     507+            collectDirtyRenderers(child, dirtyRenderers);
     508+    }
     509+}
     510+
     511+Vector<long> DOMWindow::collectRenderersWithNeedsLayout()
     512+{
     513+    Vector<long> dirtyRenderers;
     514+    auto* renderView = m_frame->view()->renderView();
     515+    m_frame->document()->updateStyleIfNeeded();
     516+    collectDirtyRenderers(*renderView, dirtyRenderers);
     517+    return dirtyRenderers;
    486518+}
    487519+
    … …  
    515547     return !m_frame;
    516548diff --git a/Source/WebCore/page/DOMWindow.h b/Source/WebCore/page/DOMWindow.h
    517 index 4c66b724e29..4ee2993438c 100644
     549index 499a558d2ee..be60b3aaf79 100644
    518550--- a/Source/WebCore/page/DOMWindow.h
    519551+++ b/Source/WebCore/page/DOMWindow.h
    520 @@ -48,7 +48,6 @@ template<typename> class Strong;
     552@@ -49,7 +49,6 @@ template<typename> class Strong;
    521553 }
    522554 
    … …  
    526558 class CSSRuleList;
    527559 class CSSStyleDeclaration;
    528 @@ -77,6 +76,7 @@ class ScheduledAction;
     560@@ -78,6 +77,7 @@ class ScheduledAction;
    529561 class Screen;
    530562 class Storage;
    … …  
    534566 class WebKitNamespace;
    535567 class WebKitPoint;
    536 @@ -191,6 +191,11 @@ public:
     568@@ -192,6 +192,12 @@ public:
    537569     String defaultStatus() const;
    538570     void setDefaultStatus(const String&);
    … …  
    540572+    String simplifiedRenderTree() const;
    541573+    String renderTreeStructure() const;
     574+    Vector<long> collectRenderersWithNeedsLayout();
    542575+    int nextBreakingOpportunity(const String& text, unsigned startPosition);
    543576+    Vector<Ref<InlineTextRun>> collectTextRuns(const String&, const Node&, float availableSpace);
    … …  
    547580     DOMWindow* opener() const;
    548581diff --git a/Source/WebCore/page/DOMWindow.idl b/Source/WebCore/page/DOMWindow.idl
    549 index 46ebc1561fa..cbcd213b46a 100644
     582index 46ebc1561fa..bd35d3f2155 100644
    550583--- a/Source/WebCore/page/DOMWindow.idl
    551584+++ b/Source/WebCore/page/DOMWindow.idl
    552 @@ -82,6 +82,11 @@ typedef USVString CSSOMString;
     585@@ -82,6 +82,12 @@ typedef USVString CSSOMString;
    553586     readonly attribute Navigator navigator;
    554587     readonly attribute DOMApplicationCache applicationCache;
    … …  
    556589+    readonly attribute DOMString simplifiedRenderTree;
    557590+    readonly attribute DOMString renderTreeStructure;
     591+    sequence<long> collectRenderersWithNeedsLayout();
    558592+    long nextBreakingOpportunity(DOMString text, unsigned long startPosition);
    559593+    sequence<InlineTextRun> collectTextRuns(DOMString text, Node containerNode, optional unrestricted float availableSpace = NaN);
    … …  
    14311465 namespace WebCore {
    14321466diff --git a/Source/WebCore/rendering/RenderImage.cpp b/Source/WebCore/rendering/RenderImage.cpp
    1433 index 02094a327a5..695b0235780 100644
     1467index 744e8e359a6..6351f06c1dd 100644
    14341468--- a/Source/WebCore/rendering/RenderImage.cpp
    14351469+++ b/Source/WebCore/rendering/RenderImage.cpp
    … …  
    14431477 #include "RenderFragmentedFlow.h"
    14441478diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp
    1445 index 7f3d46b7dd8..8120bd369ac 100644
     1479index 7f3d46b7dd8..e73709b2267 100644
    14461480--- a/Source/WebCore/rendering/RenderObject.cpp
    14471481+++ b/Source/WebCore/rendering/RenderObject.cpp
    … …  
    14641498         renderView->didCreateRenderer();
    14651499 #ifndef NDEBUG
    1466 @@ -1012,6 +1014,13 @@ void RenderObject::showRenderTreeForThis() const
     1500@@ -1012,6 +1014,16 @@ void RenderObject::showRenderTreeForThis() const
    14671501     WTFLogAlways("%s", stream.release().utf8().data());
    14681502 }
    … …  
    14731507+    if (is<RenderBlockFlow>(*this))
    14741508+        downcast<RenderBlockFlow>(*this).outputLineTreeAndMark(stream, nullptr, depth + 1);
     1509+
     1510+    for (auto* child = firstChildSlow(); child; child = child->nextSibling())
     1511+        child->outputRenderSubTreeAndMark(stream, markedObject, depth + 1);
    14751512+}
    14761513+
    … …  
    14781515 {
    14791516     if (!is<RenderBlockFlow>(*this))
    1480 @@ -1197,14 +1206,80 @@ void RenderObject::outputRenderObject(TextStream& stream, bool mark, int depth)
     1517@@ -1197,14 +1209,80 @@ void RenderObject::outputRenderObject(TextStream& stream, bool mark, int depth)
    14811518     stream.nextLine();
    14821519 }
    … …  
    14931530+        child->renderSubtreeStructure(stream);
    14941531+}
    1495  
     1532+
    14961533+// 1()RenderView|2(1)RenderBlock|3(2)RenderBody|4(3)RenderBlock|5(3)AnonymousRenderBlock|
    14971534+void RenderObject::outputRenderObjectStructure(WTF::TextStream& stream) const
    … …  
    15141551+    stream << "|";
    15151552+}
    1516 +
     1553 
    15171554+void RenderObject::simplifiedRenderSubtree(TextStream& stream, int depth) const
    15181555+{
    … …  
    15651602 #endif // NDEBUG
    15661603diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h
    1567 index 3c4f15aa4f1..383bb46b876 100644
     1604index 5d5d82f66ce..e679c6ee154 100644
    15681605--- a/Source/WebCore/rendering/RenderObject.h
    15691606+++ b/Source/WebCore/rendering/RenderObject.h
    1570 @@ -113,6 +113,9 @@ public:
     1607@@ -114,6 +114,9 @@ public:
    15711608 
    15721609     auto& weakPtrFactory() const { return m_weakFactory; }
    … …  
    15781615 
    15791616     virtual const char* renderName() const = 0;
    1580 @@ -203,10 +206,16 @@ public:
     1617@@ -204,10 +207,15 @@ public:
    15811618     void showNodeTreeForThis() const;
    15821619     void showRenderTreeForThis() const;
    … …  
    15871624     void outputRenderObject(WTF::TextStream&, bool mark, int depth) const;
    15881625     void outputRenderSubTreeAndMark(WTF::TextStream&, const RenderObject* markedObject, int depth) const;
    1589 +    void outputRenderSubTreeAndMarkStructure(WTF::TextStream&) const;
    15901626     void outputRegionsInformation(WTF::TextStream&) const;
    15911627+
    … …  
    15951631 
    15961632     bool isPseudoElement() const { return node() && node()->isPseudoElement(); }
    1597 @@ -829,6 +838,7 @@ private:
     1633@@ -831,6 +839,7 @@ private:
    15981634 #endif
    15991635 
    … …  
    16041640     RenderObject* m_previous;
    16051641diff --git a/Source/WebCore/rendering/RenderText.cpp b/Source/WebCore/rendering/RenderText.cpp
    1606 index e55be1e6ad8..e99790d1c83 100644
     1642index 8fa51e26ffa..730d97a4620 100644
    16071643--- a/Source/WebCore/rendering/RenderText.cpp
    16081644+++ b/Source/WebCore/rendering/RenderText.cpp
    … …  
    16791715     const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override;
    16801716diff --git a/Source/WebCore/rendering/SimpleLineLayout.cpp b/Source/WebCore/rendering/SimpleLineLayout.cpp
    1681 index 8777dc099b8..702fcc634f4 100644
     1717index 301300f6e37..3e206b15642 100644
    16821718--- a/Source/WebCore/rendering/SimpleLineLayout.cpp
    16831719+++ b/Source/WebCore/rendering/SimpleLineLayout.cpp
Note: See TracChangeset for help on using the changeset viewer.