| Index: third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
|
| index 063a4bab185235844a466f7723a7bfc11b526801..4d42926a75b495d4c8dc258a326a12a1a7a6c0d4 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
|
| @@ -362,7 +362,7 @@ void SerializedScriptValueWriter::writeTransferredImageBitmap(uint32_t index)
|
| doWriteUint32(index);
|
| }
|
|
|
| -void SerializedScriptValueWriter::writeTransferredOffscreenCanvas(uint32_t width, uint32_t height, uint32_t canvasId, uint32_t clientId, uint32_t localId, uint64_t nonce)
|
| +void SerializedScriptValueWriter::writeTransferredOffscreenCanvas(uint32_t width, uint32_t height, uint32_t canvasId, uint32_t clientId, uint32_t localId, uint64_t nonceHigh, uint64_t nonceLow)
|
| {
|
| append(OffscreenCanvasTransferTag);
|
| doWriteUint32(width);
|
| @@ -370,7 +370,8 @@ void SerializedScriptValueWriter::writeTransferredOffscreenCanvas(uint32_t width
|
| doWriteUint32(canvasId);
|
| doWriteUint32(clientId);
|
| doWriteUint32(localId);
|
| - doWriteUint64(nonce);
|
| + doWriteUint64(nonceHigh);
|
| + doWriteUint64(nonceLow);
|
| }
|
|
|
| void SerializedScriptValueWriter::writeTransferredSharedArrayBuffer(uint32_t index)
|
| @@ -1216,7 +1217,7 @@ ScriptValueSerializer::StateBase* ScriptValueSerializer::writeTransferredOffscre
|
| return handleError(Status::DataCloneError, "An OffscreenCanvas is detached and could not be cloned.", next);
|
| if (offscreenCanvas->renderingContext())
|
| return handleError(Status::DataCloneError, "An OffscreenCanvas with a context could not be cloned.", next);
|
| - m_writer.writeTransferredOffscreenCanvas(offscreenCanvas->width(), offscreenCanvas->height(), offscreenCanvas->getAssociatedCanvasId(), offscreenCanvas->clientId(), offscreenCanvas->localId(), offscreenCanvas->nonce());
|
| + m_writer.writeTransferredOffscreenCanvas(offscreenCanvas->width(), offscreenCanvas->height(), offscreenCanvas->getAssociatedCanvasId(), offscreenCanvas->clientId(), offscreenCanvas->localId(), offscreenCanvas->nonceHigh(), offscreenCanvas->nonceLow());
|
| return nullptr;
|
| }
|
|
|
| @@ -1578,7 +1579,7 @@ bool SerializedScriptValueReader::readWithTag(SerializationTag tag, v8::Local<v8
|
| if (!m_version)
|
| return false;
|
| uint32_t width, height, canvasId, clientId, localId;
|
| - uint64_t nonce;
|
| + uint64_t nonceHigh, nonceLow;
|
| if (!doReadUint32(&width))
|
| return false;
|
| if (!doReadUint32(&height))
|
| @@ -1589,9 +1590,9 @@ bool SerializedScriptValueReader::readWithTag(SerializationTag tag, v8::Local<v8
|
| return false;
|
| if (!doReadUint32(&localId))
|
| return false;
|
| - if (!doReadUint64(&nonce))
|
| + if (!doReadUint64(&nonceHigh) || !doReadUint64(&nonceLow))
|
| return false;
|
| - if (!deserializer.tryGetTransferredOffscreenCanvas(width, height, canvasId, clientId, localId, nonce, value))
|
| + if (!deserializer.tryGetTransferredOffscreenCanvas(width, height, canvasId, clientId, localId, nonceHigh, nonceLow, value))
|
| return false;
|
| break;
|
| }
|
| @@ -2407,11 +2408,11 @@ bool ScriptValueDeserializer::tryGetTransferredSharedArrayBuffer(uint32_t index,
|
| return true;
|
| }
|
|
|
| -bool ScriptValueDeserializer::tryGetTransferredOffscreenCanvas(uint32_t width, uint32_t height, uint32_t canvasId, uint32_t clientId, uint32_t localId, uint64_t nonce, v8::Local<v8::Value>* object)
|
| +bool ScriptValueDeserializer::tryGetTransferredOffscreenCanvas(uint32_t width, uint32_t height, uint32_t canvasId, uint32_t clientId, uint32_t localId, uint64_t nonceHigh, uint64_t nonceLow, v8::Local<v8::Value>* object)
|
| {
|
| OffscreenCanvas* offscreenCanvas = OffscreenCanvas::create(width, height);
|
| offscreenCanvas->setAssociatedCanvasId(canvasId);
|
| - offscreenCanvas->setSurfaceId(clientId, localId, nonce);
|
| + offscreenCanvas->setSurfaceId(clientId, localId, nonceHigh, nonceLow);
|
| *object = toV8(offscreenCanvas, m_reader.getScriptState());
|
| if ((*object).IsEmpty())
|
| return false;
|
|
|