build: move libcc patches to electron repo (#14104)
In the GN build, libchromiumcontent is no longer a distinct library, but merely a container for a set of scripts and patches. Maintaining those patches in a separate repository is tedious and error-prone, so merge them into the main repo. Once this is merged and GN is the default way to build Electron, the libchromiumcontent repository can be archived.
This commit is contained in:
parent
9e85bdb02c
commit
76c5f5cc8a
147 changed files with 86931 additions and 6 deletions
88
patches/common/v8/backport_ff0a97933.patch
Normal file
88
patches/common/v8/backport_ff0a97933.patch
Normal file
|
@ -0,0 +1,88 @@
|
|||
diff --git a/include/v8.h b/include/v8.h
|
||||
index 573e80176d..bb77987f14 100644
|
||||
--- a/include/v8.h
|
||||
+++ b/include/v8.h
|
||||
@@ -3544,6 +3549,17 @@ class V8_EXPORT Object : public Value {
|
||||
*/
|
||||
Isolate* GetIsolate();
|
||||
|
||||
+ /**
|
||||
+ * If this object is a Set, Map, WeakSet or WeakMap, this returns a
|
||||
+ * representation of the elements of this object as an array.
|
||||
+ * If this object is a SetIterator or MapIterator, this returns all
|
||||
+ * elements of the underlying collection, starting at the iterator's current
|
||||
+ * position.
|
||||
+ * For other types, this will return an empty MaybeLocal<Array> (without
|
||||
+ * scheduling an exception).
|
||||
+ */
|
||||
+ MaybeLocal<Array> PreviewEntries(bool* is_key_value);
|
||||
+
|
||||
static Local<Object> New(Isolate* isolate);
|
||||
|
||||
V8_INLINE static Object* Cast(Value* obj);
|
||||
diff --git a/src/api.cc b/src/api.cc
|
||||
index e65f114edb..4302b6c604 100644
|
||||
--- a/src/api.cc
|
||||
+++ b/src/api.cc
|
||||
@@ -9543,21 +9543,20 @@ int debug::EstimatedValueSize(Isolate* v8_isolate, v8::Local<v8::Value> value) {
|
||||
return i::Handle<i::HeapObject>::cast(object)->Size();
|
||||
}
|
||||
|
||||
-v8::MaybeLocal<v8::Array> debug::EntriesPreview(Isolate* v8_isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- bool* is_key_value) {
|
||||
- i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
|
||||
- ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate);
|
||||
- if (value->IsMap()) {
|
||||
+v8::MaybeLocal<v8::Array> v8::Object::PreviewEntries(bool* is_key_value) {
|
||||
+ if (IsMap()) {
|
||||
*is_key_value = true;
|
||||
- return value.As<Map>()->AsArray();
|
||||
+ return Map::Cast(this)->AsArray();
|
||||
}
|
||||
- if (value->IsSet()) {
|
||||
+ if (IsSet()) {
|
||||
*is_key_value = false;
|
||||
- return value.As<Set>()->AsArray();
|
||||
+ return Set::Cast(this)->AsArray();
|
||||
}
|
||||
|
||||
- i::Handle<i::Object> object = Utils::OpenHandle(*value);
|
||||
+ i::Handle<i::JSReceiver> object = Utils::OpenHandle(this);
|
||||
+ i::Isolate* isolate = object->GetIsolate();
|
||||
+ Isolate* v8_isolate = reinterpret_cast<Isolate*>(isolate);
|
||||
+ ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate);
|
||||
if (object->IsJSWeakCollection()) {
|
||||
*is_key_value = object->IsJSWeakMap();
|
||||
return Utils::ToLocal(i::JSWeakCollection::GetEntries(
|
||||
diff --git a/src/debug/debug-interface.h b/src/debug/debug-interface.h
|
||||
index 01124bf7fc..2210b4e87f 100644
|
||||
--- a/src/debug/debug-interface.h
|
||||
+++ b/src/debug/debug-interface.h
|
||||
@@ -212,10 +212,6 @@ void ResetBlackboxedStateCache(Isolate* isolate,
|
||||
|
||||
int EstimatedValueSize(Isolate* isolate, v8::Local<v8::Value> value);
|
||||
|
||||
-v8::MaybeLocal<v8::Array> EntriesPreview(Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- bool* is_key_value);
|
||||
-
|
||||
enum Builtin {
|
||||
kObjectKeys,
|
||||
kObjectGetPrototypeOf,
|
||||
diff --git a/src/inspector/v8-debugger.cc b/src/inspector/v8-debugger.cc
|
||||
index 5dee98853b..28212a1993 100644
|
||||
--- a/src/inspector/v8-debugger.cc
|
||||
+++ b/src/inspector/v8-debugger.cc
|
||||
@@ -29,8 +29,10 @@ v8::MaybeLocal<v8::Array> collectionsEntries(v8::Local<v8::Context> context,
|
||||
v8::Isolate* isolate = context->GetIsolate();
|
||||
v8::Local<v8::Array> entries;
|
||||
bool isKeyValue = false;
|
||||
- if (!v8::debug::EntriesPreview(isolate, value, &isKeyValue).ToLocal(&entries))
|
||||
+ if (!value->IsObject() ||
|
||||
+ !value.As<v8::Object>()->PreviewEntries(&isKeyValue).ToLocal(&entries)) {
|
||||
return v8::MaybeLocal<v8::Array>();
|
||||
+ }
|
||||
|
||||
v8::Local<v8::Array> wrappedEntries = v8::Array::New(isolate);
|
||||
CHECK(!isKeyValue || wrappedEntries->Length() % 2 == 0);
|
Loading…
Add table
Add a link
Reference in a new issue