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

Side by Side Diff: sky/engine/core/dom/Element.h

Issue 837883002: Store features in the ScopedStyleResoolver. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Simpler even. Created 5 years, 11 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
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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 156
157 virtual String nodeName() const override; 157 virtual String nodeName() const override;
158 158
159 PassRefPtr<Element> cloneElementWithChildren(); 159 PassRefPtr<Element> cloneElementWithChildren();
160 PassRefPtr<Element> cloneElementWithoutChildren(); 160 PassRefPtr<Element> cloneElementWithoutChildren();
161 161
162 void setBooleanAttribute(const QualifiedName& name, bool); 162 void setBooleanAttribute(const QualifiedName& name, bool);
163 163
164 void invalidateStyleAttribute(); 164 void invalidateStyleAttribute();
165 165
166 bool affectedByAttributeSelector(const AtomicString& attributeName) const;
167 bool affectedByClassSelector(const AtomicString& classValue) const;
168 bool affectedByIdSelector(const AtomicString& idValue) const;
169
166 const StylePropertySet* inlineStyle() const { return elementData() ? element Data()->m_inlineStyle.get() : 0; } 170 const StylePropertySet* inlineStyle() const { return elementData() ? element Data()->m_inlineStyle.get() : 0; }
167 171
168 bool setInlineStyleProperty(CSSPropertyID, CSSValueID identifier, bool impor tant = false); 172 bool setInlineStyleProperty(CSSPropertyID, CSSValueID identifier, bool impor tant = false);
169 bool setInlineStyleProperty(CSSPropertyID, double value, CSSPrimitiveValue:: UnitType, bool important = false); 173 bool setInlineStyleProperty(CSSPropertyID, double value, CSSPrimitiveValue:: UnitType, bool important = false);
170 bool setInlineStyleProperty(CSSPropertyID, const String& value, bool importa nt = false); 174 bool setInlineStyleProperty(CSSPropertyID, const String& value, bool importa nt = false);
171 bool removeInlineStyleProperty(CSSPropertyID); 175 bool removeInlineStyleProperty(CSSPropertyID);
172 void removeAllInlineStyleProperties(); 176 void removeAllInlineStyleProperties();
173 177
174 void synchronizeStyleAttributeInternal() const; 178 void synchronizeStyleAttributeInternal() const;
175 179
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 virtual void setWasFocusedByMouse(bool) { } 324 virtual void setWasFocusedByMouse(bool) { }
321 325
322 // classAttributeChanged() exists to share code between 326 // classAttributeChanged() exists to share code between
323 // parseAttribute (called via setAttribute()) and 327 // parseAttribute (called via setAttribute()) and
324 // svgAttributeChanged (called when element.className.baseValue is set) 328 // svgAttributeChanged (called when element.className.baseValue is set)
325 void classAttributeChanged(const AtomicString& newClassString); 329 void classAttributeChanged(const AtomicString& newClassString);
326 330
327 private: 331 private:
328 void attributeChanged(const QualifiedName&, const AtomicString&, AttributeMo dificationReason = ModifiedDirectly); 332 void attributeChanged(const QualifiedName&, const AtomicString&, AttributeMo dificationReason = ModifiedDirectly);
329 333
334 bool classChangeNeedsStyleRecalc(const SpaceSplitString& oldClasses, const S paceSplitString& newClasses);
335
330 bool hasElementFlag(ElementFlags mask) const { return hasRareData() && hasEl ementFlagInternal(mask); } 336 bool hasElementFlag(ElementFlags mask) const { return hasRareData() && hasEl ementFlagInternal(mask); }
331 void setElementFlag(ElementFlags, bool value = true); 337 void setElementFlag(ElementFlags, bool value = true);
332 void clearElementFlag(ElementFlags); 338 void clearElementFlag(ElementFlags);
333 bool hasElementFlagInternal(ElementFlags) const; 339 bool hasElementFlagInternal(ElementFlags) const;
334 340
335 bool isElementNode() const = delete; // This will catch anyone doing an unne cessary check. 341 bool isElementNode() const = delete; // This will catch anyone doing an unne cessary check.
336 bool isDocumentFragment() const = delete; // This will catch anyone doing an unnecessary check. 342 bool isDocumentFragment() const = delete; // This will catch anyone doing an unnecessary check.
337 bool isDocumentNode() const = delete; // This will catch anyone doing an unn ecessary check. 343 bool isDocumentNode() const = delete; // This will catch anyone doing an unn ecessary check.
338 344
339 void styleAttributeChanged(const AtomicString& newStyleString); 345 void styleAttributeChanged(const AtomicString& newStyleString);
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 static PassRefPtr<T> create(const QualifiedName&, Document&) 600 static PassRefPtr<T> create(const QualifiedName&, Document&)
595 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 601 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
596 PassRefPtr<T> T::create(const QualifiedName& tagName, Document& document) \ 602 PassRefPtr<T> T::create(const QualifiedName& tagName, Document& document) \
597 { \ 603 { \
598 return adoptRef(new T(tagName, document)); \ 604 return adoptRef(new T(tagName, document)); \
599 } 605 }
600 606
601 } // namespace 607 } // namespace
602 608
603 #endif // SKY_ENGINE_CORE_DOM_ELEMENT_H_ 609 #endif // SKY_ENGINE_CORE_DOM_ELEMENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698