| // 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 |