Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Unified Diff: Source/bindings/core/v8/ScriptValueSerializer.h

Issue 718383003: bindings: fixed incorrect dependency of SerializedScriptValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/ScriptValueSerializer.h
diff --git a/Source/bindings/core/v8/ScriptValueSerializer.h b/Source/bindings/core/v8/ScriptValueSerializer.h
index 1b6c26706641ac48b1f99918cbabdac238a9f41c..c9c024522b99aef48611626d1edfb3782e2d2138 100644
--- a/Source/bindings/core/v8/ScriptValueSerializer.h
+++ b/Source/bindings/core/v8/ScriptValueSerializer.h
@@ -8,9 +8,6 @@
#include "bindings/core/v8/SerializationTag.h"
#include "bindings/core/v8/SerializedScriptValue.h"
#include "bindings/core/v8/V8Binding.h"
-#include "public/platform/WebCrypto.h"
-#include "public/platform/WebCryptoKey.h"
-#include "public/platform/WebCryptoKeyAlgorithm.h"
#include "wtf/ArrayBufferContents.h"
#include "wtf/HashMap.h"
#include "wtf/Noncopyable.h"
@@ -131,12 +128,10 @@ public:
void writeNumberObject(double number);
void writeBlob(const String& uuid, const String& type, unsigned long long size);
void writeBlobIndex(int blobIndex);
- void writeDOMFileSystem(int type, const String& name, const String& url);
void writeFile(const File&);
void writeFileIndex(int blobIndex);
void writeFileList(const FileList&);
void writeFileListIndex(const Vector<int>& blobIndices);
- bool writeCryptoKey(const WebCryptoKey&);
void writeArrayBuffer(const ArrayBuffer&);
void writeArrayBufferView(const ArrayBufferView&);
void writeImageData(uint32_t width, uint32_t height, const uint8_t* pixelData, uint32_t pixelDataLength);
@@ -158,14 +153,6 @@ protected:
void doWriteArrayBuffer(const ArrayBuffer&);
void doWriteString(const char* data, int length);
void doWriteWebCoreString(const String&);
- void doWriteHmacKey(const WebCryptoKey&);
- void doWriteAesKey(const WebCryptoKey&);
- void doWriteRsaHashedKey(const WebCryptoKey&);
- void doWriteEcKey(const WebCryptoKey&);
- void doWriteAlgorithmId(WebCryptoAlgorithmId);
- void doWriteAsymmetricKeyType(WebCryptoKeyType);
- void doWriteNamedCurve(WebCryptoNamedCurve);
- void doWriteKeyUsages(const WebCryptoKeyUsageMask usages, bool extractable);
int bytesNeededToWireEncode(uint32_t value);
template<class T>
@@ -218,7 +205,7 @@ public:
String errorMessage() { return m_errorMessage; }
// Functions used by serialization states.
- Serializer::StateBase* doSerialize(v8::Handle<v8::Value>, Serializer::StateBase* next);
+ virtual Serializer::StateBase* doSerialize(v8::Handle<v8::Value>, Serializer::StateBase* next);
StateBase* doSerializeArrayBuffer(v8::Handle<v8::Value> arrayBuffer, StateBase* next);
StateBase* checkException(StateBase*);
@@ -375,10 +362,8 @@ private:
void writeNumberObject(v8::Handle<v8::Value>);
void writeBooleanObject(v8::Handle<v8::Value>);
StateBase* writeBlob(v8::Handle<v8::Value>, StateBase* next);
- StateBase* writeDOMFileSystem(v8::Handle<v8::Value>, StateBase* next);
StateBase* writeFile(v8::Handle<v8::Value>, StateBase* next);
StateBase* writeFileList(v8::Handle<v8::Value>, StateBase* next);
- bool writeCryptoKey(v8::Handle<v8::Value>);
void writeImageData(v8::Handle<v8::Value>);
void writeRegExp(v8::Handle<v8::Value>);
StateBase* writeAndGreyArrayBufferView(v8::Handle<v8::Object>, StateBase* next);
@@ -475,14 +460,20 @@ protected:
}
public:
- bool read(v8::Handle<v8::Value>*, CompositeCreator&);
+ virtual bool read(v8::Handle<v8::Value>*, CompositeCreator&);
bool readVersion(uint32_t& version);
void setVersion(uint32_t);
-private:
+protected:
+ bool readWithTag(SerializationTag, v8::Handle<v8::Value>*, CompositeCreator&);
+
bool readTag(SerializationTag*);
bool readWebCoreString(String*);
bool readUint32(v8::Handle<v8::Value>*);
+
+ bool doReadUint32(uint32_t* value);
+
+private:
void undoReadTag();
bool readArrayBufferViewSubTag(ArrayBufferViewSubTag*);
bool readString(v8::Handle<v8::Value>*);
@@ -498,10 +489,8 @@ private:
bool readArrayBufferView(v8::Handle<v8::Value>*, CompositeCreator&);
bool readRegExp(v8::Handle<v8::Value>*);
bool readBlob(v8::Handle<v8::Value>*, bool isIndexed);
- bool readDOMFileSystem(v8::Handle<v8::Value>*);
bool readFile(v8::Handle<v8::Value>*, bool isIndexed);
bool readFileList(v8::Handle<v8::Value>*, bool isIndexed);
- bool readCryptoKey(v8::Handle<v8::Value>*);
File* readFileHelper();
File* readFileIndexHelper();
@@ -521,18 +510,9 @@ private:
return true;
}
- bool doReadUint32(uint32_t* value);
bool doReadUint64(uint64_t* value);
bool doReadNumber(double* number);
PassRefPtr<BlobDataHandle> getOrCreateBlobDataHandle(const String& uuid, const String& type, long long size = -1);
- bool doReadHmacKey(WebCryptoKeyAlgorithm&, WebCryptoKeyType&);
- bool doReadAesKey(WebCryptoKeyAlgorithm&, WebCryptoKeyType&);
- bool doReadRsaHashedKey(WebCryptoKeyAlgorithm&, WebCryptoKeyType&);
- bool doReadEcKey(WebCryptoKeyAlgorithm&, WebCryptoKeyType&);
- bool doReadAlgorithmId(WebCryptoAlgorithmId&);
- bool doReadAsymmetricKeyType(WebCryptoKeyType&);
- bool doReadNamedCurve(WebCryptoNamedCurve&);
- bool doReadKeyUsages(WebCryptoKeyUsageMask& usages, bool& extractable);
private:
RefPtr<ScriptState> m_scriptState;
@@ -573,7 +553,7 @@ public:
protected:
Reader& reader() { return m_reader; }
- bool read(v8::Local<v8::Value>*);
+ virtual bool read(v8::Local<v8::Value>*);
private:
bool initializeObject(v8::Handle<v8::Object>, uint32_t numProperties, v8::Handle<v8::Value>*);

Powered by Google App Engine
This is Rietveld 408576698