+2018-08-02 Zalan Bujtas <zalan@apple.com>
+
+ [LFC][Floating] Remove redundant LayoutContext member variable.
+ https://bugs.webkit.org/show_bug.cgi?id=188286
+
+ Reviewed by Simon Fraser.
+
+ * layout/FloatingContext.cpp:
+ (WebCore::Layout::begin):
+ (WebCore::Layout::end):
+ (WebCore::Layout::FloatingContext::floatingPosition const):
+ (WebCore::Layout::FloatingPair::FloatingPair):
+ (WebCore::Layout::Iterator::Iterator):
+
2018-08-02 Ryosuke Niwa <rniwa@webkit.org>
Move queue processing logic from CustomElementReactionStack to CustomElementReactionQueue
private:
friend class Iterator;
- FloatingPair(const LayoutContext&, const FloatingState::FloatList&);
+ FloatingPair(const FloatingState::FloatList&);
- const LayoutContext& m_layoutContext;
const FloatingState::FloatList& m_floats;
std::optional<unsigned> m_leftIndex;
class Iterator {
public:
- Iterator(const LayoutContext&, const FloatingState::FloatList&, std::optional<LayoutUnit> verticalPosition);
+ Iterator(const FloatingState::FloatList&, std::optional<LayoutUnit> verticalPosition);
const FloatingPair& operator*() const { return m_current; }
Iterator& operator++();
private:
void set(LayoutUnit verticalPosition);
- const LayoutContext& m_layoutContext;
const FloatingState::FloatList& m_floats;
FloatingPair m_current;
};
-static Iterator begin(const LayoutContext& layoutContext, const FloatingState& floatingState, LayoutUnit initialVerticalPosition)
+static Iterator begin(const FloatingState& floatingState, LayoutUnit initialVerticalPosition)
{
// Start with the inner-most floating pair for the initial vertical position.
- return Iterator(layoutContext, floatingState.floats(), initialVerticalPosition);
+ return Iterator(floatingState.floats(), initialVerticalPosition);
}
-static Iterator end(const LayoutContext& layoutContext, const FloatingState& floatingState)
+static Iterator end(const FloatingState& floatingState)
{
- return Iterator(layoutContext, floatingState.floats(), std::nullopt);
+ return Iterator(floatingState.floats(), std::nullopt);
}
FloatingContext::FloatingContext(FloatingState& floatingState)
auto& displayBox = floatItem.displayBox();
auto marginBoxSize = displayBox.marginBox().size();
- auto end = Layout::end(layoutContext(), m_floatingState);
+ auto end = Layout::end(m_floatingState);
auto top = initialVerticalPosition;
auto bottomMost = top;
- for (auto iterator = begin(layoutContext(), m_floatingState, initialVerticalPosition); iterator != end; ++iterator) {
+ for (auto iterator = begin(m_floatingState, initialVerticalPosition); iterator != end; ++iterator) {
ASSERT(!(*iterator).isEmpty());
auto floats = *iterator;
return { position.x - containgBlockDisplayBox.left(), position.y - containgBlockDisplayBox.top() };
}
-FloatingPair::FloatingPair(const LayoutContext& layoutContext, const FloatingState::FloatList& floats)
- : m_layoutContext(layoutContext)
- , m_floats(floats)
+FloatingPair::FloatingPair(const FloatingState::FloatList& floats)
+ : m_floats(floats)
{
}
return *rightBottom;
}
-Iterator::Iterator(const LayoutContext& layoutContext, const FloatingState::FloatList& floats, std::optional<LayoutUnit> verticalPosition)
- : m_layoutContext(layoutContext)
- , m_floats(floats)
- , m_current(layoutContext, floats)
+Iterator::Iterator(const FloatingState::FloatList& floats, std::optional<LayoutUnit> verticalPosition)
+ : m_floats(floats)
+ , m_current(floats)
{
if (verticalPosition)
set(*verticalPosition);