Changeset 246477 in webkit
- Timestamp:
- Jun 16, 2019 12:30:46 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r246476 r246477 1 2019-06-16 Zalan Bujtas <zalan@apple.com> 2 3 [LFC] Add limited quirks mode to LayoutState. 4 https://bugs.webkit.org/show_bug.cgi?id=198881 5 <rdar://problem/51773229> 6 7 Reviewed by Antti Koivisto. 8 9 This is in preparation for introducing limited quirks mode to inline layout. 10 11 * layout/LayoutState.h: 12 (WebCore::Layout::LayoutState::setQuirksMode): 13 (WebCore::Layout::LayoutState::inQuirksMode const): 14 (WebCore::Layout::LayoutState::inLimitedQuirksMode const): 15 (WebCore::Layout::LayoutState::inNoQuirksMode const): 16 (WebCore::Layout::LayoutState::setInQuirksMode): Deleted. 17 * page/FrameViewLayoutContext.cpp: 18 (WebCore::layoutUsingFormattingContext): 19 1 20 2019-06-16 Zalan Bujtas <zalan@apple.com> 2 21 -
trunk/Source/WebCore/layout/LayoutState.h
r240895 r246477 64 64 void updateLayout(); 65 65 void styleChanged(const Box&, StyleDiff); 66 void setInQuirksMode(bool inQuirksMode) { m_inQuirksMode = inQuirksMode; } 66 enum class QuirksMode { No, Limited, Yes }; 67 void setQuirksMode(QuirksMode quirksMode) { m_quirksMode = quirksMode; } 67 68 68 69 enum class UpdateType { … … 89 90 bool hasDisplayBox(const Box& layoutBox) const { return m_layoutToDisplayBox.contains(&layoutBox); } 90 91 91 bool inQuirksMode() const { return m_inQuirksMode; } 92 bool inQuirksMode() const { return m_quirksMode == QuirksMode::Yes; } 93 bool inLimitedQuirksMode() const { return m_quirksMode == QuirksMode::Limited; } 94 bool inNoQuirksMode() const { return m_quirksMode == QuirksMode::No; } 92 95 // For testing purposes only 93 96 void verifyAndOutputMismatchingLayoutTree(const RenderView&) const; … … 104 107 #endif 105 108 mutable HashMap<const Box*, std::unique_ptr<Display::Box>> m_layoutToDisplayBox; 106 bool m_inQuirksMode { false};109 QuirksMode m_quirksMode { QuirksMode::No }; 107 110 }; 108 111 -
trunk/Source/WebCore/page/FrameViewLayoutContext.cpp
r245868 r246477 61 61 auto initialContainingBlock = Layout::TreeBuilder::createLayoutTree(renderView); 62 62 auto layoutState = std::make_unique<Layout::LayoutState>(*initialContainingBlock); 63 layoutState->setInQuirksMode(renderView.document().inQuirksMode()); 63 auto quirksMode = Layout::LayoutState::QuirksMode::No; 64 if (renderView.document().inLimitedQuirksMode()) 65 quirksMode = Layout::LayoutState::QuirksMode::Limited; 66 else if (renderView.document().inQuirksMode()) 67 quirksMode = Layout::LayoutState::QuirksMode::Yes; 68 layoutState->setQuirksMode(quirksMode); 64 69 layoutState->updateLayout(); 65 70 layoutState->verifyAndOutputMismatchingLayoutTree(renderView);
Note: See TracChangeset
for help on using the changeset viewer.