Title: [158805] trunk/Source/WebKit2
- Revision
- 158805
- Author
- [email protected]
- Date
- 2013-11-06 17:12:29 -0800 (Wed, 06 Nov 2013)
Log Message
Encoded object stream should be sequential
https://bugs.webkit.org/show_bug.cgi?id=123939
Reviewed by Andreas Kling.
Reserve space in the object stream for objects that are to be encoded, otherwise
the object stream will not be sequential.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeToObjectStream):
* Shared/ImmutableArray.h:
(WebKit::ImmutableArray::entries):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (158804 => 158805)
--- trunk/Source/WebKit2/ChangeLog 2013-11-07 00:48:56 UTC (rev 158804)
+++ trunk/Source/WebKit2/ChangeLog 2013-11-07 01:12:29 UTC (rev 158805)
@@ -1,5 +1,20 @@
2013-11-06 Anders Carlsson <[email protected]>
+ Encoded object stream should be sequential
+ https://bugs.webkit.org/show_bug.cgi?id=123939
+
+ Reviewed by Andreas Kling.
+
+ Reserve space in the object stream for objects that are to be encoded, otherwise
+ the object stream will not be sequential.
+
+ * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
+ (encodeToObjectStream):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::entries):
+
+2013-11-06 Anders Carlsson <[email protected]>
+
Allow property list classes to exist in containers
https://bugs.webkit.org/show_bug.cgi?id=123938
Modified: trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm (158804 => 158805)
--- trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm 2013-11-07 00:48:56 UTC (rev 158804)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm 2013-11-07 01:12:29 UTC (rev 158805)
@@ -104,7 +104,12 @@
{
ensureObjectStream(encoder);
- encoder->_objectStream->append(createEncodedObject(encoder, value));
+ size_t position = encoder->_objectStream->size();
+ encoder->_objectStream->append(nullptr);
+
+ RefPtr<ImmutableDictionary> encodedObject = createEncodedObject(encoder, value);
+ ASSERT(!encoder->_objectStream->entries()[position]);
+ encoder->_objectStream->entries()[position] = encodedObject.release();
}
static void encodeInvocation(WKRemoteObjectEncoder *encoder, NSInvocation *invocation)
Modified: trunk/Source/WebKit2/Shared/ImmutableArray.h (158804 => 158805)
--- trunk/Source/WebKit2/Shared/ImmutableArray.h 2013-11-07 00:48:56 UTC (rev 158804)
+++ trunk/Source/WebKit2/Shared/ImmutableArray.h 2013-11-07 01:12:29 UTC (rev 158805)
@@ -72,6 +72,7 @@
virtual bool isMutable() { return false; }
const Vector<RefPtr<APIObject>>& entries() const { return m_entries; }
+ Vector<RefPtr<APIObject>>& entries() { return m_entries; }
protected:
ImmutableArray();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes