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

Unified Diff: third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp

Issue 1413723004: Revert of Make ImageBitmap Transferable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months 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: 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 d4906a8b6133873bc43d7d31a33c98a721c514bc..3bd0390146d9043f971387b6fb751005509455e8 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp
@@ -11,7 +11,6 @@
#include "bindings/core/v8/V8CompositorProxy.h"
#include "bindings/core/v8/V8File.h"
#include "bindings/core/v8/V8FileList.h"
-#include "bindings/core/v8/V8ImageBitmap.h"
#include "bindings/core/v8/V8ImageData.h"
#include "bindings/core/v8/V8MessagePort.h"
#include "bindings/core/v8/V8SharedArrayBuffer.h"
@@ -321,12 +320,6 @@
void SerializedScriptValueWriter::writeTransferredArrayBuffer(uint32_t index)
{
append(ArrayBufferTransferTag);
- doWriteUint32(index);
-}
-
-void SerializedScriptValueWriter::writeTransferredImageBitmap(uint32_t index)
-{
- append(ImageBitmapTransferTag);
doWriteUint32(index);
}
@@ -653,16 +646,6 @@
return wrapper.As<v8::Object>();
}
-static v8::Local<v8::Object> toV8Object(ImageBitmap* impl, v8::Local<v8::Object> creationContext, v8::Isolate* isolate)
-{
- if (!impl)
- return v8::Local<v8::Object>();
- v8::Local<v8::Value> wrapper = toV8(impl, creationContext, isolate);
- if (wrapper.IsEmpty())
- return v8::Local<v8::Object>();
- return wrapper.As<v8::Object>();
-}
-
// Returns true if the provided object is to be considered a 'host object', as used in the
// HTML5 structured clone algorithm.
static bool isHostObject(v8::Local<v8::Object> object)
@@ -674,7 +657,7 @@
return object->InternalFieldCount();
}
-ScriptValueSerializer::ScriptValueSerializer(SerializedScriptValueWriter& writer, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, ImageBitmapArray* imageBitmaps, WebBlobInfoArray* blobInfo, BlobDataHandleMap& blobDataHandles, v8::TryCatch& tryCatch, ScriptState* scriptState)
+ScriptValueSerializer::ScriptValueSerializer(SerializedScriptValueWriter& writer, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, WebBlobInfoArray* blobInfo, BlobDataHandleMap& blobDataHandles, v8::TryCatch& tryCatch, ScriptState* scriptState)
: m_scriptState(scriptState)
, m_writer(writer)
, m_tryCatch(tryCatch)
@@ -696,13 +679,6 @@
// Coalesce multiple occurences of the same buffer to the first index.
if (!m_transferredArrayBuffers.contains(v8ArrayBuffer))
m_transferredArrayBuffers.set(v8ArrayBuffer, i);
- }
- }
- if (imageBitmaps) {
- for (size_t i = 0; i < imageBitmaps->size(); i++) {
- v8::Local<v8::Object> v8ImageBitmap = toV8Object(imageBitmaps->at(i).get(), creationContext, isolate());
- if (!m_transferredImageBitmaps.contains(v8ImageBitmap))
- m_transferredImageBitmaps.set(v8ImageBitmap, i);
}
}
}
@@ -757,7 +733,6 @@
v8::Local<v8::Object> jsObject = value.As<v8::Object>();
uint32_t arrayBufferIndex;
- uint32_t imageBitmapIndex;
if (V8ArrayBufferView::hasInstance(value, isolate())) {
return writeAndGreyArrayBufferView(jsObject, next);
} else if (V8MessagePort::hasInstance(value, isolate())) {
@@ -770,8 +745,6 @@
return writeTransferredArrayBuffer(value, arrayBufferIndex, next);
} else if (V8SharedArrayBuffer::hasInstance(value, isolate()) && m_transferredArrayBuffers.tryGet(jsObject, &arrayBufferIndex)) {
return writeTransferredSharedArrayBuffer(value, arrayBufferIndex, next);
- } else if (V8ImageBitmap::hasInstance(value, isolate()) && m_transferredImageBitmaps.tryGet(jsObject, &imageBitmapIndex)) {
- return writeTransferredImageBitmap(value, imageBitmapIndex, next);
}
greyObject(jsObject);
@@ -1050,17 +1023,6 @@
return 0;
}
-ScriptValueSerializer::StateBase* ScriptValueSerializer::writeTransferredImageBitmap(v8::Local<v8::Value> value, uint32_t index, ScriptValueSerializer::StateBase* next)
-{
- ImageBitmap* imageBitmap = V8ImageBitmap::toImpl(value.As<v8::Object>());
- if (!imageBitmap)
- return 0;
- if (imageBitmap->isNeutered())
- return handleError(DataCloneError, "An ImageBitmap is neutered and could not be cloned.", next);
- m_writer.writeTransferredImageBitmap(index);
- return 0;
-}
-
ScriptValueSerializer::StateBase* ScriptValueSerializer::writeTransferredSharedArrayBuffer(v8::Local<v8::Value> value, uint32_t index, ScriptValueSerializer::StateBase* next)
{
ASSERT(RuntimeEnabledFeatures::sharedArrayBufferEnabled());
@@ -1386,16 +1348,6 @@
if (!doReadUint32(&index))
return false;
if (!creator.tryGetTransferredArrayBuffer(index, value))
- return false;
- break;
- }
- case ImageBitmapTransferTag: {
- if (!m_version)
- return false;
- uint32_t index;
- if (!doReadUint32(&index))
- return false;
- if (!creator.tryGetTransferredImageBitmap(index, value))
return false;
break;
}
@@ -2113,17 +2065,6 @@
return true;
}
-bool ScriptValueDeserializer::tryGetTransferredImageBitmap(uint32_t index, v8::Local<v8::Value>* object)
-{
- if (!m_imageBitmaps)
- return false;
- if (index >= m_imageBitmaps->size())
- return false;
- v8::Local<v8::Object> creationContext = m_reader.scriptState()->context()->Global();
- *object = toV8(m_imageBitmaps->at(index).get(), creationContext, m_reader.scriptState()->isolate());
- return !object->IsEmpty();
-}
-
bool ScriptValueDeserializer::tryGetTransferredSharedArrayBuffer(uint32_t index, v8::Local<v8::Value>* object)
{
ASSERT(RuntimeEnabledFeatures::sharedArrayBufferEnabled());

Powered by Google App Engine
This is Rietveld 408576698