Title: [163470] trunk/Source/WebKit2
- Revision
- 163470
- Author
- m...@apple.com
- Date
- 2014-02-05 13:21:49 -0800 (Wed, 05 Feb 2014)
Log Message
[Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
https://bugs.webkit.org/show_bug.cgi?id=128268
Reviewed by Anders Carlsson.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
set the length out parameter to 0.
* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
(propertyListClasses): Added NSNull.
* Shared/UserData.cpp:
(WebKit::UserData::encode): Encode the Double type.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (163469 => 163470)
--- trunk/Source/WebKit2/ChangeLog 2014-02-05 21:15:42 UTC (rev 163469)
+++ trunk/Source/WebKit2/ChangeLog 2014-02-05 21:21:49 UTC (rev 163470)
@@ -1,3 +1,20 @@
+2014-02-05 Dan Bernstein <m...@apple.com>
+
+ [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
+ https://bugs.webkit.org/show_bug.cgi?id=128268
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
+ (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
+ set the length out parameter to 0.
+
+ * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
+ (propertyListClasses): Added NSNull.
+
+ * Shared/UserData.cpp:
+ (WebKit::UserData::encode): Encode the Double type.
+
2014-02-05 Jer Noble <jer.no...@apple.com>
[WK2] [iOS] No video on embedded YouTube
Modified: trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm (163469 => 163470)
--- trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm 2014-02-05 21:15:42 UTC (rev 163469)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm 2014-02-05 21:21:49 UTC (rev 163470)
@@ -554,8 +554,10 @@
- (const uint8_t *)decodeBytesForKey:(NSString *)key returnedLength:(NSUInteger *)length
{
auto* data = ""
- if (!data || !data->size())
+ if (!data || !data->size()) {
+ *length = 0;
return nullptr;
+ }
*length = data->size();
return data->bytes();
Modified: trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm (163469 => 163470)
--- trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm 2014-02-05 21:15:42 UTC (rev 163469)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm 2014-02-05 21:21:49 UTC (rev 163470)
@@ -55,7 +55,7 @@
static NSSet *propertyListClasses()
{
// FIXME: Add more property list classes if needed.
- static NSSet *propertyListClasses = [[NSSet alloc] initWithObjects:[NSArray class], [NSDictionary class], [NSNumber class], [NSString class], nil];
+ static NSSet *propertyListClasses = [[NSSet alloc] initWithObjects:[NSArray class], [NSDictionary class], [NSNull class], [NSNumber class], [NSString class], nil];
return propertyListClasses;
}
Modified: trunk/Source/WebKit2/Shared/UserData.cpp (163469 => 163470)
--- trunk/Source/WebKit2/Shared/UserData.cpp 2014-02-05 21:15:42 UTC (rev 163469)
+++ trunk/Source/WebKit2/Shared/UserData.cpp 2014-02-05 21:21:49 UTC (rev 163470)
@@ -138,6 +138,10 @@
break;
}
+ case API::Object::Type::Double:
+ static_cast<const API::Double&>(object).encode(encoder);
+ break;
+
case API::Object::Type::Error:
static_cast<const API::Error&>(object).encode(encoder);
break;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes