OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "config.h" | 22 #include "config.h" |
23 #include "core/css/resolver/StyleResolverState.h" | 23 #include "core/css/resolver/StyleResolverState.h" |
24 | 24 |
25 #include "core/animation/css/CSSAnimations.h" | 25 #include "core/animation/css/CSSAnimations.h" |
26 #include "core/dom/Node.h" | 26 #include "core/dom/Node.h" |
27 #include "core/dom/NodeRenderStyle.h" | 27 #include "core/dom/NodeRenderStyle.h" |
28 #include "core/frame/FrameHost.h" | 28 #include "core/frame/FrameHost.h" |
29 | 29 |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
32 StyleResolverState::StyleResolverState(Document& document, Element* element, Ren
derStyle* parentStyle) | 32 StyleResolverState::StyleResolverState(Document& document, const ElementResolveC
ontext& elementContext, PassRefPtr<RenderStyle> style, PassRefPtr<RenderStyle> p
arentStyle) |
33 : m_elementContext(element ? ElementResolveContext(*element) : ElementResolv
eContext(document)) | 33 : m_elementContext(elementContext) |
34 , m_document(document) | 34 , m_document(document) |
35 , m_style(nullptr) | 35 , m_style(style) |
36 , m_cssToLengthConversionData(0, rootElementStyle(), document.renderView()) | 36 , m_cssToLengthConversionData(m_style.get(), rootElementStyle(), document.re
nderView()) |
37 , m_parentStyle(parentStyle) | 37 , m_parentStyle(parentStyle ? parentStyle : RenderStyle::clone(m_style.get()
)) |
38 , m_applyPropertyToRegularStyle(true) | 38 , m_applyPropertyToRegularStyle(true) |
39 , m_applyPropertyToVisitedLinkStyle(false) | 39 , m_applyPropertyToVisitedLinkStyle(false) |
40 , m_fontBuilder(document) | 40 , m_fontBuilder(document, m_style.get()) |
41 , m_styleMap(*this, m_elementStyleResources) | 41 , m_styleMap(*this, m_elementStyleResources) |
42 { | 42 { |
43 if (!parentStyle && m_elementContext.parentNode()) | 43 ASSERT(this->style()); |
44 m_parentStyle = m_elementContext.parentNode()->renderStyle(); | 44 ASSERT(this->parentStyle()); |
45 | |
46 ASSERT(document.isActive()); | 45 ASSERT(document.isActive()); |
47 m_elementStyleResources.setDeviceScaleFactor(document.frameHost()->deviceSca
leFactor()); | 46 m_elementStyleResources.setDeviceScaleFactor(document.frameHost()->deviceSca
leFactor()); |
48 } | 47 } |
| 48 |
| 49 StyleResolverState::StyleResolverState(Document& document, Element* element, Pas
sRefPtr<RenderStyle> style, RenderStyle* parentStyle) |
| 50 : m_elementContext(element ? ElementResolveContext(*element, parentStyle) :
ElementResolveContext(document)) |
| 51 , m_document(document) |
| 52 , m_style(style) |
| 53 , m_cssToLengthConversionData(m_style.get(), rootElementStyle(), document.re
nderView()) |
| 54 , m_parentStyle(m_elementContext.parentStyle() ? m_elementContext.parentStyl
e() : RenderStyle::clone(m_style.get())) |
| 55 , m_applyPropertyToRegularStyle(true) |
| 56 , m_applyPropertyToVisitedLinkStyle(false) |
| 57 , m_fontBuilder(document, m_style.get()) |
| 58 , m_styleMap(*this, m_elementStyleResources) |
| 59 { |
| 60 ASSERT(this->style()); |
| 61 ASSERT(this->parentStyle()); |
| 62 ASSERT(document.isActive()); |
| 63 m_elementStyleResources.setDeviceScaleFactor(document.frameHost()->deviceSca
leFactor()); |
| 64 } |
49 | 65 |
50 StyleResolverState::~StyleResolverState() | 66 StyleResolverState::~StyleResolverState() |
51 { | 67 { |
52 } | 68 } |
53 | 69 |
54 void StyleResolverState::setAnimationUpdate(PassOwnPtrWillBeRawPtr<CSSAnimationU
pdate> update) | 70 void StyleResolverState::setAnimationUpdate(PassOwnPtrWillBeRawPtr<CSSAnimationU
pdate> update) |
55 { | 71 { |
56 m_animationUpdate = update; | 72 m_animationUpdate = update; |
57 } | 73 } |
58 | 74 |
59 PassOwnPtrWillBeRawPtr<CSSAnimationUpdate> StyleResolverState::takeAnimationUpda
te() | 75 PassOwnPtrWillBeRawPtr<CSSAnimationUpdate> StyleResolverState::takeAnimationUpda
te() |
60 { | 76 { |
61 return m_animationUpdate.release(); | 77 return m_animationUpdate.release(); |
62 } | 78 } |
63 | 79 |
64 } // namespace blink | 80 } // namespace blink |
OLD | NEW |