| 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 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008 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 13 matching lines...) Expand all Loading... |
| 24 #include "core/CoreExport.h" | 24 #include "core/CoreExport.h" |
| 25 #include "platform/heap/Handle.h" | 25 #include "platform/heap/Handle.h" |
| 26 #include "platform/weborigin/KURL.h" | 26 #include "platform/weborigin/KURL.h" |
| 27 #include "wtf/HashMap.h" | 27 #include "wtf/HashMap.h" |
| 28 #include "wtf/ListHashSet.h" | 28 #include "wtf/ListHashSet.h" |
| 29 #include "wtf/RefCounted.h" | 29 #include "wtf/RefCounted.h" |
| 30 #include "wtf/RefPtr.h" | 30 #include "wtf/RefPtr.h" |
| 31 | 31 |
| 32 namespace blink { | 32 namespace blink { |
| 33 | 33 |
| 34 class CORE_EXPORT CSSValue : public RefCountedWillBeGarbageCollectedFinalized<CS
SValue> { | 34 class CORE_EXPORT CSSValue : public GarbageCollectedFinalized<CSSValue> { |
| 35 #if ENABLE(OILPAN) | 35 #if ENABLE(OILPAN) |
| 36 public: | 36 public: |
| 37 // Override operator new to allocate CSSValue subtype objects onto | 37 // Override operator new to allocate CSSValue subtype objects onto |
| 38 // a dedicated heap. | 38 // a dedicated heap. |
| 39 GC_PLUGIN_IGNORE("crbug.com/443854") | 39 GC_PLUGIN_IGNORE("crbug.com/443854") |
| 40 void* operator new(size_t size) | 40 void* operator new(size_t size) |
| 41 { | 41 { |
| 42 return allocateObject(size, false); | 42 return allocateObject(size, false); |
| 43 } | 43 } |
| 44 static void* allocateObject(size_t size, bool isEager) | 44 static void* allocateObject(size_t size, bool isEager) |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 unsigned m_primitiveUnitType : 7; // CSSPrimitiveValue::UnitType | 215 unsigned m_primitiveUnitType : 7; // CSSPrimitiveValue::UnitType |
| 216 mutable unsigned m_hasCachedCSSText : 1; | 216 mutable unsigned m_hasCachedCSSText : 1; |
| 217 | 217 |
| 218 unsigned m_valueListSeparator : ValueListSeparatorBits; | 218 unsigned m_valueListSeparator : ValueListSeparatorBits; |
| 219 | 219 |
| 220 private: | 220 private: |
| 221 unsigned m_classType : ClassTypeBits; // ClassType | 221 unsigned m_classType : ClassTypeBits; // ClassType |
| 222 }; | 222 }; |
| 223 | 223 |
| 224 template<typename CSSValueType, size_t inlineCapacity> | 224 template<typename CSSValueType, size_t inlineCapacity> |
| 225 inline bool compareCSSValueVector(const WillBeHeapVector<RefPtrWillBeMember<CSSV
alueType>, inlineCapacity>& firstVector, const WillBeHeapVector<RefPtrWillBeMemb
er<CSSValueType>, inlineCapacity>& secondVector) | 225 inline bool compareCSSValueVector(const HeapVector<Member<CSSValueType>, inlineC
apacity>& firstVector, const HeapVector<Member<CSSValueType>, inlineCapacity>& s
econdVector) |
| 226 { | 226 { |
| 227 size_t size = firstVector.size(); | 227 size_t size = firstVector.size(); |
| 228 if (size != secondVector.size()) | 228 if (size != secondVector.size()) |
| 229 return false; | 229 return false; |
| 230 | 230 |
| 231 for (size_t i = 0; i < size; i++) { | 231 for (size_t i = 0; i < size; i++) { |
| 232 const RefPtrWillBeMember<CSSValueType>& firstPtr = firstVector[i]; | 232 const Member<CSSValueType>& firstPtr = firstVector[i]; |
| 233 const RefPtrWillBeMember<CSSValueType>& secondPtr = secondVector[i]; | 233 const Member<CSSValueType>& secondPtr = secondVector[i]; |
| 234 if (firstPtr == secondPtr || (firstPtr && secondPtr && firstPtr->equals(
*secondPtr))) | 234 if (firstPtr == secondPtr || (firstPtr && secondPtr && firstPtr->equals(
*secondPtr))) |
| 235 continue; | 235 continue; |
| 236 return false; | 236 return false; |
| 237 } | 237 } |
| 238 return true; | 238 return true; |
| 239 } | 239 } |
| 240 | 240 |
| 241 template<typename CSSValueType> | 241 template<typename CSSValueType> |
| 242 inline bool compareCSSValuePtr(const RefPtr<CSSValueType>& first, const RefPtr<C
SSValueType>& second) | 242 inline bool compareCSSValuePtr(const RefPtr<CSSValueType>& first, const RefPtr<C
SSValueType>& second) |
| 243 { | 243 { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 267 return false; | 267 return false; |
| 268 return first->equals(*second); | 268 return first->equals(*second); |
| 269 } | 269 } |
| 270 | 270 |
| 271 #define DEFINE_CSS_VALUE_TYPE_CASTS(thisType, predicate) \ | 271 #define DEFINE_CSS_VALUE_TYPE_CASTS(thisType, predicate) \ |
| 272 DEFINE_TYPE_CASTS(thisType, CSSValue, value, value->predicate, value.predica
te) | 272 DEFINE_TYPE_CASTS(thisType, CSSValue, value, value->predicate, value.predica
te) |
| 273 | 273 |
| 274 } // namespace blink | 274 } // namespace blink |
| 275 | 275 |
| 276 #endif // CSSValue_h | 276 #endif // CSSValue_h |
| OLD | NEW |