// Copyright 2014 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. #ifndef LayoutObjectInlines_h #define LayoutObjectInlines_h #include "core/dom/StyleEngine.h" #include "core/layout/LayoutObject.h" namespace blink { // The following methods are inlined for performance but not put in // LayoutObject.h because that would unnecessarily tie LayoutObject.h // to StyleEngine.h for all users of LayoutObject.h that don't use // these methods. inline const ComputedStyle* LayoutObject::firstLineStyle() const { return document().styleEngine().usesFirstLineRules() ? cachedFirstLineStyle() : style(); } inline const ComputedStyle& LayoutObject::firstLineStyleRef() const { const ComputedStyle* style = firstLineStyle(); ASSERT(style); return *style; } inline const ComputedStyle* LayoutObject::style(bool firstLine) const { return firstLine ? firstLineStyle() : style(); } inline const ComputedStyle& LayoutObject::styleRef(bool firstLine) const { const ComputedStyle* style = this->style(firstLine); ASSERT(style); return *style; } } // namespace blink #endif