#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/messaging/blink_transferable_message_mojom_traits.h"
#include "base/memory/scoped_refptr.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/test/null_task_runner.h"
#include "mojo/public/cpp/base/big_buffer_mojom_traits.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/messaging/message_port_channel.h"
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
#include "third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_deserializer.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_image_bitmap.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/imagebitmap/image_bitmap.h"
#include "third_party/blink/renderer/core/messaging/blink_transferable_message.h"
#include "third_party/blink/renderer/core/messaging/message_port.h"
#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"
#include "third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h"
#include "third_party/blink/renderer/platform/graphics/test/gpu_test_utils.h"
#include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkSurface.h"
_;
Test;
namespace blink {
scoped_refptr<SerializedScriptValue> BuildSerializedScriptValue(
v8::Isolate* isolate,
v8::Local<v8::Value> value,
Transferables& transferables) { … }
TEST(BlinkTransferableMessageStructTraitsTest,
ArrayBufferTransferOutOfScopeSucceeds) { … }
TEST(BlinkTransferableMessageStructTraitsTest,
ArrayBufferContentsLazySerializationSucceeds) { … }
ImageBitmap* CreateBitmap() { … }
TEST(BlinkTransferableMessageStructTraitsTest,
BitmapTransferOutOfScopeSucceeds) { … }
TEST(BlinkTransferableMessageStructTraitsTest,
BitmapLazySerializationSucceeds) { … }
class BlinkTransferableMessageStructTraitsWithFakeGpuTest : public Test { … };
TEST_F(BlinkTransferableMessageStructTraitsWithFakeGpuTest,
AcceleratedImageTransferSuccess) { … }
TEST_F(BlinkTransferableMessageStructTraitsWithFakeGpuTest,
AcceleratedImageTransferReceiverCrash) { … }
}