Changeset 88870 in webkit


Ignore:
Timestamp:
Jun 14, 2011 4:25:45 PM (13 years ago)
Author:
andersca@apple.com
Message:

2011-06-14 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Start using the new encode/decode functions
https://bugs.webkit.org/show_bug.cgi?id=62676

  • Platform/CoreIPC/DataReference.cpp: (CoreIPC::DataReference::encode): Use encodeVariableLengthByteArray.
  • Shared/UserMessageCoders.h: (WebKit::UserMessageEncoder::baseEncode): Use encodeVariableLengthByteArray and the new dataReference accessors.

(WebKit::UserMessageDecoder::baseDecode):
Use decodeVariableLengthByteArray.


  • Shared/WebData.h: (WebKit::WebData::dataReference): Return a reference to the data.
  • Shared/WebSerializedScriptValue.h: (WebKit::WebSerializedScriptValue::dataReference): Ditto.
  • Shared/cf/ArgumentCodersCF.cpp: (CoreIPC::encode): Use encodeVariableLengthByteArray.
  • Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::Handle::encode): Use encodeVariableLengthByteArray.
  • WebProcess/WebPage/DecoderAdapter.cpp: (WebKit::DecoderAdapter::decodeBytes): Use decodeVariableLengthByteArray.
  • WebProcess/WebPage/EncoderAdapter.cpp: (WebKit::EncoderAdapter::dataReference): Rename data() to dataReference() to indicate that it returns a reference to the data.

(WebKit::EncoderAdapter::encodeBytes):
Use encodeVariableLengthByteArray.

Location:
trunk/Source/WebKit2
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r88869 r88870  
     12011-06-14  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Start using the new encode/decode functions
     6        https://bugs.webkit.org/show_bug.cgi?id=62676
     7
     8        * Platform/CoreIPC/DataReference.cpp:
     9        (CoreIPC::DataReference::encode):
     10        Use encodeVariableLengthByteArray.
     11
     12        * Shared/UserMessageCoders.h:
     13        (WebKit::UserMessageEncoder::baseEncode):
     14        Use encodeVariableLengthByteArray and the new dataReference accessors.
     15
     16        (WebKit::UserMessageDecoder::baseDecode):
     17        Use decodeVariableLengthByteArray.
     18 
     19        * Shared/WebData.h:
     20        (WebKit::WebData::dataReference):
     21        Return a reference to the data.
     22
     23        * Shared/WebSerializedScriptValue.h:
     24        (WebKit::WebSerializedScriptValue::dataReference):
     25        Ditto.
     26
     27        * Shared/cf/ArgumentCodersCF.cpp:
     28        (CoreIPC::encode):
     29        Use encodeVariableLengthByteArray.
     30
     31        * Shared/mac/SandboxExtensionMac.mm:
     32        (WebKit::SandboxExtension::Handle::encode):
     33        Use encodeVariableLengthByteArray.
     34
     35        * WebProcess/WebPage/DecoderAdapter.cpp:
     36        (WebKit::DecoderAdapter::decodeBytes):
     37        Use decodeVariableLengthByteArray.
     38
     39        * WebProcess/WebPage/EncoderAdapter.cpp:
     40        (WebKit::EncoderAdapter::dataReference):
     41        Rename data() to dataReference() to indicate that it returns a reference to the data.
     42
     43        (WebKit::EncoderAdapter::encodeBytes):
     44        Use encodeVariableLengthByteArray.
     45
    1462011-06-14  Anders Carlsson  <andersca@apple.com>
    247
  • trunk/Source/WebKit2/Platform/CoreIPC/DataReference.cpp

    r88869 r88870  
    3434void DataReference::encode(ArgumentEncoder* encoder) const
    3535{
    36     encoder->encodeBytes(m_data, m_size);
     36    encoder->encodeVariableLengthByteArray(*this);
    3737}
    3838
  • trunk/Source/WebKit2/Shared/UserMessageCoders.h

    r88856 r88870  
    2929#include "ArgumentDecoder.h"
    3030#include "ArgumentEncoder.h"
     31#include "DataReference.h"
    3132#include "ImmutableArray.h"
    3233#include "ImmutableDictionary.h"
     
    9899        case APIObject::TypeSerializedScriptValue: {
    99100            WebSerializedScriptValue* scriptValue = static_cast<WebSerializedScriptValue*>(m_root);
    100             encoder->encodeBytes(scriptValue->data().data(), scriptValue->data().size());
     101            encoder->encodeVariableLengthByteArray(scriptValue->dataReference());
    101102            return true;
    102103        }
     
    144145        case APIObject::TypeData: {
    145146            WebData* data = static_cast<WebData*>(m_root);
    146             encoder->encodeBytes(data->bytes(), data->size());
     147            encoder->encodeVariableLengthByteArray(data->dataReference());
    147148            return true;
    148149        }
     
    244245        }
    245246        case APIObject::TypeSerializedScriptValue: {
    246             Vector<uint8_t> buffer;
    247             if (!decoder->decodeBytes(buffer))
    248                 return false;
    249             coder.m_root = WebSerializedScriptValue::adopt(buffer);
     247            CoreIPC::DataReference dataReference;
     248            if (!decoder->decodeVariableLengthByteArray(dataReference))
     249                return false;
     250           
     251            Vector<uint8_t> vector = dataReference.vector();
     252            coder.m_root = WebSerializedScriptValue::adopt(vector);
    250253            break;
    251254        }
     
    301304        }
    302305        case APIObject::TypeData: {
    303             Vector<uint8_t> buffer;
    304             if (!decoder->decodeBytes(buffer))
    305                 return false;
    306             coder.m_root = WebData::create(buffer);
     306            CoreIPC::DataReference dataReference;
     307            if (!decoder->decodeVariableLengthByteArray(dataReference))
     308                return false;
     309            coder.m_root = WebData::create(dataReference.data(), dataReference.size());
    307310            break;
    308311        }
  • trunk/Source/WebKit2/Shared/WebData.h

    r80942 r88870  
    2828
    2929#include "APIObject.h"
     30#include "DataReference.h"
    3031#include <wtf/Forward.h>
    3132#include <wtf/Vector.h>
     
    7172    size_t size() const { return m_size; }
    7273
     74    CoreIPC::DataReference dataReference() const { return CoreIPC::DataReference(m_bytes, m_size); }
     75
    7376private:
    7477    WebData(const unsigned char* bytes, size_t size, FreeDataFunction freeDataFunction, const void* context)
  • trunk/Source/WebKit2/Shared/WebSerializedScriptValue.h

    r69415 r88870  
    2929#include "APIObject.h"
    3030
     31#include "DataReference.h"
    3132#include <WebCore/SerializedScriptValue.h>
    3233#include <wtf/RefPtr.h>
     
    6061        return m_serializedScriptValue->deserialize(context, exception);
    6162    }
    62    
    63     const Vector<uint8_t>& data() { return m_serializedScriptValue->data(); }
     63
     64    CoreIPC::DataReference dataReference() const { return m_serializedScriptValue->data(); }
    6465
    6566    void* internalRepresentation() { return m_serializedScriptValue.get(); }
  • trunk/Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp

    r86688 r88870  
    292292    const UInt8* bytePtr = CFDataGetBytePtr(data);
    293293
    294     encoder->encodeBytes(bytePtr, length);
     294    encoder->encodeVariableLengthByteArray(CoreIPC::DataReference(bytePtr, length));
    295295}
    296296
     
    377377
    378378    encoder->encodeEnum(numberType);
    379     encoder->encodeBytes(buffer.data(), buffer.size());
     379    encoder->encodeVariableLengthByteArray(buffer);
    380380}
    381381
     
    465465
    466466    encoder->encodeEnum(encoding);
    467     encoder->encodeBytes(buffer.data(), bufferLength);
     467    encoder->encodeVariableLengthByteArray(buffer);
    468468}
    469469
  • trunk/Source/WebKit2/Shared/mac/SandboxExtensionMac.mm

    r88869 r88870  
    5757{
    5858    if (!m_sandboxExtension) {
    59         encoder->encodeBytes(0, 0);
     59        encoder->encodeVariableLengthByteArray(CoreIPC::DataReference());
    6060        return;
    6161    }
     
    6565    ASSERT(serializedFormat);
    6666
    67     encoder->encodeBytes(reinterpret_cast<const uint8_t*>(serializedFormat), length);
     67    encoder->encodeVariableLengthByteArray(CoreIPC::DataReference(reinterpret_cast<const uint8_t*>(serializedFormat), length));
    6868
    6969    // Encoding will destroy the sandbox extension locally.
  • trunk/Source/WebKit2/WebProcess/WebPage/DecoderAdapter.cpp

    r76916 r88870  
    2727#include "DecoderAdapter.h"
    2828
     29#include "DataReference.h"
    2930#include "WebCoreArgumentCoders.h"
    3031
     
    3839bool DecoderAdapter::decodeBytes(Vector<uint8_t>& bytes)
    3940{
    40     return m_decoder.decodeBytes(bytes);
     41    CoreIPC::DataReference dataReference;
     42    if (!m_decoder.decodeVariableLengthByteArray(dataReference))
     43        return false;
     44
     45    bytes = dataReference.vector();
     46    return true;
    4147}
    4248
  • trunk/Source/WebKit2/WebProcess/WebPage/EncoderAdapter.cpp

    r76916 r88870  
    3737}
    3838
    39 CoreIPC::DataReference EncoderAdapter::data() const
     39CoreIPC::DataReference EncoderAdapter::dataReference() const
    4040{
    4141    return CoreIPC::DataReference(m_encoder->buffer(), m_encoder->bufferSize());
     
    4444void EncoderAdapter::encodeBytes(const uint8_t* bytes, size_t size)
    4545{
    46     m_encoder->encodeBytes(bytes, size);
     46    m_encoder->encodeVariableLengthByteArray(CoreIPC::DataReference(bytes, size));
    4747}
    4848
  • trunk/Source/WebKit2/WebProcess/WebPage/EncoderAdapter.h

    r75022 r88870  
    4242    EncoderAdapter();
    4343
    44     CoreIPC::DataReference data() const;
     44    CoreIPC::DataReference dataReference() const;
    4545
    4646private:
  • trunk/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp

    r85256 r88870  
    8989    item->encodeBackForwardTree(encoder);
    9090
    91     WebProcess::shared().connection()->send(Messages::WebProcessProxy::AddBackForwardItem(itemID,
    92         item->originalURLString(), item->urlString(), item->title(), encoder.data()), 0);
     91    WebProcess::shared().connection()->send(Messages::WebProcessProxy::AddBackForwardItem(itemID, item->originalURLString(), item->urlString(), item->title(), encoder.dataReference()), 0);
    9392}
    9493
Note: See TracChangeset for help on using the changeset viewer.