⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 163470 in webkit


Ignore:
Timestamp:
Feb 5, 2014, 1:21:49 PM (13 years ago)
Author:
mitz@apple.com
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.

Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r163456 r163470  
     12014-02-05  Dan Bernstein  <mitz@apple.com>
     2
     3        [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
     4        https://bugs.webkit.org/show_bug.cgi?id=128268
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
     9        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
     10        set the length out parameter to 0.
     11
     12        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
     13        (propertyListClasses): Added NSNull.
     14
     15        * Shared/UserData.cpp:
     16        (WebKit::UserData::encode): Encode the Double type.
     17
    1182014-02-05  Jer Noble  <jer.noble@apple.com>
    219
  • trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm

    r163000 r163470  
    555555{
    556556    auto* data = _currentDictionary->get<API::Data>(escapeKey(key));
    557     if (!data || !data->size())
     557    if (!data || !data->size()) {
     558        *length = 0;
    558559        return nullptr;
     560    }
    559561
    560562    *length = data->size();
  • trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm

    r159760 r163470  
    5656{
    5757    // FIXME: Add more property list classes if needed.
    58     static NSSet *propertyListClasses = [[NSSet alloc] initWithObjects:[NSArray class], [NSDictionary class], [NSNumber class], [NSString class], nil];
     58    static NSSet *propertyListClasses = [[NSSet alloc] initWithObjects:[NSArray class], [NSDictionary class], [NSNull class], [NSNumber class], [NSString class], nil];
    5959
    6060    return propertyListClasses;
  • trunk/Source/WebKit2/Shared/UserData.cpp

    r162909 r163470  
    139139    }
    140140
     141    case API::Object::Type::Double:
     142        static_cast<const API::Double&>(object).encode(encoder);
     143        break;
     144
    141145    case API::Object::Type::Error:
    142146        static_cast<const API::Error&>(object).encode(encoder);
Note: See TracChangeset for help on using the changeset viewer.