WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
183273
[RenderTreeBuilder] Move styleDidChange mutation logic to RenderTreeUpdater
https://bugs.webkit.org/show_bug.cgi?id=183273
Summary
[RenderTreeBuilder] Move styleDidChange mutation logic to RenderTreeUpdater
alan
Reported
2018-03-01 21:19:50 PST
ssia.
Attachments
Patch
(8.97 KB, patch)
2018-03-01 21:23 PST
,
alan
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews114 for mac-sierra
(3.01 MB, application/zip)
2018-03-01 22:54 PST
,
EWS Watchlist
no flags
Details
Patch
(10.97 KB, patch)
2018-03-02 10:30 PST
,
alan
no flags
Details
Formatted Diff
Diff
Patch
(10.91 KB, patch)
2018-03-02 10:38 PST
,
alan
no flags
Details
Formatted Diff
Diff
Patch
(13.04 KB, patch)
2018-03-03 07:32 PST
,
alan
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-03-01 21:20:12 PST
<
rdar://problem/38054892
>
alan
Comment 2
2018-03-01 21:23:34 PST
Created
attachment 334877
[details]
Patch
EWS Watchlist
Comment 3
2018-03-01 22:54:45 PST
Comment on
attachment 334877
[details]
Patch
Attachment 334877
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/6729312
New failing tests: fullscreen/full-screen-fixed-pos-parent.html
EWS Watchlist
Comment 4
2018-03-01 22:54:46 PST
Created
attachment 334879
[details]
Archive of layout-test-results from ews114 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-sierra Platform: Mac OS X 10.12.6
alan
Comment 5
2018-03-02 10:30:16 PST
Created
attachment 334906
[details]
Patch
alan
Comment 6
2018-03-02 10:38:50 PST
Created
attachment 334907
[details]
Patch
Antti Koivisto
Comment 7
2018-03-03 02:46:39 PST
Comment on
attachment 334907
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=334907&action=review
> Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:341 > + auto& parent = *renderer.parent(); > + bool isFloating = renderer.style().isFloating(); > + bool isOutOfFlowPositioned = renderer.style().hasOutOfFlowPosition(); > + bool startsAffectingParent = false; > + bool noLongerAffectsParent = false; > + > + if (is<RenderBlock>(parent)) > + noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOufOfFlowPositioned && isOutOfFlowPositioned); > + > + if (is<RenderBlockFlow>(parent) || is<RenderInline>(parent)) { > + startsAffectingParent = (wasFloating || wasOufOfFlowPositioned) && !isFloating && !isOutOfFlowPositioned; > + ASSERT(!startsAffectingParent || !noLongerAffectsParent); > + } > + > + if (startsAffectingParent) { > + // We have gone from not affecting the inline status of the parent flow to suddenly > + // having an impact. See if there is a mismatch between the parent flow's > + // childrenInline() state and our state. > + renderer.setInline(renderer.style().isDisplayInlineType()); > + if (renderer.isInline() != renderer.parent()->childrenInline()) > + m_builder.childFlowStateChangesAndAffectsParentBlock(renderer); > + return; > + } > + > + if (noLongerAffectsParent) { > + m_builder.childFlowStateChangesAndNoLongerAffectsParentBlock(renderer); > + > + if (is<RenderBlockFlow>(renderer)) { > + // Fresh floats need to be reparented if they actually belong to the previous anonymous block. > + // It copies the logic of RenderBlock::addChildIgnoringContinuation > + if (isFloating && renderer.previousSibling() && renderer.previousSibling()->isAnonymousBlock()) > + m_builder.move(downcast<RenderBoxModelObject>(parent), downcast<RenderBoxModelObject>(*renderer.previousSibling()), renderer, RenderTreeBuilder::NormalizeAfterInsertion::No); > + } > + } > +}
Maybe this stuff could go to the Builder as mutateTreeAfterStyleChange() or something?
alan
Comment 8
2018-03-03 07:32:51 PST
Created
attachment 334957
[details]
Patch
WebKit Commit Bot
Comment 9
2018-03-03 12:13:47 PST
Comment on
attachment 334957
[details]
Patch Clearing flags on attachment: 334957 Committed
r229200
: <
https://trac.webkit.org/changeset/229200
>
WebKit Commit Bot
Comment 10
2018-03-03 12:13:48 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug