// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "sky/engine/config.h" #include "sky/engine/core/rendering/RenderCustomLayout.h" #include "sky/engine/core/rendering/RenderLayer.h" #include "sky/engine/core/layout/LayoutCallback.h" namespace blink { RenderCustomLayout::RenderCustomLayout(ContainerNode* node) : RenderBlock(node) { } RenderCustomLayout::~RenderCustomLayout() { } void RenderCustomLayout::layout() { // TODO(ojan): This should really be done by the author code, but // if the author code doesn't call layout, then we won't clear the // needsLayout bit and we'll assert. for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) { child->layoutIfNeeded(); } ASSERT(node()->isElementNode()); toElement(node())->layoutManager()->handleEvent(); clearNeedsLayout(); } const char* RenderCustomLayout::renderName() const { return "RenderCustomLayout"; } } // namespace blink