[LFC] Set the invalidation root as the result of style change.
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 May 2018 16:30:27 +0000 (16:30 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 May 2018 16:30:27 +0000 (16:30 +0000)
commitbd4c7eb561685b1a3ac663afe1d486e60c221985
tree40a75040d3d03b38ea415ad3932443b7df17e3aa
parent11d197b67cbc2790a7d54aa63bf402da8f894c15
[LFC] Set the invalidation root as the result of style change.
https://bugs.webkit.org/show_bug.cgi?id=185301

Reviewed by Antti Koivisto.

Compute/propagate the update type on the ancestor chain and return the invalidation root
so that LayoutContext could use it as the entry point for the next layout frame.

* layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::updateLayout):
(WebCore::Layout::LayoutContext::styleChanged):
* layout/LayoutContext.h: order is not important.
* layout/blockformatting/BlockInvalidation.cpp:
(WebCore::Layout::invalidationStopsAtFormattingContextBoundary):
(WebCore::Layout::computeUpdateType):
(WebCore::Layout::computeUpdateTypeForAncestor):
(WebCore::Layout::BlockInvalidation::invalidate):
* layout/blockformatting/BlockInvalidation.h:
* layout/inlineformatting/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::invalidate):
* layout/inlineformatting/InlineInvalidation.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/layout/Invalidation.h [new file with mode: 0644]
Source/WebCore/layout/LayoutContext.cpp
Source/WebCore/layout/LayoutContext.h
Source/WebCore/layout/blockformatting/BlockInvalidation.cpp
Source/WebCore/layout/blockformatting/BlockInvalidation.h
Source/WebCore/layout/inlineformatting/InlineInvalidation.cpp
Source/WebCore/layout/inlineformatting/InlineInvalidation.h