| Index: third_party/WebKit/Source/core/css/CSSSelectorList.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/CSSSelectorList.cpp b/third_party/WebKit/Source/core/css/CSSSelectorList.cpp
|
| index 351d39845ab6809b09486c76d86947f3dd1ff562..1b30815a5f3b1d55bbcd93fde0a07ce56ec06bcc 100644
|
| --- a/third_party/WebKit/Source/core/css/CSSSelectorList.cpp
|
| +++ b/third_party/WebKit/Source/core/css/CSSSelectorList.cpp
|
| @@ -27,6 +27,8 @@
|
| #include "core/css/CSSSelectorList.h"
|
|
|
| #include "core/css/parser/CSSParserSelector.h"
|
| +#include "core/css/serializer/CSSDeserializeStream.h"
|
| +#include "core/css/serializer/CSSSerializeStream.h"
|
| #include "wtf/Partitions.h"
|
| #include "wtf/text/StringBuilder.h"
|
|
|
| @@ -79,6 +81,28 @@ CSSSelectorList CSSSelectorList::adoptSelectorVector(Vector<OwnPtr<CSSParserSele
|
| return list;
|
| }
|
|
|
| +CSSSelectorList CSSSelectorList::deserialize(CSSDeserializeStream* stream)
|
| +{
|
| + CSSSelectorList list;
|
| +
|
| + unsigned len = stream->readUnsigned();
|
| + list.m_selectorArray = reinterpret_cast<CSSSelector*>(WTF::Partitions::fastMalloc(sizeof(CSSSelector) * len, WTF_HEAP_PROFILER_TYPE_NAME(CSSSelector)));
|
| + for (unsigned i = 0; i < len; ++i) {
|
| + new (&list.m_selectorArray[i]) CSSSelector(stream);
|
| + }
|
| +
|
| + return list;
|
| +}
|
| +
|
| +void CSSSelectorList::serialize(CSSSerializeStream* stream) const
|
| +{
|
| + unsigned len = length();
|
| + stream->writeUnsigned(len);
|
| + for (unsigned i = 0; i < len; ++i) {
|
| + m_selectorArray[i].serialize(stream);
|
| + }
|
| +}
|
| +
|
| unsigned CSSSelectorList::length() const
|
| {
|
| if (!m_selectorArray)
|
|
|