1197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch// found in the LICENSE file. 4197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 5197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "config.h" 6197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "core/rendering/RenderPagedFlowThread.h" 7197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 8c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 9197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 10197021e6b966cfb06891637935ef33fff06433d1Ben MurdochRenderPagedFlowThread* RenderPagedFlowThread::createAnonymous(Document& document, RenderStyle* parentStyle) 11197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{ 12197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch RenderPagedFlowThread* renderer = new RenderPagedFlowThread(); 13197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch renderer->setDocumentForAnonymous(&document); 14197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch renderer->setStyle(RenderStyle::createAnonymousStyleWithDisplay(parentStyle, BLOCK)); 15197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch return renderer; 16197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch} 17197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 18197021e6b966cfb06891637935ef33fff06433d1Ben Murdochconst char* RenderPagedFlowThread::renderName() const 19197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{ 20197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch return "RenderPagedFlowThread"; 21197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch} 22197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 23197021e6b966cfb06891637935ef33fff06433d1Ben Murdochbool RenderPagedFlowThread::needsNewWidth() const 24197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{ 25197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch return progressionIsInline() != pagedBlockFlow()->style()->hasInlinePaginationAxis(); 26197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch} 27197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 28197021e6b966cfb06891637935ef33fff06433d1Ben Murdochvoid RenderPagedFlowThread::updateLogicalWidth() 29197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{ 30197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch // As long as we inherit from RenderMultiColumnFlowThread, we need to bypass its implementation 31197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch // here. We're not split into columns, so the flow thread width will just be whatever is 32197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch // available in the containing block. 33197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch RenderFlowThread::updateLogicalWidth(); 34197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch} 35197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 36197021e6b966cfb06891637935ef33fff06433d1Ben Murdochvoid RenderPagedFlowThread::layout() 37197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch{ 38197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch setProgressionIsInline(pagedBlockFlow()->style()->hasInlinePaginationAxis()); 39197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch RenderMultiColumnFlowThread::layout(); 40197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch} 41197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch 42c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 43