Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: Source/core/css/resolver/ElementResolveContext.h

Issue 686723002: Improve RAII of StyleResolverState. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix unused var + minor diff noise. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 20 matching lines...) Expand all
31 class Document; 31 class Document;
32 class Element; 32 class Element;
33 class RenderStyle; 33 class RenderStyle;
34 34
35 // ElementResolveContext is immutable and serves as an input to the style resolv e process. 35 // ElementResolveContext is immutable and serves as an input to the style resolv e process.
36 class ElementResolveContext { 36 class ElementResolveContext {
37 STACK_ALLOCATED(); 37 STACK_ALLOCATED();
38 public: 38 public:
39 explicit ElementResolveContext(const Document&); 39 explicit ElementResolveContext(const Document&);
40 40
41 explicit ElementResolveContext(Element&); 41 ElementResolveContext(Element&, RenderStyle* parentStyle);
42 42
43 Element* element() const { return m_element; } 43 Element* element() const { return m_element; }
44 const ContainerNode* parentNode() const { return m_parentNode; } 44 const ContainerNode* parentNode() const { return m_parentNode; }
45 RenderStyle* parentStyle() const { return m_parentStyle; }
45 const RenderStyle* rootElementStyle() const { return m_rootElementStyle; } 46 const RenderStyle* rootElementStyle() const { return m_rootElementStyle; }
46 EInsideLink elementLinkState() const { return m_elementLinkState; } 47 EInsideLink elementLinkState() const { return m_elementLinkState; }
47 bool distributedToInsertionPoint() const { return m_distributedToInsertionPo int; } 48 bool distributedToInsertionPoint() const { return m_distributedToInsertionPo int; }
48 49
49 private: 50 private:
50 RawPtrWillBeMember<Element> m_element; 51 RawPtrWillBeMember<Element> m_element;
51 RawPtrWillBeMember<ContainerNode> m_parentNode; 52 RawPtrWillBeMember<ContainerNode> m_parentNode;
53 RenderStyle* m_parentStyle;
52 RenderStyle* m_rootElementStyle; 54 RenderStyle* m_rootElementStyle;
53 EInsideLink m_elementLinkState; 55 EInsideLink m_elementLinkState;
54 bool m_distributedToInsertionPoint; 56 bool m_distributedToInsertionPoint;
55 }; 57 };
56 58
57 } // namespace blink 59 } // namespace blink
58 60
59 #endif // ElementResolveContext_h 61 #endif // ElementResolveContext_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698