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

Side by Side Diff: third_party/WebKit/Source/core/css/StylePropertySerializer.h

Issue 2612733002: Don't check implicit flag for serializing background and -webkit-mask (Closed)
Patch Set: Created 3 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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All
4 * rights reserved. 4 * rights reserved.
5 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. 5 * Copyright (C) 2011 Research In Motion Limited. All rights reserved.
6 * Copyright (C) 2013 Intel Corporation. All rights reserved. 6 * Copyright (C) 2013 Intel Corporation. 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // Only StylePropertySerializer uses the following two classes. 76 // Only StylePropertySerializer uses the following two classes.
77 class PropertyValueForSerializer { 77 class PropertyValueForSerializer {
78 STACK_ALLOCATED(); 78 STACK_ALLOCATED();
79 79
80 public: 80 public:
81 explicit PropertyValueForSerializer( 81 explicit PropertyValueForSerializer(
82 StylePropertySet::PropertyReference property) 82 StylePropertySet::PropertyReference property)
83 : m_value(property.value()), 83 : m_value(property.value()),
84 m_id(property.id()), 84 m_id(property.id()),
85 m_isImportant(property.isImportant()), 85 m_isImportant(property.isImportant()),
86 m_isImplicit(property.isImplicit()),
87 m_isInherited(property.isInherited()) {} 86 m_isInherited(property.isInherited()) {}
88 87
89 // TODO(sashab): Make this take a const CSSValue&. 88 // TODO(sashab): Make this take a const CSSValue&.
90 PropertyValueForSerializer(CSSPropertyID id, 89 PropertyValueForSerializer(CSSPropertyID id,
91 const CSSValue* value, 90 const CSSValue* value,
92 bool isImportant) 91 bool isImportant)
93 : m_value(value), 92 : m_value(value),
94 m_id(id), 93 m_id(id),
95 m_isImportant(isImportant), 94 m_isImportant(isImportant),
96 m_isImplicit(value->isImplicitInitialValue()),
97 m_isInherited(value->isInheritedValue()) {} 95 m_isInherited(value->isInheritedValue()) {}
98 96
99 CSSPropertyID id() const { return m_id; } 97 CSSPropertyID id() const { return m_id; }
100 const CSSValue* value() const { return m_value; } 98 const CSSValue* value() const { return m_value; }
101 bool isImportant() const { return m_isImportant; } 99 bool isImportant() const { return m_isImportant; }
102 bool isImplicit() const { return m_isImplicit; }
103 bool isInherited() const { return m_isInherited; } 100 bool isInherited() const { return m_isInherited; }
104 bool isValid() const { return m_value; } 101 bool isValid() const { return m_value; }
105 102
106 private: 103 private:
107 Member<const CSSValue> m_value; 104 Member<const CSSValue> m_value;
108 CSSPropertyID m_id; 105 CSSPropertyID m_id;
109 bool m_isImportant; 106 bool m_isImportant;
110 bool m_isImplicit;
111 bool m_isInherited; 107 bool m_isInherited;
112 }; 108 };
113 109
114 String getCustomPropertyText(const PropertyValueForSerializer&, 110 String getCustomPropertyText(const PropertyValueForSerializer&,
115 bool isNotFirstDecl) const; 111 bool isNotFirstDecl) const;
116 112
117 class StylePropertySetForSerializer final { 113 class StylePropertySetForSerializer final {
118 DISALLOW_NEW(); 114 DISALLOW_NEW();
119 115
120 public: 116 public:
121 explicit StylePropertySetForSerializer(const StylePropertySet&); 117 explicit StylePropertySetForSerializer(const StylePropertySet&);
122 118
123 unsigned propertyCount() const; 119 unsigned propertyCount() const;
124 PropertyValueForSerializer propertyAt(unsigned index) const; 120 PropertyValueForSerializer propertyAt(unsigned index) const;
125 bool shouldProcessPropertyAt(unsigned index) const; 121 bool shouldProcessPropertyAt(unsigned index) const;
126 int findPropertyIndex(CSSPropertyID) const; 122 int findPropertyIndex(CSSPropertyID) const;
127 const CSSValue* getPropertyCSSValue(CSSPropertyID) const; 123 const CSSValue* getPropertyCSSValue(CSSPropertyID) const;
128 bool isPropertyImplicit(CSSPropertyID) const;
129 124
130 DECLARE_TRACE(); 125 DECLARE_TRACE();
131 126
132 private: 127 private:
133 bool hasExpandedAllProperty() const { 128 bool hasExpandedAllProperty() const {
134 return hasAllProperty() && m_needToExpandAll; 129 return hasAllProperty() && m_needToExpandAll;
135 } 130 }
136 bool hasAllProperty() const { return m_allIndex != -1; } 131 bool hasAllProperty() const { return m_allIndex != -1; }
137 132
138 Member<const StylePropertySet> m_propertySet; 133 Member<const StylePropertySet> m_propertySet;
139 int m_allIndex; 134 int m_allIndex;
140 std::bitset<numCSSProperties> m_longhandPropertyUsed; 135 std::bitset<numCSSProperties> m_longhandPropertyUsed;
141 bool m_needToExpandAll; 136 bool m_needToExpandAll;
142 }; 137 };
143 138
144 const StylePropertySetForSerializer m_propertySet; 139 const StylePropertySetForSerializer m_propertySet;
145 }; 140 };
146 141
147 } // namespace blink 142 } // namespace blink
148 143
149 #endif // StylePropertySerializer_h 144 #endif // StylePropertySerializer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698