b7d25ccb77
* chore: bump chromium in DEPS to f3bf493731e868e1f5f48e7e1adc02ea5eccfbbd * chore: bump chromium in DEPS to 4db0c87d4aa6f27ffa0b5fc77d20e10047962484 * chore: bump chromium in DEPS to d933a504c264dc8fe85267f47aef3588531875b5 * chore: bump chromium in DEPS to 34afdb68980f581ae911b85b727bc17e126cf5f9 * update disable-redraw-lock.patch https://chromium-review.googlesource.com/c/chromium/src/+/1600387 * update desktop_media_list.patch https://chromium-review.googlesource.com/c/chromium/src/+/1729156 * update notification_provenance.patch https://chromium-review.googlesource.com/c/chromium/src/+/1742779 * update printing.patch https://chromium-review.googlesource.com/c/chromium/src/+/1646772 * update verbose_generate_bpad_syms.patch https://chromium-review.googlesource.com/c/chromium/src/+/1745986 * update patch metadata * remove printing_compositor manifests https://chromium-review.googlesource.com/c/chromium/src/+/1742734 * update for URLLoaderFactoryType enum https://chromium-review.googlesource.com/c/chromium/src/+/1754716 * remove gin string16 converter https://chromium-review.googlesource.com/c/chromium/src/+/1750093 * ClearCompositorFrame() has been removed https://chromium-review.googlesource.com/c/chromium/src/+/1746301 * message_loop -> message_loop_current https://chromium-review.googlesource.com/c/chromium/src/+/1738552 * include resource_response header * pdf compositor no longer uses service manager https://chromium-review.googlesource.com/c/chromium/src/+/1742734 * chore: bump chromium in DEPS to 00d5933101d8d8dc9546eadbe7ee1b41077e6db1 * pane focus fns aren't pure virtual anymore https://chromium-review.googlesource.com/c/chromium/src/+/1708767 * fix: make std::hash value-non-const broken by https://chromium-review.googlesource.com/c/chromium/src/+/1711202 * update swiftshader in zip_manifests https://swiftshader-review.googlesource.com/c/SwiftShader/+/34911 * address feedback from @deepak1556 * don't enable kLegacyWindowsDWriteFontFallback https://chromium-review.googlesource.com/c/chromium/src/+/1753006 * chore: bump chromium in DEPS to 84497314005e1968da06804f8fde539d9872310e * update printing.patch remove bottom diff owing to https://chromium-review.googlesource.com/c/chromium/src/+/1678182 and update for https://chromium-review.googlesource.com/c/chromium/src/+/1678182 * convert CookieChangeListener to new Mojo types https://chromium-review.googlesource.com/c/chromium/src/+/1753371 * rename ui::ClipboardType -> ui::ClipboardBuffer https://chromium-review.googlesource.com/c/chromium/src/+/1758730 * logging::LoggingSettings log_file -> log_file_path https://chromium-review.googlesource.com/c/chromium/src/+/1699477 * roll DEPS to latest lkgr * fix: override GetFontLookupTableCacheDir() When Chromium goes to use its fallback font table creation code paths, it creates the cache directory it uses by calling GetFontLookupTableCacheDir() with a path that doesn't exist in Electron. To ensure that a legitimate file path is created, we need to override it with Electron's DIR_USER_DATA so it doesn't use chrome::DIR_USER_DATA. * chore: bump chromium in DEPS to 6758a0879931bc4df630a80a36c82d7855ae3155 * update pthread_fchdir patch https://chromium-review.googlesource.com/c/chromium/src/+/1759149 * update printing patch * update cookie usage and fn signatures https://chromium-review.googlesource.com/c/chromium/src/+/1758437 * chore: bump chromium in DEPS to bdaca97e1cc27fb977e56f30f74cdb906da9527e * remove fix_make_std_hash_value-non-const.patch https://chromium-review.googlesource.com/c/chromium/src/+/1762335 * Convert enum to enum class for FocusManager::FocusChangeReason https://chromium-review.googlesource.com/c/chromium/src/+/1767281 * roll DEPS to latest lkgr * update dom_storage_limits.patch https://chromium-review.googlesource.com/c/chromium/src/+/1767556
83 lines
4.1 KiB
Diff
83 lines
4.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Thu, 20 Sep 2018 17:44:26 -0700
|
|
Subject: add_realloc.patch
|
|
|
|
Blink overrides ArrayBuffer's allocator with its own one, while Node simply
|
|
uses malloc and free, so we need to use v8's allocator in Node. As part of the
|
|
10.6.0 upgrade, we needed to make SerializerDelegate accept an allocator
|
|
argument in its constructor, and override ReallocateBufferMemory and
|
|
FreeBufferMemory to use the allocator. We cannot simply allocate and then memcpy
|
|
when we override ReallocateBufferMemory, so we therefore need to implement
|
|
Realloc on the v8 side and correspondingly in gin.
|
|
|
|
diff --git a/gin/array_buffer.cc b/gin/array_buffer.cc
|
|
index a02797e94f61e8c71428633a4585a625dc5aadbd..305b7d307d233af699e3f495f85de0f8097ff311 100644
|
|
--- a/gin/array_buffer.cc
|
|
+++ b/gin/array_buffer.cc
|
|
@@ -43,6 +43,10 @@ void* ArrayBufferAllocator::AllocateUninitialized(size_t length) {
|
|
return malloc(length);
|
|
}
|
|
|
|
+void* ArrayBufferAllocator::Realloc(void* data, size_t length) {
|
|
+ return realloc(data, length);
|
|
+}
|
|
+
|
|
void ArrayBufferAllocator::Free(void* data, size_t length) {
|
|
free(data);
|
|
}
|
|
diff --git a/gin/array_buffer.h b/gin/array_buffer.h
|
|
index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f4ddb2de2 100644
|
|
--- a/gin/array_buffer.h
|
|
+++ b/gin/array_buffer.h
|
|
@@ -21,6 +21,7 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
|
|
public:
|
|
void* Allocate(size_t length) override;
|
|
void* AllocateUninitialized(size_t length) override;
|
|
+ void* Realloc(void* data, size_t length) override;
|
|
void Free(void* data, size_t length) override;
|
|
|
|
GIN_EXPORT static ArrayBufferAllocator* SharedInstance();
|
|
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
|
index 7ca876bc7f2afa192167f0689690d73d5a420c60..d58085e0b14241d666f533cb23dd89159c27d8b2 100644
|
|
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
|
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
|
@@ -642,6 +642,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
|
|
size, WTF::ArrayBufferContents::kDontInitialize);
|
|
}
|
|
|
|
+ void* Realloc(void* data, size_t size) override {
|
|
+ return WTF::ArrayBufferContents::Realloc(data, size);
|
|
+ }
|
|
+
|
|
void Free(void* data, size_t size) override {
|
|
WTF::ArrayBufferContents::FreeMemory(data);
|
|
}
|
|
diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
|
|
index ac76d127b96b80c8260a7e2cda0b669cd98787ad..dcab64586700a8740262aede8dba2755f652d8e8 100644
|
|
--- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
|
|
+++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
|
|
@@ -130,6 +130,11 @@ void* ArrayBufferContents::AllocateMemoryOrNull(size_t size,
|
|
return AllocateMemoryWithFlags(size, policy, base::PartitionAllocReturnNull);
|
|
}
|
|
|
|
+void* ArrayBufferContents::Realloc(void* data, size_t size) {
|
|
+ return Partitions::ArrayBufferPartition()->Realloc(data, size,
|
|
+ WTF_HEAP_PROFILER_TYPE_NAME(ArrayBufferContents));
|
|
+}
|
|
+
|
|
void ArrayBufferContents::FreeMemory(void* data) {
|
|
Partitions::ArrayBufferPartition()->Free(data);
|
|
}
|
|
diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
|
|
index ee7c89a4950d6b3c97a810c41a62fee7e372018d..c2b60f20a72cca46d05af369f33d9c19395b34ef 100644
|
|
--- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
|
|
+++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
|
|
@@ -140,6 +140,7 @@ class WTF_EXPORT ArrayBufferContents {
|
|
void CopyTo(ArrayBufferContents& other);
|
|
|
|
static void* AllocateMemoryOrNull(size_t, InitializationPolicy);
|
|
+ static void* Realloc(void* data, size_t);
|
|
static void FreeMemory(void*);
|
|
static DataHandle CreateDataHandle(size_t, InitializationPolicy);
|
|
static void Initialize(
|