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 RenderPagedFlowThread_h 6 #define RenderPagedFlowThread_h 7 8 #include "core/rendering/RenderMultiColumnFlowThread.h" 9 10 namespace blink { 11 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 // RenderMultiColumnFlowThread and RenderPagedFlowThread in RenderFlowThread, and have both of them 15 // inherit from that one. 16 class RenderPagedFlowThread : public RenderMultiColumnFlowThread { 17 public: 18 static RenderPagedFlowThread* createAnonymous(Document&, RenderStyle* parentStyle); 19 pagedBlockFlow()20 RenderBlockFlow* pagedBlockFlow() const { return toRenderBlockFlow(parent()); } 21 isRenderPagedFlowThread()22 virtual bool isRenderPagedFlowThread() const OVERRIDE { return true; } heightIsAuto()23 virtual bool heightIsAuto() const OVERRIDE { return !columnHeightAvailable(); } 24 virtual const char* renderName() const OVERRIDE; 25 virtual bool needsNewWidth() const OVERRIDE; 26 virtual void updateLogicalWidth() OVERRIDE; 27 virtual void layout(); 28 }; 29 30 } // namespace blink 31 32 #endif // RenderPagedFlowThread_h 33