Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: Source/core/rendering/RenderMultiColumnSpannerPlaceholder.h

Issue 789433006: [New Multicolumn] Let a spanner's containing block be the multicol container. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Compiling release: paint invalidation state is cleared in the super class anyway. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef RenderMultiColumnSpannerPlaceholder_h
6 #define RenderMultiColumnSpannerPlaceholder_h
7
8 #include "core/rendering/RenderMultiColumnFlowThread.h"
9
10 namespace blink {
11
12 // Placeholder renderer for column-span:all elements. The column-span:all render er itself is a
13 // descendant of the flow thread, but due to its out-of-flow nature, we need som ething on the
14 // outside to take care of its positioning and sizing. RenderMultiColumnSpannerP laceholder objects
15 // are siblings of RenderMultiColumnSet objects, i.e. direct children of the mul ticol container.
16 class RenderMultiColumnSpannerPlaceholder final : public RenderBox {
17 public:
18 virtual bool isOfType(RenderObjectType type) const override { return type == RenderObjectRenderMultiColumnSpannerPlaceholder || RenderBox::isOfType(type); }
19
20 static RenderMultiColumnSpannerPlaceholder* createAnonymous(RenderStyle* par entStyle, RenderBox*);
21
22 RenderFlowThread* flowThread() const { return toRenderBlockFlow(parent())->m ultiColumnFlowThread(); }
23
24 RenderBox* rendererInFlowThread() const { return m_rendererInFlowThread; }
25 void setRendererInFlowThread(RenderBox* renderer) { m_rendererInFlowThread = renderer; }
26 void spannerWillBeRemoved();
27
28 protected:
29 virtual void willBeRemovedFromTree() override;
30 virtual bool needsPreferredWidthsRecalculation() const override;
31 virtual void layout() override;
32 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&) override;
33 virtual const char* renderName() const override;
34
35 private:
36 RenderMultiColumnSpannerPlaceholder(RenderBox*);
37
38 RenderBox* m_rendererInFlowThread; // The actual column-span:all renderer in side the flow thread.
39 };
40
41 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderMultiColumnSpannerPlaceholder, isRenderMul tiColumnSpannerPlaceholder());
42
43 } // namespace blink
44
45 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698