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.
5 #ifndef LayoutPagedFlowThread_h
6 #define LayoutPagedFlowThread_h
8 #include "core/layout/LayoutMultiColumnFlowThread.h"
12 // A flow thread for paged overflow. FIXME: The current implementation relies on the multicol
13 // implementation, but it in the long run it would be better to have what's common between
14 // LayoutMultiColumnFlowThread and LayoutPagedFlowThread in LayoutFlowThread, and have both of them
15 // inherit from that one.
16 class LayoutPagedFlowThread
: public LayoutMultiColumnFlowThread
{
18 static LayoutPagedFlowThread
* createAnonymous(Document
&, const ComputedStyle
& parentStyle
);
20 LayoutBlockFlow
* pagedBlockFlow() const { return toLayoutBlockFlow(parent()); }
22 // Return the number of pages. Will never be less than 1.
25 bool isLayoutPagedFlowThread() const override
{ return true; }
26 const char* name() const override
{ return "LayoutPagedFlowThread"; }
27 bool needsNewWidth() const override
;
28 void updateLogicalWidth() override
;
29 virtual void layout();
32 bool descendantIsValidColumnSpanner(LayoutObject
* /*descendant*/) const override
{ return false; }
37 #endif // LayoutPagedFlowThread_h