Changeset 160393 in webkit


Ignore:
Timestamp:
Dec 10, 2013 3:30:22 PM (10 years ago)
Author:
andersca@apple.com
Message:

Add encode and decode functions to WebNumber
https://bugs.webkit.org/show_bug.cgi?id=125547

Reviewed by Beth Dakin.

  • Shared/APINumber.h:

(WebKit::WebNumber::encode):
(WebKit::WebNumber::decode):

  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r160392 r160393  
     12013-12-10  Anders Carlsson  <andersca@apple.com>
     2
     3        Add encode and decode functions to WebNumber
     4        https://bugs.webkit.org/show_bug.cgi?id=125547
     5
     6        Reviewed by Beth Dakin.
     7
     8        * Shared/APINumber.h:
     9        (WebKit::WebNumber::encode):
     10        (WebKit::WebNumber::decode):
     11        * Shared/UserData.cpp:
     12        (WebKit::UserData::encode):
     13        (WebKit::UserData::decode):
     14
    1152013-12-10  Nick Diego Yamane  <nick.yamane@openbossa.org>
    216
  • trunk/Source/WebKit2/Shared/APINumber.h

    r160391 r160393  
    2828
    2929#include "APIObject.h"
     30#include "ArgumentDecoder.h"
     31#include "ArgumentEncoder.h"
    3032#include <wtf/PassRefPtr.h>
    3133
     
    4143
    4244    NumberType value() const { return m_value; }
     45
     46    void encode(CoreIPC::ArgumentEncoder& encoder) const
     47    {
     48        encoder << m_value;
     49    }
     50
     51    static bool decode(CoreIPC::ArgumentDecoder& decoder, RefPtr<API::Object>& result)
     52    {
     53        NumberType value;
     54        if (!decoder.decode(value))
     55            return false;
     56
     57        result = WebNumber::create(value);
     58        return true;
     59    }
    4360
    4461private:
  • trunk/Source/WebKit2/Shared/UserData.cpp

    r160391 r160393  
    115115    }
    116116
    117     case API::Object::Type::Boolean: {
    118         auto& boolean = static_cast<const WebBoolean&>(object);
    119         encoder << boolean.value();
    120         break;
    121     }
     117    case API::Object::Type::Boolean:
     118        static_cast<const WebBoolean&>(object).encode(encoder);
     119        break;
    122120
    123121    case API::Object::Type::Dictionary: {
     
    139137    }
    140138
    141     case API::Object::Type::Point: {
    142         auto& point = static_cast<const WebPoint&>(object);
    143         point.encode(encoder);
    144         break;
    145     }
    146 
    147     case API::Object::Type::Rect: {
    148         auto& rect = static_cast<const WebRect&>(object);
    149         rect.encode(encoder);
    150         break;
    151     }
     139    case API::Object::Type::Point:
     140        static_cast<const WebPoint&>(object).encode(encoder);
     141
     142    case API::Object::Type::Rect:
     143        static_cast<const WebRect&>(object).encode(encoder);
    152144
    153145    case API::Object::Type::SerializedScriptValue: {
     
    157149    }
    158150
    159     case API::Object::Type::Size: {
    160         auto& size = static_cast<const WebSize&>(object);
    161         size.encode(encoder);
    162         break;
    163     }
     151    case API::Object::Type::Size:
     152        static_cast<const WebSize&>(object).encode(encoder);
     153        break;
    164154
    165155    case API::Object::Type::String: {
     
    175165    }
    176166
    177     case API::Object::Type::UInt64: {
    178         auto& uint64 = static_cast<const WebUInt64&>(object);
    179         encoder << uint64.value();
    180         break;
    181     }
     167    case API::Object::Type::UInt64:
     168        static_cast<const WebUInt64&>(object).encode(encoder);
     169        break;
    182170
    183171    default:
     
    211199    }
    212200
    213     case API::Object::Type::Boolean: {
    214         bool value;
    215         if (!decoder.decode(value))
    216             return false;
    217 
    218         result = WebBoolean::create(value);
    219         break;
    220     }
     201    case API::Object::Type::Boolean:
     202        if (!WebBoolean::decode(decoder, result))
     203            return false;
     204        break;
    221205
    222206    case API::Object::Type::Dictionary: {
     
    243227    }
    244228
     229    case API::Object::Type::Double:
     230        if (!WebDouble::decode(decoder, result))
     231            return false;
     232        break;
     233
    245234    case API::Object::Type::FrameHandle: {
    246235        uint64_t frameID;
     
    298287    }
    299288
    300     case API::Object::Type::UInt64: {
    301         uint64_t value;
    302         if (!decoder.decode(value))
    303             return false;
    304         result = WebUInt64::create(value);
    305         break;
    306     }
     289    case API::Object::Type::UInt64:
     290        if (!WebUInt64::decode(decoder, result))
     291            return false;
     292        break;
    307293
    308294    default:
Note: See TracChangeset for help on using the changeset viewer.