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

Side by Side Diff: Source/core/dom/Element.h

Issue 540533004: Use style invalidation for more pseudo classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased Created 6 years, 2 months 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
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/Element.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved. 6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 10 matching lines...) Expand all
21 * Boston, MA 02110-1301, USA. 21 * Boston, MA 02110-1301, USA.
22 * 22 *
23 */ 23 */
24 24
25 #ifndef Element_h 25 #ifndef Element_h
26 #define Element_h 26 #define Element_h
27 27
28 #include "core/CSSPropertyNames.h" 28 #include "core/CSSPropertyNames.h"
29 #include "core/HTMLNames.h" 29 #include "core/HTMLNames.h"
30 #include "core/css/CSSPrimitiveValue.h" 30 #include "core/css/CSSPrimitiveValue.h"
31 #include "core/css/CSSSelector.h"
31 #include "core/dom/Attribute.h" 32 #include "core/dom/Attribute.h"
32 #include "core/dom/ContainerNode.h" 33 #include "core/dom/ContainerNode.h"
33 #include "core/dom/ElementData.h" 34 #include "core/dom/ElementData.h"
34 #include "core/dom/SpaceSplitString.h" 35 #include "core/dom/SpaceSplitString.h"
35 #include "core/html/CollectionType.h" 36 #include "core/html/CollectionType.h"
36 #include "core/page/FocusType.h" 37 #include "core/page/FocusType.h"
37 #include "platform/heap/Handle.h" 38 #include "platform/heap/Handle.h"
38 39
39 namespace blink { 40 namespace blink {
40 41
(...skipping 13 matching lines...) Expand all
54 class Image; 55 class Image;
55 class InputMethodContext; 56 class InputMethodContext;
56 class IntSize; 57 class IntSize;
57 class Locale; 58 class Locale;
58 class MutableStylePropertySet; 59 class MutableStylePropertySet;
59 class PropertySetCSSStyleDeclaration; 60 class PropertySetCSSStyleDeclaration;
60 class PseudoElement; 61 class PseudoElement;
61 class ShadowRoot; 62 class ShadowRoot;
62 class StylePropertySet; 63 class StylePropertySet;
63 64
64 enum AffectedSelectorType {
65 AffectedSelectorChecked = 1,
66 AffectedSelectorEnabled = 1 << 1,
67 AffectedSelectorDisabled = 1 << 2,
68 AffectedSelectorIndeterminate = 1 << 3,
69 AffectedSelectorLink = 1 << 4,
70 AffectedSelectorTarget = 1 << 5,
71 AffectedSelectorVisited = 1 << 6
72 };
73 typedef int AffectedSelectorMask;
74
75 enum SpellcheckAttributeState { 65 enum SpellcheckAttributeState {
76 SpellcheckAttributeTrue, 66 SpellcheckAttributeTrue,
77 SpellcheckAttributeFalse, 67 SpellcheckAttributeFalse,
78 SpellcheckAttributeDefault 68 SpellcheckAttributeDefault
79 }; 69 };
80 70
81 enum ElementFlags { 71 enum ElementFlags {
82 TabIndexWasSetExplicitly = 1 << 0, 72 TabIndexWasSetExplicitly = 1 << 0,
83 StyleAffectedByEmpty = 1 << 1, 73 StyleAffectedByEmpty = 1 << 1,
84 IsInCanvasSubtree = 1 << 2, 74 IsInCanvasSubtree = 1 << 2,
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 296
307 bool hasEquivalentAttributes(const Element* other) const; 297 bool hasEquivalentAttributes(const Element* other) const;
308 298
309 virtual void copyNonAttributePropertiesFromElement(const Element&) { } 299 virtual void copyNonAttributePropertiesFromElement(const Element&) { }
310 300
311 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE; 301 virtual void attach(const AttachContext& = AttachContext()) OVERRIDE;
312 virtual void detach(const AttachContext& = AttachContext()) OVERRIDE; 302 virtual void detach(const AttachContext& = AttachContext()) OVERRIDE;
313 virtual RenderObject* createRenderer(RenderStyle*); 303 virtual RenderObject* createRenderer(RenderStyle*);
314 virtual bool rendererIsNeeded(const RenderStyle&); 304 virtual bool rendererIsNeeded(const RenderStyle&);
315 void recalcStyle(StyleRecalcChange, Text* nextTextSibling = 0); 305 void recalcStyle(StyleRecalcChange, Text* nextTextSibling = 0);
316 void didAffectSelector(AffectedSelectorMask); 306 void pseudoStateChanged(CSSSelector::PseudoType);
317 void setAnimationStyleChange(bool); 307 void setAnimationStyleChange(bool);
318 void setNeedsAnimationStyleRecalc(); 308 void setNeedsAnimationStyleRecalc();
319 309
320 void setNeedsCompositingUpdate(); 310 void setNeedsCompositingUpdate();
321 311
322 bool supportsStyleSharing() const; 312 bool supportsStyleSharing() const;
323 313
324 ElementShadow* shadow() const; 314 ElementShadow* shadow() const;
325 ElementShadow& ensureShadow(); 315 ElementShadow& ensureShadow();
326 PassRefPtrWillBeRawPtr<ShadowRoot> createShadowRoot(ExceptionState&); 316 PassRefPtrWillBeRawPtr<ShadowRoot> createShadowRoot(ExceptionState&);
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) 852 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&)
863 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 853 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
864 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ 854 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \
865 { \ 855 { \
866 return adoptRefWillBeNoop(new T(tagName, document)); \ 856 return adoptRefWillBeNoop(new T(tagName, document)); \
867 } 857 }
868 858
869 } // namespace 859 } // namespace
870 860
871 #endif // Element_h 861 #endif // Element_h
OLDNEW
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/Element.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698