OLD | NEW |
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, 2013 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. | 4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. |
5 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 5 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 // Setting the value to an empty string just removes the property in both IE
and Gecko. | 243 // Setting the value to an empty string just removes the property in both IE
and Gecko. |
244 // Setting it to null seems to produce less consistent results, but we treat
it just the same. | 244 // Setting it to null seems to produce less consistent results, but we treat
it just the same. |
245 if (value.isEmpty()) | 245 if (value.isEmpty()) |
246 return removeProperty(resolveCSSPropertyID(unresolvedProperty)); | 246 return removeProperty(resolveCSSPropertyID(unresolvedProperty)); |
247 | 247 |
248 // When replacing an existing property value, this moves the property to the
end of the list. | 248 // When replacing an existing property value, this moves the property to the
end of the list. |
249 // Firefox preserves the position, and MSIE moves the property to the beginn
ing. | 249 // Firefox preserves the position, and MSIE moves the property to the beginn
ing. |
250 return CSSParser::parseValue(this, unresolvedProperty, value, important, css
ParserMode(), contextStyleSheet); | 250 return CSSParser::parseValue(this, unresolvedProperty, value, important, css
ParserMode(), contextStyleSheet); |
251 } | 251 } |
252 | 252 |
253 void MutableStylePropertySet::setProperty(CSSPropertyID propertyID, CSSValue prp
Value, bool important) | 253 void MutableStylePropertySet::setProperty(CSSPropertyID propertyID, const CSSVal
ue& prpValue, bool important) |
254 { | 254 { |
255 StylePropertyShorthand shorthand = shorthandForProperty(propertyID); | 255 StylePropertyShorthand shorthand = shorthandForProperty(propertyID); |
256 if (!shorthand.length()) { | 256 if (!shorthand.length()) { |
257 setProperty(CSSProperty(propertyID, prpValue, important)); | 257 setProperty(CSSProperty(propertyID, prpValue, important)); |
258 return; | 258 return; |
259 } | 259 } |
260 | 260 |
261 removePropertiesInSet(shorthand.properties(), shorthand.length()); | 261 removePropertiesInSet(shorthand.properties(), shorthand.length()); |
262 | 262 |
263 CSSValue value = prpValue; | 263 const CSSValue& value = prpValue; |
264 for (unsigned i = 0; i < shorthand.length(); ++i) | 264 for (unsigned i = 0; i < shorthand.length(); ++i) |
265 m_propertyVector.append(CSSProperty(shorthand.properties()[i], value, im
portant)); | 265 m_propertyVector.append(CSSProperty(shorthand.properties()[i], value, im
portant)); |
266 } | 266 } |
267 | 267 |
268 bool MutableStylePropertySet::setProperty(const CSSProperty& property, CSSProper
ty* slot) | 268 bool MutableStylePropertySet::setProperty(const CSSProperty& property, CSSProper
ty* slot) |
269 { | 269 { |
270 if (!removeShorthandProperty(property.id())) { | 270 if (!removeShorthandProperty(property.id())) { |
271 CSSProperty* toReplace = slot ? slot : findCSSPropertyWithID(property.id
()); | 271 CSSProperty* toReplace = slot ? slot : findCSSPropertyWithID(property.id
()); |
272 if (toReplace && *toReplace == property) | 272 if (toReplace && *toReplace == property) |
273 return false; | 273 return false; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 } | 381 } |
382 | 382 |
383 CSSProperty* MutableStylePropertySet::findCSSPropertyWithID(CSSPropertyID proper
tyID) | 383 CSSProperty* MutableStylePropertySet::findCSSPropertyWithID(CSSPropertyID proper
tyID) |
384 { | 384 { |
385 int foundPropertyIndex = findPropertyIndex(propertyID); | 385 int foundPropertyIndex = findPropertyIndex(propertyID); |
386 if (foundPropertyIndex == -1) | 386 if (foundPropertyIndex == -1) |
387 return 0; | 387 return 0; |
388 return &m_propertyVector.at(foundPropertyIndex); | 388 return &m_propertyVector.at(foundPropertyIndex); |
389 } | 389 } |
390 | 390 |
391 bool StylePropertySet::propertyMatches(CSSPropertyID propertyID, const CSSValue
propertyValue) const | 391 bool StylePropertySet::propertyMatches(CSSPropertyID propertyID, const CSSValue&
propertyValue) const |
392 { | 392 { |
393 int foundPropertyIndex = findPropertyIndex(propertyID); | 393 int foundPropertyIndex = findPropertyIndex(propertyID); |
394 if (foundPropertyIndex == -1) | 394 if (foundPropertyIndex == -1) |
395 return false; | 395 return false; |
396 return propertyAt(foundPropertyIndex).value().equals(propertyValue); | 396 return propertyAt(foundPropertyIndex).value().equals(propertyValue); |
397 } | 397 } |
398 | 398 |
399 void MutableStylePropertySet::removeEquivalentProperties(const StylePropertySet*
style) | 399 void MutableStylePropertySet::removeEquivalentProperties(const StylePropertySet*
style) |
400 { | 400 { |
401 Vector<CSSPropertyID> propertiesToRemove; | 401 Vector<CSSPropertyID> propertiesToRemove; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 { | 508 { |
509 return adoptRefWillBeNoop(new MutableStylePropertySet(cssParserMode)); | 509 return adoptRefWillBeNoop(new MutableStylePropertySet(cssParserMode)); |
510 } | 510 } |
511 | 511 |
512 PassRefPtrWillBeRawPtr<MutableStylePropertySet> MutableStylePropertySet::create(
const CSSProperty* properties, unsigned count) | 512 PassRefPtrWillBeRawPtr<MutableStylePropertySet> MutableStylePropertySet::create(
const CSSProperty* properties, unsigned count) |
513 { | 513 { |
514 return adoptRefWillBeNoop(new MutableStylePropertySet(properties, count)); | 514 return adoptRefWillBeNoop(new MutableStylePropertySet(properties, count)); |
515 } | 515 } |
516 | 516 |
517 } // namespace blink | 517 } // namespace blink |
OLD | NEW |