Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / core / layout / LayoutObjectInlines.h
blob56792aa73e5d66181605204da785c28ce9c7c209
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.
5 #ifndef LayoutObjectInlines_h
6 #define LayoutObjectInlines_h
8 #include "core/dom/StyleEngine.h"
9 #include "core/layout/LayoutObject.h"
11 namespace blink {
13 // The following methods are inlined for performance but not put in
14 // LayoutObject.h because that would unnecessarily tie LayoutObject.h
15 // to StyleEngine.h for all users of LayoutObject.h that don't use
16 // these methods.
18 inline const ComputedStyle* LayoutObject::firstLineStyle() const
20 return document().styleEngine().usesFirstLineRules() ? cachedFirstLineStyle() : style();
23 inline const ComputedStyle& LayoutObject::firstLineStyleRef() const
25 const ComputedStyle* style = firstLineStyle();
26 ASSERT(style);
27 return *style;
30 inline const ComputedStyle* LayoutObject::style(bool firstLine) const
32 return firstLine ? firstLineStyle() : style();
35 inline const ComputedStyle& LayoutObject::styleRef(bool firstLine) const
37 const ComputedStyle* style = this->style(firstLine);
38 ASSERT(style);
39 return *style;
44 #endif