chore: bump chromium to 7dff37844cb3 (master) (#18059)

This commit is contained in:
Electron Bot 2019-04-30 20:18:22 -04:00 коммит произвёл Jeremy Apthorp
Родитель 00358545a9
Коммит 2616911f7a
77 изменённых файлов: 1636 добавлений и 294 удалений

Просмотреть файл

@ -1069,6 +1069,7 @@ template("dist_zip") {
"deps",
"data_deps",
"data",
"testonly",
])
write_runtime_deps = _runtime_deps_file
}
@ -1078,7 +1079,11 @@ template("dist_zip") {
deps = [
":$_runtime_deps_target",
]
forward_variables_from(invoker, [ "outputs" ])
forward_variables_from(invoker,
[
"outputs",
"testonly",
])
args = rebase_path(outputs + [ _runtime_deps_file ], root_build_dir) + [
target_cpu,
target_os,
@ -1146,6 +1151,7 @@ dist_zip("electron_ffmpeg_zip") {
}
dist_zip("electron_chromedriver_zip") {
testonly = true
data_deps = [
"//chrome/test/chromedriver",
":licenses",

2
DEPS
Просмотреть файл

@ -10,7 +10,7 @@ gclient_gn_args = [
vars = {
'chromium_version':
'1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f',
'7dff37844cb359ec96a63c4526574ec71138c2ec',
'node_version':
'696d8fb66d6f65fc82869d390e0d2078970b1eb4',

Просмотреть файл

@ -530,9 +530,9 @@ int ImportIntoCertStore(CertificateManagerModel* model,
}
#endif
void OnIconDataAvailable(util::Promise promise, gfx::Image* icon) {
if (icon && !icon->IsEmpty()) {
promise.Resolve(*icon);
void OnIconDataAvailable(util::Promise promise, gfx::Image icon) {
if (!icon.IsEmpty()) {
promise.Resolve(icon);
} else {
promise.RejectWithErrorMessage("Failed to get file icon.");
}

Просмотреть файл

@ -64,11 +64,17 @@ void AutoUpdater::OnError(const std::string& message,
auto errorObject =
error->ToObject(isolate()->GetCurrentContext()).ToLocalChecked();
auto context = isolate()->GetCurrentContext();
// add two new params for better error handling
errorObject->Set(mate::StringToV8(isolate(), "code"),
v8::Integer::New(isolate(), code));
errorObject->Set(mate::StringToV8(isolate(), "domain"),
mate::StringToV8(isolate(), domain));
errorObject
->Set(context, mate::StringToV8(isolate(), "code"),
v8::Integer::New(isolate(), code))
.Check();
errorObject
->Set(context, mate::StringToV8(isolate(), "domain"),
mate::StringToV8(isolate(), domain))
.Check();
mate::EmitEvent(isolate(), GetWrapper(), "error", errorObject, message);
}

Просмотреть файл

@ -491,12 +491,14 @@ void WebContents::DestroyWebContents(bool async) {
ResetManagedWebContents(async);
}
bool WebContents::DidAddMessageToConsole(content::WebContents* source,
int32_t level,
const base::string16& message,
int32_t line_no,
const base::string16& source_id) {
return Emit("console-message", level, message, line_no, source_id);
bool WebContents::DidAddMessageToConsole(
content::WebContents* source,
blink::mojom::ConsoleMessageLevel level,
const base::string16& message,
int32_t line_no,
const base::string16& source_id) {
return Emit("console-message", static_cast<int32_t>(level), message, line_no,
source_id);
}
void WebContents::OnCreateWindow(

Просмотреть файл

@ -336,7 +336,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
// content::WebContentsDelegate:
bool DidAddMessageToConsole(content::WebContents* source,
int32_t level,
blink::mojom::ConsoleMessageLevel level,
const base::string16& message,
int32_t line_no,
const base::string16& source_id) override;

Просмотреть файл

@ -52,7 +52,10 @@ void Event::FrameDeleted(content::RenderFrameHost* rfh) {
}
void Event::PreventDefault(v8::Isolate* isolate) {
GetWrapper()->Set(StringToV8(isolate, "defaultPrevented"), v8::True(isolate));
GetWrapper()
->Set(isolate->GetCurrentContext(),
StringToV8(isolate, "defaultPrevented"), v8::True(isolate))
.Check();
}
bool Event::SendReply(const base::ListValue& result) {

Просмотреть файл

@ -108,8 +108,13 @@ class EventEmitter : public Wrappable<T> {
v8::HandleScope handle_scope(isolate());
EmitEvent(isolate(), GetWrapper(), name, event,
std::forward<Args>(args)...);
return event->Get(StringToV8(isolate(), "defaultPrevented"))
->BooleanValue(isolate());
auto context = isolate()->GetCurrentContext();
v8::Local<v8::Value> defaultPrevented;
if (event->Get(context, StringToV8(isolate(), "defaultPrevented"))
.ToLocal(&defaultPrevented)) {
return defaultPrevented->BooleanValue(isolate());
}
return false;
}
DISALLOW_COPY_AND_ASSIGN(EventEmitter);

Просмотреть файл

@ -96,7 +96,7 @@ void Browser::Focus() {
}
void Browser::AddRecentDocument(const base::FilePath& path) {
if (base::win::GetVersion() < base::win::VERSION_WIN7)
if (base::win::GetVersion() < base::win::Version::WIN7)
return;
CComPtr<IShellItem> item;
@ -346,7 +346,7 @@ std::string Browser::GetExecutableFileProductName() const {
bool Browser::IsEmojiPanelSupported() {
// emoji picker is supported on Windows 10's Spring 2018 update & above.
return base::win::GetVersion() >= base::win::Version::VERSION_WIN10_RS4;
return base::win::GetVersion() >= base::win::Version::WIN10_RS4;
}
void Browser::ShowEmojiPanel() {

Просмотреть файл

@ -45,7 +45,7 @@ void IOThread::Init() {
auto cert_verifier = std::make_unique<net::CachingCertVerifier>(
std::make_unique<net::MultiThreadedCertVerifier>(
net::CertVerifyProc::CreateDefault()));
net::CertVerifyProc::CreateDefault(nullptr)));
builder->SetCertVerifier(std::move(cert_verifier));
// Create the network service, so that shared host resolver

Просмотреть файл

@ -152,7 +152,7 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
};
AtomCertVerifier::AtomCertVerifier(RequireCTDelegate* ct_delegate)
: default_cert_verifier_(net::CertVerifier::CreateDefault()),
: default_cert_verifier_(net::CertVerifier::CreateDefault(nullptr)),
ct_delegate_(ct_delegate) {}
AtomCertVerifier::~AtomCertVerifier() {}

Просмотреть файл

@ -47,7 +47,7 @@ bool SaveIconToPath(const SkBitmap& bitmap, const base::FilePath& path) {
// static
NotificationPresenter* NotificationPresenter::Create() {
auto version = base::win::GetVersion();
if (version < base::win::VERSION_WIN8)
if (version < base::win::Version::WIN8)
return new NotificationPresenterWin7;
if (!WindowsToastNotification::Initialize())
return nullptr;

Просмотреть файл

@ -6,6 +6,7 @@
#include <utility>
#include "base/memory/shared_memory.h"
#include "components/viz/common/resources/resource_format.h"
#include "components/viz/common/resources/resource_sizes.h"
#include "mojo/public/cpp/system/platform_handle.h"

Просмотреть файл

@ -8,7 +8,7 @@
#include <memory>
#include "base/callback.h"
#include "base/memory/shared_memory.h"
#include "base/memory/shared_memory_mapping.h"
#include "components/viz/host/host_display_client.h"
#include "services/viz/privileged/interfaces/compositing/layered_window_updater.mojom.h"
#include "third_party/skia/include/core/SkBitmap.h"

Просмотреть файл

@ -531,8 +531,7 @@ void OffScreenRenderWidgetHostView::TextInputStateChanged(
void OffScreenRenderWidgetHostView::ImeCancelComposition() {}
void OffScreenRenderWidgetHostView::RenderProcessGone(base::TerminationStatus,
int) {
void OffScreenRenderWidgetHostView::RenderProcessGone() {
Destroy();
}

Просмотреть файл

@ -131,7 +131,7 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase,
void SetIsLoading(bool is_loading) override;
void TextInputStateChanged(const content::TextInputState& params) override;
void ImeCancelComposition(void) override;
void RenderProcessGone(base::TerminationStatus, int) override;
void RenderProcessGone() override;
void Destroy(void) override;
void SetTooltipText(const base::string16&) override;
content::CursorManager* GetCursorManager() override;

Просмотреть файл

@ -41,6 +41,7 @@
#include "net/http/http_response_headers.h"
#include "services/network/public/cpp/simple_url_loader.h"
#include "services/network/public/cpp/simple_url_loader_stream_consumer.h"
#include "third_party/blink/public/common/logging/logging_utils.h"
#include "ui/display/display.h"
#include "ui/display/screen.h"
@ -779,11 +780,13 @@ void InspectableWebContentsImpl::WebContentsDestroyed() {
bool InspectableWebContentsImpl::DidAddMessageToConsole(
content::WebContents* source,
int32_t level,
blink::mojom::ConsoleMessageLevel level,
const base::string16& message,
int32_t line_no,
const base::string16& source_id) {
logging::LogMessage("CONSOLE", line_no, level).stream()
logging::LogMessage("CONSOLE", line_no,
blink::ConsoleMessageLevelToLogSeverity(level))
.stream()
<< "\"" << message << "\", source: " << source_id << " (" << line_no
<< ")";
return true;

Просмотреть файл

@ -145,6 +145,7 @@ class InspectableWebContentsImpl
void SetOpenNewWindowForPopups(bool value) override {}
void RecordPerformanceHistogram(const std::string& name,
double duration) override {}
void RecordUserMetricsAction(const std::string& name) override {}
// content::DevToolsFrontendHostDelegate:
void HandleMessageFromDevToolsFrontend(const std::string& message);
@ -167,7 +168,7 @@ class InspectableWebContentsImpl
// content::WebContentsDelegate:
bool DidAddMessageToConsole(content::WebContents* source,
int32_t level,
blink::mojom::ConsoleMessageLevel level,
const base::string16& message,
int32_t line_no,
const base::string16& source_id) override;

Просмотреть файл

@ -150,10 +150,10 @@ void AutofillPopupView::OnSelectedRowChanged(
if (current_row_selection) {
int selected = current_row_selection.value_or(-1);
if (selected == -1 || selected >= child_count())
if (selected == -1 || static_cast<size_t>(selected) >= children().size())
return;
child_at(selected)->NotifyAccessibilityEvent(ax::mojom::Event::kSelection,
true);
children().at(selected)->NotifyAccessibilityEvent(
ax::mojom::Event::kSelection, true);
}
}
@ -232,7 +232,8 @@ void AutofillPopupView::DoUpdateBoundsAndRedrawPopup() {
}
void AutofillPopupView::OnPaint(gfx::Canvas* canvas) {
if (!popup_ || popup_->GetLineCount() != child_count())
if (!popup_ ||
static_cast<size_t>(popup_->GetLineCount()) != children().size())
return;
gfx::Canvas* draw_canvas = canvas;
SkBitmap bitmap;

Просмотреть файл

@ -43,9 +43,10 @@ void MenuDelegate::RunMenu(AtomMenuModel* model,
menu_runner_.reset(new views::MenuRunner(
item,
views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS));
menu_runner_->RunMenuAt(button->GetWidget()->GetTopLevelWidget(),
static_cast<views::MenuButton*>(button), bounds,
views::MenuAnchorPosition::kTopRight, source_type);
menu_runner_->RunMenuAt(
button->GetWidget()->GetTopLevelWidget(),
static_cast<views::MenuButton*>(button)->button_controller(), bounds,
views::MenuAnchorPosition::kTopRight, source_type);
}
void MenuDelegate::ExecuteCommand(int id) {

Просмотреть файл

@ -92,10 +92,10 @@ void RootView::SetMenuBarVisibility(bool visible) {
menu_bar_visible_ = visible;
if (visible) {
DCHECK_EQ(child_count(), 1);
DCHECK_EQ(children().size(), 1ul);
AddChildView(menu_bar_.get());
} else {
DCHECK_EQ(child_count(), 2);
DCHECK_EQ(children().size(), 2ul);
RemoveChildView(menu_bar_.get());
}

Просмотреть файл

@ -41,8 +41,12 @@ struct Converter<std::pair<Type1, Type2>> {
v8::Local<v8::Array> array(v8::Local<v8::Array>::Cast(val));
if (array->Length() != 2)
return false;
return Converter<Type1>::FromV8(isolate, array->Get(0), &out->first) &&
Converter<Type2>::FromV8(isolate, array->Get(1), &out->second);
auto context = isolate->GetCurrentContext();
return Converter<Type1>::FromV8(
isolate, array->Get(context, 0).ToLocalChecked(), &out->first) &&
Converter<Type2>::FromV8(
isolate, array->Get(context, 1).ToLocalChecked(), &out->second);
}
};

Просмотреть файл

@ -147,7 +147,8 @@ v8::Local<v8::Value> BindFunctionWith(v8::Isolate* isolate,
v8::Local<v8::Function> func,
v8::Local<v8::Value> arg1,
v8::Local<v8::Value> arg2) {
v8::MaybeLocal<v8::Value> bind = func->Get(mate::StringToV8(isolate, "bind"));
v8::MaybeLocal<v8::Value> bind =
func->Get(context, mate::StringToV8(isolate, "bind"));
CHECK(!bind.IsEmpty());
v8::Local<v8::Function> bind_func =
v8::Local<v8::Function>::Cast(bind.ToLocalChecked());

Просмотреть файл

@ -211,7 +211,8 @@ bool Converter<net::HttpResponseHeaders*>::FromV8(
if (localVal->IsArray()) {
auto values = v8::Local<v8::Array>::Cast(localVal);
for (uint32_t j = 0; j < values->Length(); j++) {
if (!addHeaderFromValue(key, values->Get(j))) {
if (!addHeaderFromValue(key,
values->Get(context, j).ToLocalChecked())) {
return false;
}
}

Просмотреть файл

@ -204,6 +204,7 @@ v8::Local<v8::Value> V8ValueConverter::ToV8Array(
v8::Isolate* isolate,
const base::ListValue* val) const {
v8::Local<v8::Array> result(v8::Array::New(isolate, val->GetSize()));
auto context = isolate->GetCurrentContext();
for (size_t i = 0; i < val->GetSize(); ++i) {
const base::Value* child = nullptr;
@ -212,7 +213,7 @@ v8::Local<v8::Value> V8ValueConverter::ToV8Array(
v8::Local<v8::Value> child_v8 = ToV8ValueImpl(isolate, child);
v8::TryCatch try_catch(isolate);
result->Set(static_cast<uint32_t>(i), child_v8);
result->Set(context, static_cast<uint32_t>(i), child_v8).Check();
if (try_catch.HasCaught())
LOG(ERROR) << "Setter for index " << i << " threw an exception.";
}
@ -330,9 +331,10 @@ std::unique_ptr<base::Value> V8ValueConverter::FromV8ValueImpl(
if (val->IsDate()) {
v8::Date* date = v8::Date::Cast(*val);
v8::Local<v8::Value> toISOString =
date->Get(v8::String::NewFromUtf8(isolate, "toISOString",
v8::NewStringType::kNormal)
.ToLocalChecked());
date->Get(context, v8::String::NewFromUtf8(isolate, "toISOString",
v8::NewStringType::kNormal)
.ToLocalChecked())
.ToLocalChecked();
if (toISOString->IsFunction()) {
v8::MaybeLocal<v8::Value> result =
toISOString.As<v8::Function>()->Call(context, val, 0, nullptr);

Просмотреть файл

@ -341,7 +341,7 @@ bool MoveItemToTrash(const base::FilePath& path) {
// Elevation prompt enabled for UAC protected files. This overrides the
// SILENT, NO_UI and NOERRORUI flags.
if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
if (base::win::GetVersion() >= base::win::Version::WIN8) {
// Windows 8 introduces the flag RECYCLEONDELETE and deprecates the
// ALLOWUNDO in favor of ADDUNDORECORD.
if (FAILED(pfo->SetOperationFlags(

Просмотреть файл

@ -110,7 +110,7 @@ void InvokeHiddenCallback(v8::Handle<v8::Context> context,
auto callback_key = mate::ConvertToV8(isolate, callback_name)
->ToString(context)
.ToLocalChecked();
auto callback_value = binding->Get(callback_key);
auto callback_value = binding->Get(context, callback_key).ToLocalChecked();
DCHECK(callback_value->IsFunction()); // set by sandboxed_renderer/init.js
auto callback = v8::Handle<v8::Function>::Cast(callback_value);
ignore_result(callback->Call(context, binding, 0, nullptr));

Просмотреть файл

@ -60,7 +60,7 @@ void InvokeIpcCallback(v8::Local<v8::Context> context,
auto callback_key = mate::ConvertToV8(isolate, callback_name)
->ToString(context)
.ToLocalChecked();
auto callback_value = ipcNative->Get(callback_key);
auto callback_value = ipcNative->Get(context, callback_key).ToLocalChecked();
DCHECK(callback_value->IsFunction()); // set by init.ts
auto callback = v8::Local<v8::Function>::Cast(callback_value);
ignore_result(callback->Call(context, ipcNative, args.size(), args.data()));

Просмотреть файл

@ -207,8 +207,12 @@ struct Converter<std::vector<T>> {
const std::vector<T>& val) {
v8::Local<v8::Array> result(
v8::Array::New(isolate, static_cast<int>(val.size())));
auto context = isolate->GetCurrentContext();
for (size_t i = 0; i < val.size(); ++i) {
result->Set(static_cast<int>(i), Converter<T>::ToV8(isolate, val[i]));
result
->Set(context, static_cast<int>(i),
Converter<T>::ToV8(isolate, val[i]))
.Check();
}
return result;
}
@ -219,12 +223,14 @@ struct Converter<std::vector<T>> {
if (!val->IsArray())
return false;
auto context = isolate->GetCurrentContext();
std::vector<T> result;
v8::Local<v8::Array> array(v8::Local<v8::Array>::Cast(val));
uint32_t length = array->Length();
for (uint32_t i = 0; i < length; ++i) {
T item;
if (!Converter<T>::FromV8(isolate, array->Get(i), &item))
if (!Converter<T>::FromV8(isolate,
array->Get(context, i).ToLocalChecked(), &item))
return false;
result.push_back(item);
}
@ -240,10 +246,11 @@ struct Converter<std::set<T>> {
const std::set<T>& val) {
v8::Local<v8::Array> result(
v8::Array::New(isolate, static_cast<int>(val.size())));
auto context = isolate->GetCurrentContext();
typename std::set<T>::const_iterator it;
int i;
for (i = 0, it = val.begin(); it != val.end(); ++it, ++i)
result->Set(i, Converter<T>::ToV8(isolate, *it));
result->Set(context, i, Converter<T>::ToV8(isolate, *it)).Check();
return result;
}
@ -253,12 +260,14 @@ struct Converter<std::set<T>> {
if (!val->IsArray())
return false;
auto context = isolate->GetCurrentContext();
std::set<T> result;
v8::Local<v8::Array> array(v8::Local<v8::Array>::Cast(val));
uint32_t length = array->Length();
for (uint32_t i = 0; i < length; ++i) {
T item;
if (!Converter<T>::FromV8(isolate, array->Get(i), &item))
if (!Converter<T>::FromV8(isolate,
array->Get(context, i).ToLocalChecked(), &item))
return false;
result.insert(item);
}
@ -281,9 +290,10 @@ struct Converter<std::map<std::string, T>> {
v8::Local<v8::Array> keys =
dict->GetOwnPropertyNames(context).ToLocalChecked();
for (uint32_t i = 0; i < keys->Length(); ++i) {
v8::Local<v8::Value> key = keys->Get(i);
v8::Local<v8::Value> key = keys->Get(context, i).ToLocalChecked();
T value;
if (Converter<T>::FromV8(isolate, dict->Get(key), &value))
if (Converter<T>::FromV8(
isolate, dict->Get(context, key).ToLocalChecked(), &value))
(*out)[gin::V8ToString(isolate, key)] = std::move(value);
}
return true;
@ -291,9 +301,12 @@ struct Converter<std::map<std::string, T>> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const std::map<std::string, T>& val) {
v8::Local<v8::Object> result = v8::Object::New(isolate);
auto context = isolate->GetCurrentContext();
for (auto i = val.begin(); i != val.end(); i++) {
result->Set(Converter<T>::ToV8(isolate, i->first),
Converter<T>::ToV8(isolate, i->second));
result
->Set(context, Converter<T>::ToV8(isolate, i->first),
Converter<T>::ToV8(isolate, i->second))
.Check();
}
return result;
}

Просмотреть файл

@ -104,11 +104,12 @@ class Dictionary {
template <typename T>
bool SetMethod(const base::StringPiece& key, const T& callback) {
return GetHandle()->Set(
StringToV8(isolate_, key),
CallbackTraits<T>::CreateTemplate(isolate_, callback)
->GetFunction(isolate_->GetCurrentContext())
.ToLocalChecked());
return GetHandle()
->Set(isolate_->GetCurrentContext(), StringToV8(isolate_, key),
CallbackTraits<T>::CreateTemplate(isolate_, callback)
->GetFunction(isolate_->GetCurrentContext())
.ToLocalChecked())
.ToChecked();
}
bool Delete(const base::StringPiece& key) {

Просмотреть файл

@ -39,7 +39,7 @@ index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f
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 1df2ce89d245c5965fe957c3b48a977ab2b19ee3..9efa1d3a330b08826e2ec3bde75ac5b228c7f9cf 100644
index 1f3f5e263585fbec3844b45116797084483006cb..8e13c4edbf98f380ddacad6447c4e0656fcb0bb2 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -553,6 +553,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {

Просмотреть файл

@ -6,7 +6,7 @@ Subject: allow_webview_file_url.patch
Allow webview to load non-web URLs.
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index 86b891fafe246644bdfc11b8e102143dde667134..33390464e1c7e1a7e484284f0f9994d4313106c5 100644
index 27f7edf204a0f22917cc7b62a63723e7ff396702..ea25f04910803f34248674c42a43574fa884b8ab 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -1496,6 +1496,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest(

Просмотреть файл

@ -5,10 +5,10 @@ Subject: blink-worker-enable-csp-in-file-scheme.patch
diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
index e2134f58fe7c59a17a24e428a4ba27d1f8db838e..174386d0768123c290094e6cf7e9a2ba95bc887c 100644
index d90b74ba141ee7f9609bea8698ca7b7c2f630d9f..f66233507fb26b4a2626b75b4eb38ff340d2d91c 100644
--- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
+++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
@@ -308,7 +308,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(
@@ -310,7 +310,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(
// document (which is implemented in WorkerMessagingProxy, and
// m_contentSecurityPolicy should be left as nullptr to inherit the policy).
if (!response.CurrentRequestUrl().ProtocolIs("blob") &&

Просмотреть файл

@ -10,10 +10,10 @@ to fix electron/electron#13787. The backport landed in Chromium 67 but the
DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
index 02d087e9ed5a91280bc00c75d70fc460b53cda1d..27c72802bc474610c8bc9083a7a41845223ed5cf 100644
index 59af62ece264de7f392f8b13ae373700d6aafc56..2d547910eaef8ba2194a012f8a6c9a444b7de741 100644
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
@@ -190,11 +190,10 @@ void LocalWindowProxy::Initialize() {
@@ -191,11 +191,10 @@ void LocalWindowProxy::Initialize() {
GetFrame()->IsMainFrame());
MainThreadDebugger::Instance()->ContextCreated(script_state_, GetFrame(),
origin);

Просмотреть файл

@ -14,7 +14,7 @@ when there is code doing that.
This patch reverts the change to fix the crash in Electron.
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index dd0e2f0df7b59ff0899473b96eac6ed3fb2f4122..6a8258a68d1e026ab5ad0c28d6d47883032a2a66 100644
index f5e5cfbd9f07c3c7140e43d1fd6804762aa6fe49..0c300bf86535de1091c757565e12b6e6e5168a77 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -413,10 +413,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {

Просмотреть файл

@ -5,7 +5,7 @@ Subject: blink_world_context.patch
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
index 6b1777713b03ee58d875377226d9827589388d79..5871096511969db7f029148679195bb7cdc7839f 100644
index 641a24b04dcf6602f8da660e4d84d591bc38573a..f9f1871d73dce74375084dd1786dee2806f973fb 100644
--- a/third_party/blink/public/web/web_local_frame.h
+++ b/third_party/blink/public/web/web_local_frame.h
@@ -355,6 +355,9 @@ class WebLocalFrame : public WebFrame {
@ -19,10 +19,10 @@ index 6b1777713b03ee58d875377226d9827589388d79..5871096511969db7f029148679195bb7
// that the script evaluated to with callback. Script execution can be
// suspend.
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index 481c9b9bdebef21fa7a78698a95be7fa6901673b..165406a76deedf1c4f34d451eb43be2977431481 100644
index 412e7553b657077c4ed5587dd7763ad4f14dc649..295ccca27242d3583697e4cda3460476ea38b231 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -867,6 +867,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
@@ -868,6 +868,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
return MainWorldScriptContext()->Global();
}
@ -37,7 +37,7 @@ index 481c9b9bdebef21fa7a78698a95be7fa6901673b..165406a76deedf1c4f34d451eb43be29
return BindingSecurity::ShouldAllowAccessToFrame(
CurrentDOMWindow(V8PerIsolateData::MainThreadIsolate()),
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
index 04874b65153227a208a114736a036c34507a3148..67a894cb7327fee07f70cd5749f445f708d35503 100644
index c6d881efbe2ecbb9170521020ac12590df3a74fd..a32f8cd49ab2f8ce9c462af04260453889ebcd92 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
@@ -147,6 +147,8 @@ class CORE_EXPORT WebLocalFrameImpl final

Просмотреть файл

@ -5,7 +5,7 @@ Subject: can_create_window.patch
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index a3651be4e397f85350bdf13179ca826c18b44cb5..6f3b476f027d768140813654033e44cd121365db 100644
index 6a42afb61eadb92a18c7506254aa015b2e7092e3..ed3f60d9230ae7ca902ba28caf8193ad895fe497 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -3669,6 +3669,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@ -17,10 +17,10 @@ index a3651be4e397f85350bdf13179ca826c18b44cb5..6f3b476f027d768140813654033e44cd
&no_javascript_access);
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index 7deab3ea78fc85815a7c713dc7718723f9302975..cf352ff127ea9aee0dcf5eff3915b21def76f0bb 100644
index 88471bc49cd5b00a9494cc3998ba9c44c2c87088..b78d5facf5fad5385d205f5cdc40f3609efa3741 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -288,6 +288,10 @@ struct CreateNewWindowParams {
@@ -289,6 +289,10 @@ struct CreateNewWindowParams {
// The window features to use for the new window.
blink.mojom.WindowFeatures features;
@ -32,10 +32,10 @@ index 7deab3ea78fc85815a7c713dc7718723f9302975..cf352ff127ea9aee0dcf5eff3915b21d
// Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 445e1febebe62b014d995a2bfb8ceefedc1e5e6a..03999fb7f9bfc1bb21cda1bfe15e95fb3bc9b678 100644
index bf0bbe26b5dfd43539b47a9dda8ec079f24adca4..bac5261c293f1c9aeec1ce077d483378538b9046 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -519,6 +519,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -518,6 +518,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -45,10 +45,10 @@ index 445e1febebe62b014d995a2bfb8ceefedc1e5e6a..03999fb7f9bfc1bb21cda1bfe15e95fb
bool opener_suppressed,
bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 0a1bf5d0b4d1fddcef30d2da697dc77b5b7f8c79..424bdb1dde40cc4003e022908de702a9d9e488d4 100644
index e295f5a9b4c27ddcb5128c041dfbb91378dda791..2539e6fce69fd0eb68f0439ae93393f88c670566 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -178,6 +178,7 @@ class RenderFrameHost;
@@ -175,6 +175,7 @@ class RenderFrameHost;
class RenderProcessHost;
class RenderViewHost;
class ResourceContext;
@ -56,7 +56,7 @@ index 0a1bf5d0b4d1fddcef30d2da697dc77b5b7f8c79..424bdb1dde40cc4003e022908de702a9
class SerialDelegate;
class ServiceManagerConnection;
class SiteInstance;
@@ -798,6 +799,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -801,6 +802,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -66,7 +66,7 @@ index 0a1bf5d0b4d1fddcef30d2da697dc77b5b7f8c79..424bdb1dde40cc4003e022908de702a9
bool opener_suppressed,
bool* no_javascript_access);
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 3e328daa58275e05b30b7a3fabb03f69db2fd7d2..d207e3760d8b48c1283085da132ee03eddb4c17c 100644
index a9508139d626447ebf54edf1281337b9f7a3f406..ee84732bc535538f95fc2c767060dca50fbdf561 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -77,6 +77,7 @@
@ -77,7 +77,7 @@ index 3e328daa58275e05b30b7a3fabb03f69db2fd7d2..d207e3760d8b48c1283085da132ee03e
#include "content/renderer/media/audio/audio_device_factory.h"
#include "content/renderer/media/stream/media_stream_device_observer.h"
#include "content/renderer/media/video_capture/video_capture_impl_manager.h"
@@ -1370,6 +1371,8 @@ WebView* RenderViewImpl::CreateView(
@@ -1368,6 +1369,8 @@ WebView* RenderViewImpl::CreateView(
}
params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features);

Просмотреть файл

@ -12,10 +12,10 @@ Without this patch, calling `registerStandardSchemes` during initialization
when in debug mode will cause a DCHECK to fire.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index 4dc87d822f1290475d756d1b12237ac31a8a7581..62997d683a83be4fd399a1474a5598aee28d379a 100644
index 732dc46b8bab153bb16228745a0161e42a9c1dd8..a9e907487f5d0dd502b593a147f816c1a0db9206 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -757,7 +757,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) {
@@ -758,7 +758,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) {
#endif
RegisterPathProvider();

Просмотреть файл

@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously
in atom::CommonWebContentsDelegate::ResetManageWebContents.
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 6e3dfde1019beee050e542934470beebd7a0c43e..76dd73f3ccfb43d0e74016a5a84afd4a2db22ca4 100644
index 76a2d13bc732916c304aecb493aba548e935e052..be90711e6e2ea740d41c8da41234b3db1fd5aea7 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -1564,7 +1564,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
@@ -1574,7 +1574,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
}
base::RunLoop run_loop;

Просмотреть файл

@ -22,7 +22,7 @@ index 9e65e50de1d45d8435145b56bf7108a8c0272065..3103e4caa2adf853277774092cbd645f
}
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 7e15121545795d39ec3326856919e6582b239506..0c2798cdae8166d792a4bf4ef94fa00cc4b8afa0 100644
index d31af66d884a36b1f10ba845bd3df77394296cf1..f57d0f9d0aef241e648a6a4a3aa390efcf16c690 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -61,6 +61,10 @@ ContentBrowserClient::SiteInstanceForNavigationType ContentBrowserClient::Should
@ -37,10 +37,10 @@ index 7e15121545795d39ec3326856919e6582b239506..0c2798cdae8166d792a4bf4ef94fa00c
const MainFunctionParams& parameters) {
return nullptr;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index e89f60b3c6297a90e95058c19fc953c82af043e9..e1585d687026cc5d0528dd99ae9e36ffb6699dfc 100644
index 87967723939dc85f89ed0be793f3371200860e45..ec60fa98d994b07881dbb15d397f8b7844af911a 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -244,6 +244,9 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -241,6 +241,9 @@ class CONTENT_EXPORT ContentBrowserClient {
content::RenderFrameHost* rfh,
content::SiteInstance* pending_site_instance) {}

Просмотреть файл

@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue
can be found at https://github.com/electron/electron/issues/1821
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index fb8e820175ac06b5eb8adee5a106491cff03d77b..ec954beab8861f569f48242c52ca249635e89bf4 100644
index 9e686fc3ec97bbb4a67b391f344dc8eb7aad2fbd..566929def5c8a9de82b5f7238cc50657521249d9 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -284,6 +284,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;

Просмотреть файл

@ -19,7 +19,7 @@ to deal with color spaces. That is being tracked at
https://crbug.com/634542 and https://crbug.com/711107.
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
index 644305bc4259de680c0589d8d572e2145bf5318e..711efdc623ff3bbca9a9e21161d3385e1ed181eb 100644
index 092fb1b7ea3626b7649472c35ec20bf1a6aaf4cd..fed8dd322faba387ebd0508228f847766a76011e 100644
--- a/cc/trees/layer_tree_settings.h
+++ b/cc/trees/layer_tree_settings.h
@@ -99,6 +99,8 @@ class CC_EXPORT LayerTreeSettings {
@ -65,7 +65,7 @@ index 78a6b5739caed8c3925f303c52ed107be8e4ccfe..ddbf660e594c1a991d4e758fa11b1b2e
!command_line->HasSwitch(switches::kUIDisablePartialSwap);
#if defined(OS_WIN)
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512e21d4161 100644
index faa61cee3a961b57c2abc5f4bdf6e8cd0954985b..76a73e7bb9dc1954da9a9f9f548c9e8d2a4c05c7 100644
--- a/components/viz/service/display/gl_renderer.cc
+++ b/components/viz/service/display/gl_renderer.cc
@@ -79,6 +79,9 @@
@ -78,7 +78,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
namespace viz {
namespace {
@@ -550,8 +553,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
@@ -553,8 +556,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
SetBlendEnabled(quad->ShouldDrawWithBlending());
@ -90,7 +90,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
// Use the full quad_rect for debug quads to not move the edges based on
// partial swaps.
@@ -1368,7 +1372,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
@@ -1372,7 +1376,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
params->use_aa ? USE_AA : NO_AA, mask_mode, mask_for_background,
params->use_color_matrix, tint_gl_composited_content_,
ShouldApplyRoundedCorner(params->quad)),
@ -100,7 +100,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
}
void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
@@ -1840,8 +1845,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
@@ -1843,8 +1848,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@ -111,7 +111,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
SetShaderColor(color, opacity);
if (current_program_->rounded_corner_rect_location() != -1) {
SetShaderRoundedCorner(
@@ -1997,8 +2002,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
@@ -2000,8 +2005,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
: NON_PREMULTIPLIED_ALPHA,
false, false, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@ -122,7 +122,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2095,8 +2100,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
@@ -2098,8 +2103,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
!quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@ -133,7 +133,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2199,7 +2204,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
@@ -2202,7 +2207,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
gfx::ColorSpace dst_color_space =
@ -142,7 +142,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
// Force sRGB output on Windows for overlay candidate video quads to match
// DirectComposition behavior in case these switch between overlays and
// compositing. See https://crbug.com/811118 for details.
@@ -2355,8 +2360,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
@@ -2358,8 +2363,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
ShouldApplyRoundedCorner(quad)),
@ -153,7 +153,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
@@ -2413,8 +2418,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
@@ -2416,8 +2421,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
// Bind the program to the GL state.
@ -164,7 +164,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
if (current_program_->rounded_corner_rect_location() != -1) {
SetShaderRoundedCorner(
@@ -3107,7 +3112,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
@@ -3110,7 +3115,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
const gfx::ColorSpace& src_color_space,
const gfx::ColorSpace& dst_color_space) {
@ -175,7 +175,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
ProgramKey program_key = program_key_no_color;
const gfx::ColorTransform* color_transform =
@@ -3461,7 +3468,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
@@ -3464,7 +3471,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
*overlay_texture = FindOrCreateOverlayTexture(
params.quad->render_pass_id, iosurface_width, iosurface_height,
@ -184,7 +184,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
*new_bounds = gfx::RectF(updated_dst_rect.origin(),
gfx::SizeF((*overlay_texture)->texture.size()));
@@ -3665,8 +3672,9 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
@@ -3668,8 +3675,9 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
PrepareGeometry(SHARED_BINDING);
@ -196,7 +196,7 @@ index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512
gfx::Transform render_matrix;
render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
@@ -3826,3 +3834,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
@@ -3829,3 +3837,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
}
} // namespace viz
@ -215,7 +215,7 @@ index 53fc82c1f2cc0cfb7a6ce909fea6c025dff26b43..ec00a673df6a8f1c372fc8dff7cf5085
service_manager::switches::kGpuSandboxAllowSysVShm,
service_manager::switches::kGpuSandboxFailuresFatal,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 721ea34bcd930dece08173366375ace0a16bc7d0..1c5d5acd48cfb42d6cd41d24f21fc025f25f6de7 100644
index c44c20c07828242eb3b7000252636d30a6fab2e1..c520a44f451c0274ed6af832eadb0129876df409 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -220,6 +220,7 @@
@ -235,7 +235,7 @@ index 721ea34bcd930dece08173366375ace0a16bc7d0..1c5d5acd48cfb42d6cd41d24f21fc025
network::switches::kExplicitlyAllowedPorts,
service_manager::switches::kDisableInProcessStackTraces,
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 970bdf426edcb0ffbd89ccdee69cf35ad37d3d9f..989eab3f13938888c335a1ebbc2a033ee5ee5414 100644
index abbcf4ba59a1f3f31ae83055030414de61ec20c5..0f34f2ef40afcda39bc3297dc69128e441be6cf5 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -2818,6 +2818,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
@ -288,7 +288,7 @@ index 88ec94963569588ed2882193a28197879dcb1090..eae37577bc9b1872c0162f55de218553
if (color_space == ColorSpace::CreateSRGB()) {
base::ScopedCFTypeRef<CFDataRef> srgb_icc(
diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
index 0ea5e08a40203cdd0fc0f9ea3ef49818bfd185d4..0368f2565686e367d1a95fb47306596797583663 100644
index 53de88695661a12f9820a0319901d4565a775c4a..12735b7b95a0bb45e08707467d21e59f4b77e2b5 100644
--- a/ui/gfx/switches.cc
+++ b/ui/gfx/switches.cc
@@ -7,6 +7,8 @@
@ -301,7 +301,7 @@ index 0ea5e08a40203cdd0fc0f9ea3ef49818bfd185d4..0368f2565686e367d1a95fb473065967
// sharpness, kerning, hinting and layout.
const char kDisableFontSubpixelPositioning[] =
diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
index 91d10770c24107de723403c6ce47e1b00fff28ad..da35618e6e3c36ebf38ffc7c2b428bcf6671227e 100644
index 3b87320bf5318ad4d30205f8a48f19c8037e61c6..f18f8db6feab73169ad9f95f33c52799d5d53049 100644
--- a/ui/gfx/switches.h
+++ b/ui/gfx/switches.h
@@ -11,6 +11,8 @@

Просмотреть файл

@ -12,19 +12,19 @@ this patch was introduced in Chrome 66.
Update(zcbenz): The bug is still in Chrome 72.
diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc
index f0ede24b7a723485996b9181d1521ffce87449de..6d4815276f6c2e44b16e7ad8bd0983788cd1fbcf 100644
index f93a9b7747c6501df48ffa6be286cdba3f0344d5..bff8ed632f878f74caab9b4184127f480877305c 100644
--- a/content/browser/frame_host/render_frame_proxy_host.cc
+++ b/content/browser/frame_host/render_frame_proxy_host.cc
@@ -270,6 +270,12 @@ void RenderFrameProxyHost::SetDestructionCallback(
@@ -268,6 +268,12 @@ void RenderFrameProxyHost::SetDestructionCallback(
void RenderFrameProxyHost::OnDetach() {
if (frame_tree_node_->render_manager()->ForInnerDelegate()) {
if (frame_tree_node_->render_manager()->IsMainFrameForInnerDelegate()) {
+ // Don't detach the frame for webview, we will manage the WebContents
+ // manually.
+ // We should revisit this bug after upgrading to newer versions of Chrome,
+ // this patch was introduced in Chrome 66.
+ return;
+
// Only main frame proxy can detach for inner WebContents.
DCHECK(frame_tree_node_->IsMainFrame());
frame_tree_node_->render_manager()->RemoveOuterDelegateFrame();
return;
}

Просмотреть файл

@ -5,7 +5,7 @@ Subject: disable_hidden.patch
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 4ccf75d1c1f4f8a8375874c0adfc583639bc2e9d..8aa2889137a0f3a7ffaaa439a39475428fbcfc7c 100644
index d9831e4d2cc2e24d07ab34957be0112992112b6e..5f0e4c3b44a4da7de94f2beb54cbc545c418679d 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -736,6 +736,9 @@ void RenderWidgetHostImpl::WasHidden() {
@ -19,10 +19,10 @@ index 4ccf75d1c1f4f8a8375874c0adfc583639bc2e9d..8aa2889137a0f3a7ffaaa439a3947542
TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::WasHidden");
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index f9a68845dc4a5ed1eb4f81f391c4a75c51a2e02e..8fc5af102d9650862d3bc697609954dff67982f2 100644
index 2bf7891372c8744edd2e99a0fb81ff2bd66e5952..cb37e6b0d0f2c6447a404312c4ef36622b8fdc9e 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -153,6 +153,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -155,6 +155,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
// RenderWidgetHostImpl.
static RenderWidgetHostImpl* From(RenderWidgetHost* rwh);

Просмотреть файл

@ -12,7 +12,7 @@ We should remove this patch after all Electron's code has been migrated to the
NetworkService.
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
index f7bf09f21ab1084128c21af90fe0bcb81066e894..ef2f5d880fd7ae839fff8bbd6bb33bf5aa244053 100644
index b12f83da65dd3d5f3959e8ea421fabb46dab7ad2..683890831cd9a34796caf26a80f2baf863d5f04f 100644
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -21,7 +21,7 @@ const base::Feature kNetworkService {

Просмотреть файл

@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch
See https://github.com/electron/electron/issues/10754
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 94a6fbd928290ebdfe0b60aee19b4a51d61a3514..a1ba9cb375203818be222ecae57486ad3c6daa3c 100644
index c3e77bc86d0b77fec2a0db459aefd749c6f04934..167235e72d20e1beb65abdf3b3c64a02f76796c9 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -3574,7 +3574,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
@@ -3568,7 +3568,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
"frame that never had a user gesture since its load. "
"https://www.chromestatus.com/feature/5082396709879808";
Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message);

Просмотреть файл

@ -7,10 +7,10 @@ Compilation of those files fails with the Chromium 68.
Remove the patch during the Chromium 69 upgrade.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index eee1b8766987c0fec4061fef98d5816c1dd429a4..062a147b94ca6ecdd68417da61465ed295f0db6f 100644
index 277254a4f8cd2c26d09cae73796e59353f7e7108..f9061edf1d17dae129210a7db1b8ff9a48be52f5 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1745,7 +1745,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
@@ -1749,7 +1749,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
"graphics/paint/drawing_display_item_test.cc",
"graphics/paint/drawing_recorder_test.cc",
"graphics/paint/float_clip_rect_test.cc",

Просмотреть файл

@ -5,13 +5,13 @@ Subject: fix: disable usage of SetApplicationIsDaemon and
_LSSetApplicationLaunchServicesServerConnectionStatus in MAS builds
diff --git a/content/utility/utility_service_factory.cc b/content/utility/utility_service_factory.cc
index 3a4a72dbbfeb2ce480fd7ae3b3e5de018585c36c..87c0821d88b8092d8ba7e82b588a0a5eed1ef8a5 100644
index 2e098ff3c2d0052984a96ffc72e393a20418b445..bf07ae34c286f03225535f6082a9151f12a3a5f2 100644
--- a/content/utility/utility_service_factory.cc
+++ b/content/utility/utility_service_factory.cc
@@ -207,7 +207,7 @@ void UtilityServiceFactory::RunService(
std::unique_ptr<service_manager::Service>
UtilityServiceFactory::CreateAudioService(
service_manager::mojom::ServiceRequest request) {
mojo::PendingReceiver<service_manager::mojom::Service> receiver) {
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) && !defined(MAS_BUILD)
// Don't connect to launch services when running sandboxed

Просмотреть файл

@ -7,10 +7,10 @@ Allows embedder to intercept site instances chosen by chromium
and respond with custom instance.
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 56aa5739aa3e364fb56c20e5cafe60302693d85d..725be2485879b1c9aebf67ee65dc86cf4b755496 100644
index 2314c6d1d29ebc61d5156644617e9eb088df5d43..9c75367a173b836027b3b7628b49b363e2875338 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -2102,6 +2102,16 @@ bool RenderFrameHostManager::InitRenderView(
@@ -2108,6 +2108,16 @@ bool RenderFrameHostManager::InitRenderView(
scoped_refptr<SiteInstance>
RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
const NavigationRequest& request) {
@ -27,7 +27,7 @@ index 56aa5739aa3e364fb56c20e5cafe60302693d85d..725be2485879b1c9aebf67ee65dc86cf
// First, check if the navigation can switch SiteInstances. If not, the
// navigation should use the current SiteInstance.
SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
@@ -2134,6 +2144,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -2140,6 +2150,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request.common_params().url);
no_renderer_swap_allowed |=
request.from_begin_navigation() && !can_renderer_initiate_transfer;
@ -79,7 +79,7 @@ index 56aa5739aa3e364fb56c20e5cafe60302693d85d..725be2485879b1c9aebf67ee65dc86cf
} else {
// Subframe navigations will use the current renderer, unless specifically
// allowed to swap processes.
@@ -2145,23 +2200,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -2151,23 +2206,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
if (no_renderer_swap_allowed && !should_swap_for_error_isolation)
return scoped_refptr<SiteInstance>(current_site_instance);
@ -108,7 +108,7 @@ index 56aa5739aa3e364fb56c20e5cafe60302693d85d..725be2485879b1c9aebf67ee65dc86cf
}
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 03999fb7f9bfc1bb21cda1bfe15e95fb3bc9b678..7e15121545795d39ec3326856919e6582b239506 100644
index bac5261c293f1c9aeec1ce077d483378538b9046..d31af66d884a36b1f10ba845bd3df77394296cf1 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -51,6 +51,16 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info,
@ -129,10 +129,10 @@ index 03999fb7f9bfc1bb21cda1bfe15e95fb3bc9b678..7e15121545795d39ec3326856919e658
const MainFunctionParams& parameters) {
return nullptr;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 424bdb1dde40cc4003e022908de702a9d9e488d4..e89f60b3c6297a90e95058c19fc953c82af043e9 100644
index 2539e6fce69fd0eb68f0439ae93393f88c670566..87967723939dc85f89ed0be793f3371200860e45 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -213,8 +213,37 @@ CONTENT_EXPORT void OverrideOnBindInterface(
@@ -210,8 +210,37 @@ CONTENT_EXPORT void OverrideOnBindInterface(
// the observer interfaces.)
class CONTENT_EXPORT ContentBrowserClient {
public:

Просмотреть файл

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
index 33dc98925f5f6090daf2ee002dd53bd2454d774b..507fa685080d2a48b0974c5c9104eedecf3ad6d4 100644
index 5c8eb8c98ce8150446bf32451dbd523af2f00fb6..a960b01a46da8b58616fddc33f04da167640ba0e 100644
--- a/tools/gritsettings/resource_ids
+++ b/tools/gritsettings/resource_ids
@@ -435,6 +435,11 @@
@@ -438,6 +438,11 @@
"includes": [28880],
},

Просмотреть файл

@ -38,7 +38,7 @@ index d38fa48b8b890d90f2911995a2a51c249005c827..5fe68c71fe101a307ef565013a91b109
// is concerned.
@property(nonatomic, readonly) NSString* subrole;
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279cada714c 100644
index 21934df3a2bf46d54f65bff09ccd7c02b9fb6a40..0c1c8850f50808aab44892221d834f496b15ca99 100644
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -141,6 +141,7 @@
@ -49,7 +49,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
extern "C" {
// The following are private accessibility APIs required for cursor navigation
@@ -345,6 +346,7 @@ void AddMisspelledTextAttributes(
@@ -346,6 +347,7 @@ void AddMisspelledTextAttributes(
AddMisspelledTextAttributes(text_only_objects, attributed_text);
return [attributed_text attributedSubstringFromRange:range];
}
@ -57,7 +57,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
// Returns an autoreleased copy of the AXNodeData's attribute.
NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility,
@@ -612,7 +614,9 @@ + (void)initialize {
@@ -613,7 +615,9 @@ + (void)initialize {
{NSAccessibilityEditableAncestorAttribute, @"editableAncestor"},
{NSAccessibilityElementBusyAttribute, @"elementBusy"},
{NSAccessibilityEnabledAttribute, @"enabled"},
@ -67,7 +67,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
{NSAccessibilityExpandedAttribute, @"expanded"},
{NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"},
{NSAccessibilityFocusedAttribute, @"focused"},
@@ -647,13 +651,17 @@ + (void)initialize {
@@ -648,13 +652,17 @@ + (void)initialize {
{NSAccessibilityRowsAttribute, @"rows"},
// TODO(aboxhall): expose
// NSAccessibilityServesAsTitleForUIElementsAttribute
@ -85,7 +85,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
{NSAccessibilitySizeAttribute, @"size"},
{NSAccessibilitySortDirectionAttribute, @"sortDirection"},
{NSAccessibilitySubroleAttribute, @"subrole"},
@@ -1142,6 +1150,7 @@ - (NSNumber*)enabled {
@@ -1143,6 +1151,7 @@ - (NSNumber*)enabled {
ax::mojom::Restriction::kDisabled];
}
@ -93,7 +93,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
// Returns a text marker that points to the last character in the document that
// can be selected with VoiceOver.
- (id)endTextMarker {
@@ -1152,6 +1161,7 @@ - (id)endTextMarker {
@@ -1153,6 +1162,7 @@ - (id)endTextMarker {
BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
return CreateTextMarker(position->CreatePositionAtEndOfAnchor());
}
@ -101,7 +101,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
- (NSNumber*)expanded {
if (![self instanceActive])
@@ -2027,6 +2037,7 @@ - (NSValue*)selectedTextRange {
@@ -2028,6 +2038,7 @@ - (NSValue*)selectedTextRange {
return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
}
@ -109,7 +109,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
- (id)selectedTextMarkerRange {
if (![self instanceActive])
return nil;
@@ -2059,6 +2070,7 @@ - (id)selectedTextMarkerRange {
@@ -2060,6 +2071,7 @@ - (id)selectedTextMarkerRange {
anchorAffinity, *focusObject,
focusOffset, focusAffinity));
}
@ -117,7 +117,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
- (NSValue*)size {
if (![self instanceActive])
@@ -2091,6 +2103,7 @@ - (NSString*)sortDirection {
@@ -2092,6 +2104,7 @@ - (NSString*)sortDirection {
return nil;
}
@ -125,7 +125,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
// Returns a text marker that points to the first character in the document that
// can be selected with VoiceOver.
- (id)startTextMarker {
@@ -2101,6 +2114,7 @@ - (id)startTextMarker {
@@ -2102,6 +2115,7 @@ - (id)startTextMarker {
BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
}
@ -133,7 +133,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
// Returns a subrole based upon the role.
- (NSString*)subrole {
@@ -2401,12 +2415,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
@@ -2402,12 +2416,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
NSMutableAttributedString* attributedValue =
[[[NSMutableAttributedString alloc] initWithString:value] autorelease];
@ -148,7 +148,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
return [attributedValue attributedSubstringFromRange:range];
}
@@ -2491,6 +2507,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2492,6 +2508,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return ToBrowserAccessibilityCocoa(cell);
}
@ -156,7 +156,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
if ([attribute isEqualToString:@"AXUIElementForTextMarker"]) {
BrowserAccessibilityPositionInstance position =
CreatePositionFromTextMarker(parameter);
@@ -2668,6 +2685,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2669,6 +2686,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
NSString* text = GetTextForTextMarkerRange(parameter);
return [NSNumber numberWithInt:[text length]];
}
@ -164,7 +164,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
if ([attribute isEqualToString:
NSAccessibilityBoundsForRangeParameterizedAttribute]) {
@@ -2701,6 +2719,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
@@ -2702,6 +2720,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return nil;
}
@ -172,7 +172,7 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
if ([attribute
isEqualToString:
NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
@@ -2780,6 +2799,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
@@ -2782,6 +2801,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
return @(child->GetIndexInParent());
}
@ -181,10 +181,10 @@ index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279
return nil;
}
diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
index eb2f9c29b30b016eff979e06a432f804c4318503..a76f1aa4e24346dabb94089c77a260c9b6b19243 100644
index 350a17a75fed37eb887560956a6e5378a1b46759..e298becdb574fd254c131068ace58c0d1be49043 100644
--- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
+++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
@@ -484,6 +484,7 @@ void PostAnnouncementNotification(NSString* announcement) {
@@ -485,6 +485,7 @@ void PostAnnouncementNotification(NSString* announcement) {
[user_info setObject:native_focus_object
forKey:NSAccessibilityTextChangeElement];
@ -192,7 +192,7 @@ index eb2f9c29b30b016eff979e06a432f804c4318503..a76f1aa4e24346dabb94089c77a260c9
id selected_text = [native_focus_object selectedTextMarkerRange];
if (selected_text) {
NSString* const NSAccessibilitySelectedTextMarkerRangeAttribute =
@@ -491,6 +492,7 @@ void PostAnnouncementNotification(NSString* announcement) {
@@ -492,6 +493,7 @@ void PostAnnouncementNotification(NSString* announcement) {
[user_info setObject:selected_text
forKey:NSAccessibilitySelectedTextMarkerRangeAttribute];
}

Просмотреть файл

@ -67,10 +67,10 @@ index cbac30fa7a12db927ba6a15173ba1181e03e0723..4d26fd795a7ce1ffd046c4a0f2ec1779
mojo::MakeRequest(&notification_service_ptr_));
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
index d0b32520a30c1807117a3dc02d5d55bcb3d7b995..f868d3c40f78fa105477d7f22e47a75c5281de14 100644
index 258d4235cc977ce0aed3cb31020244b26a8c19dd..436ebd7927eec6b007724c988248c418114491e5 100644
--- a/content/browser/notifications/platform_notification_context_impl.cc
+++ b/content/browser/notifications/platform_notification_context_impl.cc
@@ -199,12 +199,13 @@ void PlatformNotificationContextImpl::Shutdown() {
@@ -207,12 +207,13 @@ void PlatformNotificationContextImpl::Shutdown() {
}
void PlatformNotificationContextImpl::CreateService(
@ -87,7 +87,7 @@ index d0b32520a30c1807117a3dc02d5d55bcb3d7b995..f868d3c40f78fa105477d7f22e47a75c
void PlatformNotificationContextImpl::RemoveService(
diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
index 11eed749075c7c17d4beb86674c253b5f296d82d..8a7c7f3f7a069e2339a4234a21dd4536fcf0c6a1 100644
index de7f9d4c1b670b6955ec62e562b133a86b770652..a7daada96b6ebed404d6fa3eef1048ab022d443f 100644
--- a/content/browser/notifications/platform_notification_context_impl.h
+++ b/content/browser/notifications/platform_notification_context_impl.h
@@ -24,6 +24,7 @@

Просмотреть файл

@ -435,7 +435,7 @@ index d63e90b6c5079ab3237c4bad3d5e63ce2f99c657..c98a7bd07ddd9527fc67b05b24463ed4
return nullptr;
}
diff --git a/chrome/renderer/pepper/pepper_flash_renderer_host.cc b/chrome/renderer/pepper/pepper_flash_renderer_host.cc
index 880dd83122400909c2768c339ea1e8835b214406..2eab439f74e3d65c0a07c4aba7f2119b598037e8 100644
index 36edbfd997d0dfaa998a4e288caf29af418a28f5..7f4012a4a5b8194a1e44f35f458612099e09fbe4 100644
--- a/chrome/renderer/pepper/pepper_flash_renderer_host.cc
+++ b/chrome/renderer/pepper/pepper_flash_renderer_host.cc
@@ -13,7 +13,9 @@

Просмотреть файл

@ -25,7 +25,7 @@ index 6986a9b55908f989275115ba8bd290f9e1d40ace..90c51ca81795547f7ec116e6c57af704
const blink::WebMouseEvent& event,
const ui::LatencyInfo& latency) {
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
index 11c2dcff17aac3e789c096642d1ac82fa8426232..8e1cd769e8a3aa83376ea8f74274a21c6f819101 100644
index e8dadd66ca8b81638c198d6ce5490b43384116a9..82534c4d1cc44b0192fd0e9a5e082d7d01dfab41 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -23,8 +23,10 @@

Просмотреть файл

@ -66,7 +66,7 @@ index 03ee233d5e07fd59f07227d5f925590a08935049..c9ca2bd46987a56901fb0d15969e1b29
return validAttributesForMarkedText_.get();
}
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 4db5f275ff7ce4c64251f1acf178805a55e51a90..aaf8feb7d93a473fdffdc53e907f9bfba216c551 100644
index 2f23c1b11c41fc368ce5f05c6b8bf2c8e66849c2..7ab6f530193a7e19da6222c9b396733327ec6006 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -61,6 +61,7 @@

Просмотреть файл

@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 64c7fbccee69e037e6c2360f4025f87530fe14ed..cf97b6a0ae411ac375db8d798fb9ca29655ecebc 100644
index 645bf391f2e7ffa9974c4cdfb0e323dc14cbf931..def59a7885004ee42b331f3af3241f4e6947b0c1 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1647,7 +1647,7 @@ if (is_chrome_branded && !is_android) {
@@ -1646,7 +1646,7 @@ if (is_chrome_branded && !is_android) {
}
}
@ -64,7 +64,7 @@ index 64c7fbccee69e037e6c2360f4025f87530fe14ed..cf97b6a0ae411ac375db8d798fb9ca29
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
@@ -1671,6 +1671,12 @@ if (!is_android) {
@@ -1670,6 +1670,12 @@ if (!is_android) {
}
}

Просмотреть файл

@ -8,21 +8,16 @@ This reverts commit a50f2f33843d26fd7c0d1f1a2331aa45a392c6cd.
This roll broke ARM builds. Tracking bug: crbug.com/953815
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index c284aff1e3b73977050dcc9ee0608aae6c650f5c..39a4c86ee5fbfbd8f9f8d5b2b08d12af3be078ee 100755
index ab0311650bffadf8d3cfe03f8a55cea319e15550..b9faaefcd3c5f978af9d72f08f1ba230d5a27b24 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -35,7 +35,7 @@ import zipfile
@@ -35,10 +35,10 @@ import zipfile
# Do NOT CHANGE this if you don't know what you're doing -- see
# https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md
# Reverting problematic clang rolls is safe, though.
-CLANG_REVISION = '357692'
+CLANG_REVISION = '356356'
use_head_revision = bool(os.environ.get('LLVM_FORCE_HEAD_REVISION', '0')
in ('1', 'YES'))
@@ -43,7 +43,7 @@ if use_head_revision:
CLANG_REVISION = 'HEAD'
# This is incremented when pushing a new build of Clang at the same revision.
-CLANG_SUB_REVISION=1
+CLANG_SUB_REVISION=3

Просмотреть файл

@ -6,7 +6,7 @@ Subject: scroll_bounce_flag.patch
Patch to make scrollBounce option work.
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index e47b89dbbe1c9d428750d564bca8aa30e8915298..462d3693cc5dadc8677dac2d0e98ee274bd8b783 100644
index d4c55a577bde40d8d28641a7aa42a5218540cb32..6dcd14f54ba4f0778fbcf1e82689755033feb1ca 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1534,7 +1534,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() {

Просмотреть файл

@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 6546420e33164c612298d76e8fdf32bfde061b98..721ea34bcd930dece08173366375ace0a16bc7d0 100644
index abb4caa2a04c50d11165005768891f416aa684d3..c44c20c07828242eb3b7000252636d30a6fab2e1 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -420,6 +420,10 @@ class RendererSandboxedProcessLauncherDelegate

Просмотреть файл

@ -5,7 +5,7 @@ Subject: unsandboxed ppapi processes skip zygote
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 2d57937dfffb4ea85739f27780e53c04ef087f58..39a21171b4584cc6f45e2407a02dee2609603249 100644
index 817fa41a2dcb4692b33915281b1efc66d1b07334..e7c58a83517061bc127b57e6e0e6875d681b3430 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -106,6 +106,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate

Просмотреть файл

@ -97,10 +97,10 @@ index 93c52d2b928cba6e98723e19b005fb7bd7089a58..4dc645e770a2a039ed8e4ff4de555767
private:
const HWND hwnd_;
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index bc3f8a7ee8e1ad4d3aa23baf85638eff48158987..e6610ac4289997386ff17b1adeab80672572c3f7 100644
index b87dda651d12d8b6bd1c58bc323ec06667418794..58aaf1bb6692d7365fbd4fe2f4d6daa86886e126 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -115,6 +115,8 @@ viz_component("service") {
@@ -116,6 +116,8 @@ viz_component("service") {
"display_embedder/in_process_gpu_memory_buffer_manager.h",
"display_embedder/server_shared_bitmap_manager.cc",
"display_embedder/server_shared_bitmap_manager.h",
@ -110,7 +110,7 @@ index bc3f8a7ee8e1ad4d3aa23baf85638eff48158987..e6610ac4289997386ff17b1adeab8067
"display_embedder/software_output_surface.h",
"display_embedder/viz_process_context_provider.cc",
diff --git a/components/viz/service/display_embedder/gpu_display_provider.cc b/components/viz/service/display_embedder/gpu_display_provider.cc
index 1c79ef0c20e611eaf547dabd9936a59c954c0bb8..a9bf01500052bc1e4fbacc133a7feacd68bf6057 100644
index e57ba4becd8453d8fc452df7b571d4a0794c4b74..b8ef7e9410f172ff09b90087655ea85f89a748eb 100644
--- a/components/viz/service/display_embedder/gpu_display_provider.cc
+++ b/components/viz/service/display_embedder/gpu_display_provider.cc
@@ -19,6 +19,7 @@
@ -121,7 +121,7 @@ index 1c79ef0c20e611eaf547dabd9936a59c954c0bb8..a9bf01500052bc1e4fbacc133a7feacd
#include "components/viz/service/display_embedder/software_output_surface.h"
#include "components/viz/service/display_embedder/viz_process_context_provider.h"
#include "components/viz/service/gl/gpu_service_impl.h"
@@ -282,6 +283,19 @@ GpuDisplayProvider::CreateSoftwareOutputDeviceForPlatform(
@@ -277,6 +278,19 @@ GpuDisplayProvider::CreateSoftwareOutputDeviceForPlatform(
if (headless_)
return std::make_unique<SoftwareOutputDevice>();
@ -479,10 +479,10 @@ index a339eaa4dc9ccec292b3df9f31adf1ad45119a77..33146bbe7bb01fbe24cea10d79cad274
return std::make_unique<SoftwareOutputDeviceWinDirect>(hwnd, backing);
}
diff --git a/services/viz/privileged/interfaces/compositing/display_private.mojom b/services/viz/privileged/interfaces/compositing/display_private.mojom
index 997b82c91539a947fefde5671f898ee97b72f3b8..78b70b490fcc92f0d14e1cde08d3eddf7fa1e562 100644
index f43ad2f0aeeb4e088c087b0c83cbf35aa764dfef..f88fda16a6f6e88d38b3a3e27a7daed8c4c270f8 100644
--- a/services/viz/privileged/interfaces/compositing/display_private.mojom
+++ b/services/viz/privileged/interfaces/compositing/display_private.mojom
@@ -62,12 +62,14 @@ interface DisplayPrivate {
@@ -73,12 +73,14 @@ interface DisplayPrivate {
};
interface DisplayClient {
@ -510,7 +510,7 @@ index 360cab3eee4c5189a55269d76daa1d78a98ed3d3..6834242f23d27fd6d428c2cd6040206a
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e29aed5ab 100644
index d1352c059e0ef414e36408648d389b479aab9e28..9326d44cdf9d92b6c7603e8697255b9c204eccf0 100644
--- a/ui/compositor/compositor.h
+++ b/ui/compositor/compositor.h
@@ -24,6 +24,7 @@
@ -519,9 +519,9 @@ index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e
#include "components/viz/common/surfaces/local_surface_id_allocation.h"
+#include "components/viz/host/host_display_client.h"
#include "components/viz/host/host_frame_sink_client.h"
#include "services/viz/privileged/interfaces/compositing/vsync_parameter_observer.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkMatrix44.h"
@@ -194,6 +195,15 @@ class COMPOSITOR_EXPORT ContextFactory {
@@ -199,6 +200,15 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
};
@ -537,7 +537,7 @@ index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -236,6 +246,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -238,6 +248,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@ -547,7 +547,7 @@ index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -460,6 +473,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -463,6 +476,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
@ -557,10 +557,10 @@ index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e
Layer* root_layer_ = nullptr;
diff --git a/ui/compositor/host/host_context_factory_private.cc b/ui/compositor/host/host_context_factory_private.cc
index 2b23ed42a93399127cb9e67623fafd51c6bdb003..c934258b5de8fa6758bd8d118126b97bbe61ac30 100644
index f8b1e4b8c64809bf3b151f0578e3bfe6f5b2d6b6..d866753c01bce623c45435fc01cfbac3841afc90 100644
--- a/ui/compositor/host/host_context_factory_private.cc
+++ b/ui/compositor/host/host_context_factory_private.cc
@@ -69,8 +69,12 @@ void HostContextFactoryPrivate::ConfigureCompositor(
@@ -70,8 +70,12 @@ void HostContextFactoryPrivate::ConfigureCompositor(
mojo::MakeRequest(&root_params->compositor_frame_sink_client);
root_params->display_private =
mojo::MakeRequest(&compositor_data.display_private);

Просмотреть файл

@ -5,10 +5,10 @@ Subject: web_contents.patch
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 1491bf580c59b6550194aae03c4bdd7f9d6ffc06..673416eaff000df8c9a9b9266a84cd1dbd7d3773 100644
index 1729f407f21be18891393f08e763ab18eceb1c1a..fab77addce46c326aa1e493808a0f4b61ecadd0e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2068,6 +2068,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2066,6 +2066,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -21,7 +21,7 @@ index 1491bf580c59b6550194aae03c4bdd7f9d6ffc06..673416eaff000df8c9a9b9266a84cd1d
WebContentsViewDelegate* delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -2083,6 +2089,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2081,6 +2087,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
&render_view_host_delegate_view_);
}
}

Просмотреть файл

@ -5,10 +5,10 @@ Subject: webview_cross_drag.patch
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
index 74f537d116187d74f54e8285475d9f0a1c318576..9a64f45a08ed788d59b4f34f8bdb6a1e969dce30 100644
index 2ff912c1b4fbf02a5c00dfd0206f21f9a3608160..a81fce5c072b91f2dda2fea0f87110d1499603a1 100644
--- a/content/browser/web_contents/web_contents_view_aura.cc
+++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -630,6 +630,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
@@ -754,6 +754,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
bool WebContentsViewAura::IsValidDragTarget(
RenderWidgetHostImpl* target_rwh) const {

Просмотреть файл

@ -21,10 +21,10 @@ index fad5f104f0113813133c69fe8a4392d73f153ba5..01c826ef12b4e04033377d4e5e50fcb8
// An empty URL is returned if the URL is not overriden.
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 30273211857b6aa7b9f98dfaa46e3f539c4e7931..f98cb1d4e72c2fd0fffbe177d3e19ef8dc6afe1e 100644
index 812c9b48c817cf01837e6513336c9dc76f1fda60..440339726d0bd5359f98dda971dbc4fd806c4094 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -1095,6 +1095,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
@@ -1086,6 +1086,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
}
@ -38,10 +38,10 @@ index 30273211857b6aa7b9f98dfaa46e3f539c4e7931..f98cb1d4e72c2fd0fffbe177d3e19ef8
const v8::Local<v8::Context>& worker) {
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
index 629362d2f99059f941220dbc50645f7f7f838e99..cc0654a4555cea5281353756e80bb9e5b7a398c7 100644
index 752d0929185111f4b8ad8bdb0ba5d54e4c9de294..924d3182acccf3e2f8030a3f7a7b1f62f5f29fc3 100644
--- a/content/renderer/renderer_blink_platform_impl.h
+++ b/content/renderer/renderer_blink_platform_impl.h
@@ -214,6 +214,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -212,6 +212,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
void DidStartWorkerThread() override;
void WillStopWorkerThread() override;
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
@ -50,10 +50,10 @@ index 629362d2f99059f941220dbc50645f7f7f838e99..cc0654a4555cea5281353756e80bb9e5
void RecordMetricsForBackgroundedRendererPurge() override;
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index 198d6649ef4164800b8c8ba86e522e643d7a420f..9841217dcdb9fc2c0e6506206103b9192d9d15d9 100644
index 89475620b73b66b336842cee144cee53242a1403..b0e110e04329b0e55b42e9f57aa0d28499049222 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -682,6 +682,7 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -676,6 +676,7 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
@ -62,10 +62,10 @@ index 198d6649ef4164800b8c8ba86e522e643d7a420f..9841217dcdb9fc2c0e6506206103b919
const WebSecurityOrigin& script_origin) {
return false;
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index 96dacc97cac57a039f2506ab4d4e3ca2664e18ef..5a31664f44ec87d87e1500b00ec4732918ede625 100644
index 3b579edbe368f1974d352123729a748b7acf0583..9a0554c7cdd61ce73133a42ab10ba21e08430f07 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -558,6 +558,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
@@ -569,6 +569,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
SetExitCode(ExitCode::kGracefullyTerminated);
}

Просмотреть файл

@ -1,9 +1,11 @@
add_realloc.patch
build_gn.patch
expose_mksnapshot.patch
revert_api_remove_deprecated_conversion_functions.patch
deps_provide_more_v8_backwards_compatibility.patch
dcheck.patch
revert_reland_api_heap_remove_deprecated_persistent_apis.patch
fixme_revert_heap_api_remove_deprecated_apis.patch
revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch
export_symbols_needed_for_windows_build.patch
woa_symbol_workaround.patch
workaround_an_undefined_symbol_error.patch

Просмотреть файл

@ -12,10 +12,10 @@ when we override ReallocateBufferMemory, so we therefore need to implement
Realloc on the v8 side.
diff --git a/include/v8.h b/include/v8.h
index 6ea19f43013af0b53dcd673e6175f36f95959e1a..f3ec969c25f121514588f762332c914a22f34527 100644
index a3ae21f1a9fcacd1f007f9c77c9ba48c2818df05..0e21793b1214c681770b72f64b9f0d6188c6a385 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -4694,6 +4694,13 @@ class V8_EXPORT ArrayBuffer : public Object {
@@ -4647,6 +4647,13 @@ class V8_EXPORT ArrayBuffer : public Object {
*/
virtual void* AllocateUninitialized(size_t length) = 0;
@ -30,7 +30,7 @@ index 6ea19f43013af0b53dcd673e6175f36f95959e1a..f3ec969c25f121514588f762332c914a
* Free the memory block of size |length|, pointed to by |data|.
* That memory is guaranteed to be previously allocated by |Allocate|.
diff --git a/src/api.cc b/src/api.cc
index 64c4ae9bc1d70fa5cdc88ee0d2ea9a9f891ae2c4..3b3e84456431bdff91f32ca856fcc0a939fc47cb 100644
index 7c496e2e857073057cb519c4b66b867b4a16929e..c2fc1fc9827f896c521606a75baecef6c60e8f8a 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -520,6 +520,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {

Просмотреть файл

@ -5,7 +5,7 @@ Subject: build_gn.patch
diff --git a/BUILD.gn b/BUILD.gn
index a8aa8d820e88ad056b5b72861f35f640acdc9ff4..ade81276041c70e7e9198489e5e0cab41f279562 100644
index 5b6ba9872f5b5b6844a6cd9094fc1d61b7089b5e..24bb79afe2458e64738ddd1b910250ede75c2a83 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -262,7 +262,7 @@ config("internal_config") {
@ -17,7 +17,7 @@ index a8aa8d820e88ad056b5b72861f35f640acdc9ff4..ade81276041c70e7e9198489e5e0cab4
defines += [ "BUILDING_V8_SHARED" ]
}
}
@@ -3655,7 +3655,7 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -3708,7 +3708,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]
@ -26,7 +26,7 @@ index a8aa8d820e88ad056b5b72861f35f640acdc9ff4..ade81276041c70e7e9198489e5e0cab4
deps = [
":v8_libbase",
@@ -3676,6 +3676,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
@@ -3729,6 +3729,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
configs = [ ":internal_config" ]

Просмотреть файл

@ -5,10 +5,10 @@ Subject: dcheck.patch
diff --git a/src/api.cc b/src/api.cc
index bf68b0966d4f92e99810578b0d385334706f0018..e2d409057aa0f333b61e3d6e03f2358feab2081f 100644
index a91a11b9dedf375b7d3950dfd6eab3f63b23e0ca..1102e5d9ca745ec57257379acef92a17d374362d 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -8631,7 +8631,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -8633,7 +8633,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
void Isolate::RunMicrotasks() {
@ -18,10 +18,10 @@ index bf68b0966d4f92e99810578b0d385334706f0018..e2d409057aa0f333b61e3d6e03f2358f
isolate->default_microtask_queue()->RunMicrotasks(isolate);
}
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index a6b3f5dd1d9475ac4ceea55273f20fe9dea9a818..e73de4020d355fb126a59f0c42c8655330d3d40e 100644
index c1bbe6ee3e8fd8e93a49200e3369be98b340a889..0750431050b07ac38c8f9c341ea4ec13ad5a2586 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -4936,9 +4936,9 @@ void Heap::TearDown() {
@@ -4943,9 +4943,9 @@ void Heap::TearDown() {
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
GCType gc_type, void* data) {
DCHECK_NOT_NULL(callback);

Просмотреть файл

@ -22,10 +22,10 @@ Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
diff --git a/include/v8.h b/include/v8.h
index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c38e2d3fb8 100644
index 4a3b94897f01f7d770770abc26b030f54060d3de..26ac2cb01da36529e99dcd5cc878523601addc0d 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -1141,6 +1141,10 @@ class V8_EXPORT PrimitiveArray {
@@ -1109,6 +1109,10 @@ class V8_EXPORT PrimitiveArray {
public:
static Local<PrimitiveArray> New(Isolate* isolate, int length);
int Length() const;
@ -36,7 +36,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
void Set(Isolate* isolate, int index, Local<Primitive> item);
Local<Primitive> Get(Isolate* isolate, int index);
};
@@ -1849,6 +1853,8 @@ class V8_EXPORT StackTrace {
@@ -1817,6 +1821,8 @@ class V8_EXPORT StackTrace {
/**
* Returns a StackFrame at a particular index.
*/
@ -45,7 +45,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
Local<StackFrame> GetFrame(Isolate* isolate, uint32_t index) const;
/**
@@ -2549,6 +2555,13 @@ class V8_EXPORT Value : public Data {
@@ -2518,6 +2524,13 @@ class V8_EXPORT Value : public Data {
V8_DEPRECATED("Use maybe version",
Local<Int32> ToInt32(Isolate* isolate) const);
@ -59,7 +59,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
/**
* Attempts to convert a string to an array index.
* Returns an empty handle if the conversion fails.
@@ -2568,7 +2581,14 @@ class V8_EXPORT Value : public Data {
@@ -2537,7 +2550,14 @@ class V8_EXPORT Value : public Data {
Local<Context> context) const;
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
@ -74,7 +74,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
V8_WARN_UNUSED_RESULT Maybe<bool> Equals(Local<Context> context,
Local<Value> that) const;
bool StrictEquals(Local<Value> that) const;
@@ -2675,6 +2695,8 @@ class V8_EXPORT String : public Name {
@@ -2644,6 +2664,8 @@ class V8_EXPORT String : public Name {
* Returns the number of bytes in the UTF-8 encoded
* representation of this string.
*/
@ -83,7 +83,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
int Utf8Length(Isolate* isolate) const;
/**
@@ -2731,12 +2753,23 @@ class V8_EXPORT String : public Name {
@@ -2700,12 +2722,23 @@ class V8_EXPORT String : public Name {
// 16-bit character codes.
int Write(Isolate* isolate, uint16_t* buffer, int start = 0, int length = -1,
int options = NO_OPTIONS) const;
@ -107,7 +107,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
/**
* A zero length string.
@@ -2924,6 +2957,9 @@ class V8_EXPORT String : public Name {
@@ -2893,6 +2926,9 @@ class V8_EXPORT String : public Name {
*/
static Local<String> Concat(Isolate* isolate, Local<String> left,
Local<String> right);
@ -117,7 +117,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
/**
* Creates a new external string using the data defined in the given
@@ -2992,6 +3028,8 @@ class V8_EXPORT String : public Name {
@@ -2961,6 +2997,8 @@ class V8_EXPORT String : public Name {
*/
class V8_EXPORT Utf8Value {
public:
@ -126,7 +126,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
Utf8Value(Isolate* isolate, Local<v8::Value> obj);
~Utf8Value();
char* operator*() { return str_; }
@@ -3015,6 +3053,7 @@ class V8_EXPORT String : public Name {
@@ -2984,6 +3022,7 @@ class V8_EXPORT String : public Name {
*/
class V8_EXPORT Value {
public:
@ -134,7 +134,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
Value(Isolate* isolate, Local<v8::Value> obj);
~Value();
uint16_t* operator*() { return str_; }
@@ -5383,6 +5422,8 @@ class V8_EXPORT BooleanObject : public Object {
@@ -5352,6 +5391,8 @@ class V8_EXPORT BooleanObject : public Object {
class V8_EXPORT StringObject : public Object {
public:
static Local<Value> New(Isolate* isolate, Local<String> value);
@ -143,7 +143,7 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
Local<String> ValueOf() const;
@@ -10496,6 +10537,30 @@ template <class T> Value* Value::Cast(T* value) {
@@ -10457,6 +10498,30 @@ template <class T> Value* Value::Cast(T* value) {
}
@ -175,10 +175,10 @@ index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c3
#ifdef V8_ENABLE_CHECKS
CheckCast(value);
diff --git a/src/api.cc b/src/api.cc
index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334706f0018 100644
index 9124d03fa6195269eaf851591bb95125c2081e2f..a91a11b9dedf375b7d3950dfd6eab3f63b23e0ca 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -2224,6 +2224,10 @@ int PrimitiveArray::Length() const {
@@ -2227,6 +2227,10 @@ int PrimitiveArray::Length() const {
return array->length();
}
@ -189,7 +189,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
void PrimitiveArray::Set(Isolate* v8_isolate, int index,
Local<Primitive> item) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -2237,6 +2241,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index,
@@ -2240,6 +2244,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index,
array->set(index, *i_item);
}
@ -200,7 +200,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
Local<Primitive> PrimitiveArray::Get(Isolate* v8_isolate, int index) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
i::Handle<i::FixedArray> array = Utils::OpenHandle(this);
@@ -2942,6 +2950,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
@@ -2945,6 +2953,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
// --- S t a c k T r a c e ---
@ -211,10 +211,10 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
Local<StackFrame> StackTrace::GetFrame(Isolate* v8_isolate,
uint32_t index) const {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -3906,6 +3918,36 @@ void v8::RegExp::CheckCast(v8::Value* that) {
@@ -3908,6 +3920,34 @@ void v8::RegExp::CheckCast(v8::Value* that) {
"Could not convert to regular expression");
}
+bool Value::BooleanValue() const {
+ return BooleanValue(Isolate::GetCurrent()->GetCurrentContext())
+ .FromJust();
@ -243,12 +243,10 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
+ return Int32Value(Isolate::GetCurrent()->GetCurrentContext())
+ .FromMaybe(0);
+}
+
+
Maybe<bool> Value::BooleanValue(Local<Context> context) const {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(context->GetIsolate());
return Just(Utils::OpenHandle(this)->BooleanValue(isolate));
@@ -3994,6 +4036,12 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const {
@@ -3997,6 +4037,12 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const {
}
@ -261,7 +259,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
Maybe<bool> Value::Equals(Local<Context> context, Local<Value> that) const {
i::Isolate* isolate = Utils::OpenHandle(*context)->GetIsolate();
auto self = Utils::OpenHandle(this);
@@ -5272,6 +5320,10 @@ bool String::ContainsOnlyOneByte() const {
@@ -5275,6 +5321,10 @@ bool String::ContainsOnlyOneByte() const {
return helper.Check(*str);
}
@ -272,7 +270,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
int String::Utf8Length(Isolate* isolate) const {
i::Handle<i::String> str = Utils::OpenHandle(this);
str = i::String::Flatten(reinterpret_cast<i::Isolate*>(isolate), str);
@@ -5424,6 +5476,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start,
@@ -5427,6 +5477,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start,
}
} // anonymous namespace
@ -287,7 +285,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
int String::WriteUtf8(Isolate* v8_isolate, char* buffer, int capacity,
int* nchars_ref, int options) const {
i::Handle<i::String> str = Utils::OpenHandle(this);
@@ -5464,6 +5524,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string,
@@ -5467,6 +5525,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string,
}
@ -306,7 +304,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
int String::WriteOneByte(Isolate* isolate, uint8_t* buffer, int start,
int length, int options) const {
return WriteHelper(reinterpret_cast<i::Isolate*>(isolate), this, buffer,
@@ -6430,6 +6502,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate,
@@ -6434,6 +6504,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate,
return result;
}
@ -318,7 +316,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
Local<String> v8::String::Concat(Isolate* v8_isolate, Local<String> left,
Local<String> right) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -6712,6 +6789,11 @@ bool v8::BooleanObject::ValueOf() const {
@@ -6716,6 +6791,11 @@ bool v8::BooleanObject::ValueOf() const {
}
@ -330,7 +328,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
Local<v8::Value> v8::StringObject::New(Isolate* v8_isolate,
Local<String> value) {
i::Handle<i::String> string = Utils::OpenHandle(*value);
@@ -8995,6 +9077,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) {
@@ -8998,6 +9078,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) {
return microtask_queue->IsRunningMicrotasks();
}
@ -340,7 +338,7 @@ index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334
String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj)
: str_(nullptr), length_(0) {
if (obj.IsEmpty()) return;
@@ -9014,6 +9099,9 @@ String::Utf8Value::~Utf8Value() {
@@ -9017,6 +9100,9 @@ String::Utf8Value::~Utf8Value() {
i::DeleteArray(str_);
}

Просмотреть файл

@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build
These symbols are required to build v8 with BUILD_V8_SHARED on Windows.
diff --git a/src/objects.h b/src/objects.h
index ab8c564e8eca2f729d98c902d1bd5429a95da1fd..6f5f6d9dfc9092870fecf23d34f2e48f1c100921 100644
index 60f6557423cf1d2e844739484883985deb9c764d..5043de65fe5224742f701b9445d232ce92d7262a 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -1122,7 +1122,7 @@ enum class KeyCollectionMode {
@@ -816,7 +816,7 @@ enum class KeyCollectionMode {
// Utility superclass for stack-allocated objects that must be updated
// on gc. It provides two ways for the gc to update instances, either
// iterating or updating after gc.

Просмотреть файл

@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
index ade81276041c70e7e9198489e5e0cab41f279562..b4350c88822023f5c52c081746de034401d0c47c 100644
index 24bb79afe2458e64738ddd1b910250ede75c2a83..6344f50aa999f38e95d04e62c64d76420f39eb84 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -3666,8 +3666,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -3719,8 +3719,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

Просмотреть файл

@ -9,7 +9,7 @@ This commit removes deprecated APIs that nan relies on, temporarily
reverting but we need to solve this with nan upstream
diff --git a/include/v8-internal.h b/include/v8-internal.h
index cbdce1c3f60eed53f67968e6b89755f418aecc3f..9254f7c9a2f3cf7dc92421e2863109b410a09da0 100644
index 8e700a4d4d401bb58cdc6128e3e96dbf2d791d5c..94a6e3c1932a06ef1eee1be403b031f50d0d7baf 100644
--- a/include/v8-internal.h
+++ b/include/v8-internal.h
@@ -165,6 +165,7 @@ class Internals {
@ -21,7 +21,7 @@ index cbdce1c3f60eed53f67968e6b89755f418aecc3f..9254f7c9a2f3cf7dc92421e2863109b4
static const int kNodeIsActiveShift = 4;
diff --git a/include/v8.h b/include/v8.h
index 4757ef851b6bb6f0606686c30312d6c38e2d3fb8..aeadbbe3e4341eb1f7242f68ac5accb502585e70 100644
index c5e22bb14043ade00b4ecf73b6115e747d5232ad..b96cbdee06a305776e062f5b8362e1b17106e1dd 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -577,6 +577,10 @@ template <class T> class PersistentBase {
@ -35,7 +35,7 @@ index 4757ef851b6bb6f0606686c30312d6c38e2d3fb8..aeadbbe3e4341eb1f7242f68ac5accb5
/** Returns true if the handle's reference is weak. */
V8_INLINE bool IsWeak() const;
@@ -8571,6 +8575,17 @@ class V8_EXPORT Isolate {
@@ -8596,6 +8600,17 @@ class V8_EXPORT Isolate {
*/
void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor);
@ -53,7 +53,7 @@ index 4757ef851b6bb6f0606686c30312d6c38e2d3fb8..aeadbbe3e4341eb1f7242f68ac5accb5
/**
* Iterates through all the persistent handles in the current isolate's heap
* that have class_ids and are weak to be marked as inactive if there is no
@@ -9838,6 +9853,17 @@ bool PersistentBase<T>::IsIndependent() const {
@@ -9867,6 +9882,17 @@ bool PersistentBase<T>::IsIndependent() const {
I::kNodeIsIndependentShift);
}
@ -72,10 +72,10 @@ index 4757ef851b6bb6f0606686c30312d6c38e2d3fb8..aeadbbe3e4341eb1f7242f68ac5accb5
bool PersistentBase<T>::IsWeak() const {
typedef internal::Internals I;
diff --git a/src/api.cc b/src/api.cc
index e2d409057aa0f333b61e3d6e03f2358feab2081f..d360e5009a52b0ce131ef15fc25636c25349210c 100644
index 2a2311454ba37e557b1c1f046f46e7f5881516b9..10553d5bc638ceb81f4dd14d5231df3e9ae887dc 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -8982,6 +8982,15 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) {
@@ -8989,6 +8989,15 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) {
isolate->global_handles()->IterateAllRootsWithClassIds(visitor);
}
@ -141,10 +141,10 @@ index 6b8ca0c93fa344ed0155106fef3a0aabf13bdf44..f5f51bb00761f37b7182e0be5e878383
static bool IsWeak(Address* location);
diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44344a58f2 100644
index 4c791d128e6126ea67c3240ee48ac689a55fd29a..03d702487091c40f575e8028f97849d5f6e6c92f 100644
--- a/test/cctest/heap/test-heap.cc
+++ b/test/cctest/heap/test-heap.cc
@@ -531,9 +531,14 @@ TEST(WeakGlobalHandlesScavenge) {
@@ -528,9 +528,14 @@ TEST(WeakGlobalHandlesScavenge) {
// Scavenge treats weak pointers as normal roots.
CcTest::CollectGarbage(NEW_SPACE);
@ -159,7 +159,7 @@ index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44
GlobalHandles::Destroy(h1.location());
GlobalHandles::Destroy(h2.location());
}
@@ -571,8 +576,11 @@ TEST(WeakGlobalUnmodifiedApiHandlesScavenge) {
@@ -568,8 +573,11 @@ TEST(WeakGlobalUnmodifiedApiHandlesScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
@ -171,7 +171,7 @@ index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44
GlobalHandles::Destroy(h1.location());
}
@@ -609,7 +617,10 @@ TEST(WeakGlobalApiHandleModifiedMapScavenge) {
@@ -606,7 +614,10 @@ TEST(WeakGlobalApiHandleModifiedMapScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
@ -182,7 +182,7 @@ index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44
GlobalHandles::Destroy(h1.location());
}
@@ -650,7 +661,10 @@ TEST(WeakGlobalApiHandleWithElementsScavenge) {
@@ -647,7 +658,10 @@ TEST(WeakGlobalApiHandleWithElementsScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
@ -193,7 +193,7 @@ index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44
GlobalHandles::Destroy(h1.location());
}
@@ -685,11 +699,17 @@ TEST(WeakGlobalHandlesMark) {
@@ -682,11 +696,17 @@ TEST(WeakGlobalHandlesMark) {
GlobalHandles::MakeWeak(
h2.location(), reinterpret_cast<void*>(&handle_and_id),
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
@ -212,7 +212,7 @@ index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44
}
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index 59903ddd928b2ade29332b09b02fcd8343215b56..1d561debc0da00867949b1e09f3d5bed81fa61bb 100644
index 2e097336572cbd82e6d9dba69c8388904f8ecaee..ebcdab3c27e8fb0b4ccfae9e0aab7bb8a4f10ce2 100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -20472,6 +20472,43 @@ TEST(WrapperClassId) {

Просмотреть файл

@ -0,0 +1,142 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jeremy Apthorp <nornagon@nornagon.net>
Date: Mon, 29 Apr 2019 14:16:31 -0700
Subject: Revert "[api] Remove deprecated conversion functions"
This reverts commit c76f377a990343b18953123c2726337b38c59812.
diff --git a/include/v8.h b/include/v8.h
index 0e21793b1214c681770b72f64b9f0d6188c6a385..4a3b94897f01f7d770770abc26b030f54060d3de 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -2489,6 +2489,9 @@ class V8_EXPORT Value : public Data {
V8_WARN_UNUSED_RESULT MaybeLocal<BigInt> ToBigInt(
Local<Context> context) const;
+ V8_DEPRECATED("ToBoolean can never throw. Use Local version.",
+ V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
+ Local<Context> context) const);
V8_WARN_UNUSED_RESULT MaybeLocal<Number> ToNumber(
Local<Context> context) const;
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
@@ -2504,6 +2507,16 @@ class V8_EXPORT Value : public Data {
V8_WARN_UNUSED_RESULT MaybeLocal<Int32> ToInt32(Local<Context> context) const;
Local<Boolean> ToBoolean(Isolate* isolate) const;
+ V8_DEPRECATED("Use maybe version",
+ Local<Number> ToNumber(Isolate* isolate) const);
+ V8_DEPRECATED("Use maybe version",
+ Local<String> ToString(Isolate* isolate) const);
+ V8_DEPRECATED("Use maybe version",
+ Local<Object> ToObject(Isolate* isolate) const);
+ V8_DEPRECATED("Use maybe version",
+ Local<Integer> ToInteger(Isolate* isolate) const);
+ V8_DEPRECATED("Use maybe version",
+ Local<Int32> ToInt32(Isolate* isolate) const);
/**
* Attempts to convert a string to an array index.
@@ -2514,6 +2527,9 @@ class V8_EXPORT Value : public Data {
bool BooleanValue(Isolate* isolate) const;
+ V8_DEPRECATED("BooleanValue can never throw. Use Isolate version.",
+ V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
+ Local<Context> context) const);
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
Local<Context> context) const;
diff --git a/src/api.cc b/src/api.cc
index c2fc1fc9827f896c521606a75baecef6c60e8f8a..9124d03fa6195269eaf851591bb95125c2081e2f 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -3537,6 +3537,12 @@ MaybeLocal<String> Value::ToString(Local<Context> context) const {
RETURN_ESCAPED(result);
}
+
+Local<String> Value::ToString(Isolate* isolate) const {
+ RETURN_TO_LOCAL_UNCHECKED(ToString(isolate->GetCurrentContext()), String);
+}
+
+
MaybeLocal<String> Value::ToDetailString(Local<Context> context) const {
i::Handle<i::Object> obj = Utils::OpenHandle(this);
if (obj->IsString()) return ToApiHandle<String>(obj);
@@ -3559,6 +3565,11 @@ MaybeLocal<Object> Value::ToObject(Local<Context> context) const {
RETURN_ESCAPED(result);
}
+
+Local<v8::Object> Value::ToObject(Isolate* isolate) const {
+ RETURN_TO_LOCAL_UNCHECKED(ToObject(isolate->GetCurrentContext()), Object);
+}
+
MaybeLocal<BigInt> Value::ToBigInt(Local<Context> context) const {
i::Handle<i::Object> obj = Utils::OpenHandle(this);
if (obj->IsBigInt()) return ToApiHandle<BigInt>(obj);
@@ -3575,6 +3586,11 @@ bool Value::BooleanValue(Isolate* v8_isolate) const {
reinterpret_cast<i::Isolate*>(v8_isolate));
}
+MaybeLocal<Boolean> Value::ToBoolean(Local<Context> context) const {
+ return ToBoolean(context->GetIsolate());
+}
+
+
Local<Boolean> Value::ToBoolean(Isolate* v8_isolate) const {
auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
return ToApiHandle<Boolean>(
@@ -3593,6 +3609,12 @@ MaybeLocal<Number> Value::ToNumber(Local<Context> context) const {
RETURN_ESCAPED(result);
}
+
+Local<Number> Value::ToNumber(Isolate* isolate) const {
+ RETURN_TO_LOCAL_UNCHECKED(ToNumber(isolate->GetCurrentContext()), Number);
+}
+
+
MaybeLocal<Integer> Value::ToInteger(Local<Context> context) const {
auto obj = Utils::OpenHandle(this);
if (obj->IsSmi()) return ToApiHandle<Integer>(obj);
@@ -3604,6 +3626,12 @@ MaybeLocal<Integer> Value::ToInteger(Local<Context> context) const {
RETURN_ESCAPED(result);
}
+
+Local<Integer> Value::ToInteger(Isolate* isolate) const {
+ RETURN_TO_LOCAL_UNCHECKED(ToInteger(isolate->GetCurrentContext()), Integer);
+}
+
+
MaybeLocal<Int32> Value::ToInt32(Local<Context> context) const {
auto obj = Utils::OpenHandle(this);
if (obj->IsSmi()) return ToApiHandle<Int32>(obj);
@@ -3615,6 +3643,12 @@ MaybeLocal<Int32> Value::ToInt32(Local<Context> context) const {
RETURN_ESCAPED(result);
}
+
+Local<Int32> Value::ToInt32(Isolate* isolate) const {
+ RETURN_TO_LOCAL_UNCHECKED(ToInt32(isolate->GetCurrentContext()), Int32);
+}
+
+
MaybeLocal<Uint32> Value::ToUint32(Local<Context> context) const {
auto obj = Utils::OpenHandle(this);
if (obj->IsSmi()) return ToApiHandle<Uint32>(obj);
@@ -3874,6 +3908,13 @@ void v8::RegExp::CheckCast(v8::Value* that) {
"Could not convert to regular expression");
}
+
+Maybe<bool> Value::BooleanValue(Local<Context> context) const {
+ i::Isolate* isolate = reinterpret_cast<i::Isolate*>(context->GetIsolate());
+ return Just(Utils::OpenHandle(this)->BooleanValue(isolate));
+}
+
+
Maybe<double> Value::NumberValue(Local<Context> context) const {
auto obj = Utils::OpenHandle(this);
if (obj->IsNumber()) return Just(obj->Number());

Просмотреть файл

@ -245,10 +245,10 @@ index 8514469227042b5740da73d42fc210a2282414e4..6f46e4b88c2e7c77f6fd58567e9aa2ae
static bool IsValidImmPCOffset(ImmBranchType branch_type, ptrdiff_t offset);
bool IsTargetInImmPCOffsetRange(Instruction* target);
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h
index 4c81c5b5f1832e2e5cf32d585012bf0acc3e43aa..785fae04e5c6722d3097824799b4240649489e71 100644
index 7521eadf696e9594d835d0088594da0ac768e9ff..6174e5b745976d0af5647ca945fcb8e72a0e6e91 100644
--- a/src/arm64/macro-assembler-arm64.h
+++ b/src/arm64/macro-assembler-arm64.h
@@ -2081,7 +2081,7 @@ class InstructionAccurateScope {
@@ -2080,7 +2080,7 @@ class InstructionAccurateScope {
// original state, even if the lists were modified by some other means. Note
// that this scope can be nested but the destructors need to run in the opposite
// order as the constructors. We do not have assertions for this.
@ -257,7 +257,7 @@ index 4c81c5b5f1832e2e5cf32d585012bf0acc3e43aa..785fae04e5c6722d3097824799b42406
public:
explicit UseScratchRegisterScope(TurboAssembler* tasm)
: available_(tasm->TmpList()),
@@ -2092,7 +2092,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope {
@@ -2091,7 +2091,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope {
DCHECK_EQ(availablefp_->type(), CPURegister::kVRegister);
}
@ -266,7 +266,7 @@ index 4c81c5b5f1832e2e5cf32d585012bf0acc3e43aa..785fae04e5c6722d3097824799b42406
// Take a register from the appropriate temps list. It will be returned
// automatically when the scope ends.
@@ -2109,8 +2109,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope {
@@ -2108,8 +2108,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope {
VRegister AcquireSameSizeAs(const VRegister& reg);
private:
@ -277,10 +277,10 @@ index 4c81c5b5f1832e2e5cf32d585012bf0acc3e43aa..785fae04e5c6722d3097824799b42406
// Available scratch registers.
CPURegList* available_; // kRegister
diff --git a/src/arm64/register-arm64.h b/src/arm64/register-arm64.h
index 014252eb0cbb4b49d9229edafa3423b43becec80..008268de590b50b94eb31b9c83fb96c5a81535d5 100644
index b19f41ef8488a9a117a8c88305c6dbe0dc188d39..956fd9ab04bcc4b314eb6253636e776463332b1b 100644
--- a/src/arm64/register-arm64.h
+++ b/src/arm64/register-arm64.h
@@ -323,14 +323,14 @@ VectorFormat ScalarFormatFromLaneSize(int lanesize);
@@ -316,14 +316,14 @@ VectorFormat ScalarFormatFromLaneSize(int lanesize);
VectorFormat VectorFormatHalfWidthDoubleLanes(VectorFormat vform);
VectorFormat VectorFormatFillQ(VectorFormat vform);
VectorFormat ScalarFormatFromFormat(VectorFormat vform);
@ -298,7 +298,7 @@ index 014252eb0cbb4b49d9229edafa3423b43becec80..008268de590b50b94eb31b9c83fb96c5
int64_t MaxIntFromFormat(VectorFormat vform);
int64_t MinIntFromFormat(VectorFormat vform);
uint64_t MaxUintFromFormat(VectorFormat vform);
@@ -536,7 +536,7 @@ bool AreAliased(const CPURegister& reg1, const CPURegister& reg2,
@@ -529,7 +529,7 @@ bool AreAliased(const CPURegister& reg1, const CPURegister& reg2,
// same size, and are of the same type. The system stack pointer may be
// specified. Arguments set to NoReg are ignored, as are any subsequent
// arguments. At least one argument (reg1) must be valid (not NoCPUReg).
@ -307,7 +307,7 @@ index 014252eb0cbb4b49d9229edafa3423b43becec80..008268de590b50b94eb31b9c83fb96c5
const CPURegister& reg1, const CPURegister& reg2 = NoCPUReg,
const CPURegister& reg3 = NoCPUReg, const CPURegister& reg4 = NoCPUReg,
const CPURegister& reg5 = NoCPUReg, const CPURegister& reg6 = NoCPUReg,
@@ -553,10 +553,9 @@ bool AreSameFormat(const VRegister& reg1, const VRegister& reg2,
@@ -546,10 +546,9 @@ bool AreSameFormat(const VRegister& reg1, const VRegister& reg2,
// consecutive in the register file. Arguments may be set to NoVReg, and if so,
// subsequent arguments must also be NoVReg. At least one argument (reg1) must
// be valid (not NoVReg).
@ -321,7 +321,7 @@ index 014252eb0cbb4b49d9229edafa3423b43becec80..008268de590b50b94eb31b9c83fb96c5
typedef VRegister FloatRegister;
typedef VRegister DoubleRegister;
@@ -564,7 +563,7 @@ typedef VRegister Simd128Register;
@@ -557,7 +556,7 @@ typedef VRegister Simd128Register;
// -----------------------------------------------------------------------------
// Lists of registers.
@ -444,7 +444,7 @@ index d6bb84cd274575c78291eafdb6794d7ff690915c..5315d5598f3064cbf5563246bd5bd17f
} // namespace internal
diff --git a/src/objects.cc b/src/objects.cc
index 15e504960bd12ee11c06dd4356b6ad8d8ba1ea44..73ce3773a4c1139ab98adb723e0758acb7b2f7f5 100644
index cf301643a84e2a39a66909eab32a33c418990f28..bc526499502937a10eb56bfd6c75c0f5f9d678ad 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -1237,7 +1237,7 @@ bool Object::ToInt32(int32_t* value) {
@ -457,7 +457,7 @@ index 15e504960bd12ee11c06dd4356b6ad8d8ba1ea44..73ce3773a4c1139ab98adb723e0758ac
Handle<SharedFunctionInfo> FunctionTemplateInfo::GetOrCreateSharedFunctionInfo(
Isolate* isolate, Handle<FunctionTemplateInfo> info,
diff --git a/src/objects/code.h b/src/objects/code.h
index 647cfebe69fcb5c68e3d3fbc653de6011e3025de..855cf1a89aeb55575b59f6595335dc901dbdee6f 100644
index a02495c960d531355c62a11c26271ab08685b39e..310584c0b8808fa917f73fb822adaf855ac423a0 100644
--- a/src/objects/code.h
+++ b/src/objects/code.h
@@ -650,10 +650,9 @@ class DependentCode : public WeakFixedArray {
@ -475,10 +475,10 @@ index 647cfebe69fcb5c68e3d3fbc653de6011e3025de..855cf1a89aeb55575b59f6595335dc90
void DeoptimizeDependentCodeGroup(Isolate* isolate, DependencyGroup group);
diff --git a/src/objects/shared-function-info.h b/src/objects/shared-function-info.h
index 137137e7f532e46c3d398438342cf9576b40d11b..f6f030b1c05b55b766e57e9f64b496a856334ce9 100644
index 5b79098fc0619b0d6ebaf48b5d8c6e56af7c32f0..688890ccd5d6a7ea7c4e7e265cea0e4a41d008c5 100644
--- a/src/objects/shared-function-info.h
+++ b/src/objects/shared-function-info.h
@@ -227,9 +227,7 @@ class InterpreterData : public Struct {
@@ -220,9 +220,7 @@ class InterpreterData : public Struct {
class SharedFunctionInfo : public HeapObject {
public:
NEVER_READ_ONLY_SPACE
@ -490,10 +490,10 @@ index 137137e7f532e46c3d398438342cf9576b40d11b..f6f030b1c05b55b766e57e9f64b496a8
// [name]: Returns shared name if it exists or an empty string otherwise.
inline String Name() const;
diff --git a/src/objects/string.cc b/src/objects/string.cc
index b1dfa38f91ebc6fd0a8cc429bc77c0cdba36caaa..fe5f5c9d54dc7518fdc62e77e66a419e28091878 100644
index 323d7ed73dd26531e436d504878ba3fe7c4df6d7..98579e5753a6eafbbd4f0e44b518dc5377631d8a 100644
--- a/src/objects/string.cc
+++ b/src/objects/string.cc
@@ -1514,8 +1514,5 @@ String ConsStringIterator::NextLeaf(bool* blew_stack) {
@@ -1517,8 +1517,5 @@ String ConsStringIterator::NextLeaf(bool* blew_stack) {
UNREACHABLE();
}
@ -503,7 +503,7 @@ index b1dfa38f91ebc6fd0a8cc429bc77c0cdba36caaa..fe5f5c9d54dc7518fdc62e77e66a419e
} // namespace internal
} // namespace v8
diff --git a/src/objects/string.h b/src/objects/string.h
index 7c6616a6f6abd4f9d6bf3e57499983847ad1f3f2..08eea111822705b5eb37d1325651adc4854b7454 100644
index 707f29a2ae1d6a0b5effc5e88b192ba1980a7be0..72359fd0c1ad9c1d816b325d263bb613c9de3af0 100644
--- a/src/objects/string.h
+++ b/src/objects/string.h
@@ -6,7 +6,6 @@
@ -514,7 +514,7 @@ index 7c6616a6f6abd4f9d6bf3e57499983847ad1f3f2..08eea111822705b5eb37d1325651adc4
#include "src/objects/instance-type.h"
#include "src/objects/name.h"
#include "src/objects/smi.h"
@@ -363,8 +362,8 @@ class String : public Name {
@@ -365,8 +364,8 @@ class String : public Name {
// Helper function for flattening strings.
template <typename sinkchar>
@ -523,9 +523,9 @@ index 7c6616a6f6abd4f9d6bf3e57499983847ad1f3f2..08eea111822705b5eb37d1325651adc4
+ V8_EXPORT_PRIVATE static void WriteToFlat(String source, sinkchar* sink,
+ int from, int to);
// The return value may point to the first aligned word containing the first
// non-one-byte character, rather than directly to the non-one-byte character.
@@ -458,11 +457,6 @@ class String : public Name {
static inline bool IsAscii(const char* chars, int length) {
return IsAscii(reinterpret_cast<const uint8_t*>(chars), length);
@@ -422,11 +421,6 @@ class String : public Name {
OBJECT_CONSTRUCTORS(String, Name);
};
@ -552,7 +552,7 @@ index 0a0b5c10d66d65054e4865d7e920c082daa93158..a44e9f95866ca93659cb3423284352e0
diff --git a/src/wasm/wasm-module.h b/src/wasm/wasm-module.h
index c4f171ecf8f7b4acddf9d52dc9bfeb53cac04d1a..89d7db6981c7a01004741404f6c71e764298995d 100644
index d31f5ff067c9b096a94705769c64586ffd546341..cce60d015af915e0984060dd2e84d6f7b46fc79a 100644
--- a/src/wasm/wasm-module.h
+++ b/src/wasm/wasm-module.h
@@ -120,7 +120,7 @@ struct WasmElemSegment {

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,7 +1,7 @@
From 93a2903b1392fe70bccd32db67649487d88985bd Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Richard Townsend <richard.townsend@arm.com>
Date: Wed, 24 Apr 2019 13:57:36 +0100
Subject: [PATCH] Workaround an undefined symbol error
Subject: Workaround an undefined symbol error
Previously, builds configured with dcheck_always_on=true would error
with messages like this in the log:
@ -10,19 +10,15 @@ with messages like this in the log:
By moving some functions out of the the arm64-assembler header file,
this error no longer seems to happen.
---
src/arm64/assembler-arm64.cc | 16 ++++++++++++++++
src/arm64/assembler-arm64.h | 17 +++--------------
2 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/src/arm64/assembler-arm64.cc b/src/arm64/assembler-arm64.cc
index 2763a647c7..7d19be5de8 100644
index 5fd50f3643e8999423a77062ef353cd4eeeff0fd..ea907a59f7ad0c73287698a0600ce11a3629dafd 100644
--- a/src/arm64/assembler-arm64.cc
+++ b/src/arm64/assembler-arm64.cc
@@ -4001,6 +4001,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
@@ -4013,6 +4013,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
ImmMoveWide(static_cast<int>(imm)) | ShiftMoveWide(shift));
}
+Instr Assembler::RmNot31(CPURegister rm) {
+ DCHECK_NE(rm.code(), kSPRegInternalCode);
+ DCHECK(!rm.IsZero());
@ -43,24 +39,24 @@ index 2763a647c7..7d19be5de8 100644
const Operand& operand, FlagsUpdate S, AddSubOp op) {
DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits());
diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h
index 586eff1241..30b8586f69 100644
index 586eff1241fed0a5f6a6fbc9b858981058a75feb..30b8586f69c51c4a6bad82faf4e02f823838f15b 100644
--- a/src/arm64/assembler-arm64.h
+++ b/src/arm64/assembler-arm64.h
@@ -2232,11 +2232,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
return rm.code() << Rm_offset;
}
- static Instr RmNot31(CPURegister rm) {
- DCHECK_NE(rm.code(), kSPRegInternalCode);
- DCHECK(!rm.IsZero());
- return Rm(rm);
- }
+ static Instr RmNot31(CPURegister rm);
static Instr Ra(CPURegister ra) {
DCHECK_NE(ra.code(), kSPRegInternalCode);
@@ -2260,15 +2256,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
// These encoding functions allow the stack pointer to be encoded, and
// disallow the zero register.
- static Instr RdSP(Register rd) {
@ -74,9 +70,6 @@ index 586eff1241..30b8586f69 100644
- }
+ static Instr RdSP(Register rd);
+ static Instr RnSP(Register rn);
// Flags encoding.
inline static Instr Flags(FlagsUpdate S);
--
2.19.1.windows.1

Просмотреть файл

@ -402,7 +402,10 @@ describe('app module', () => {
w = new BrowserWindow({ show: false })
})
it('should emit renderer-process-crashed event when renderer crashes', async () => {
it('should emit renderer-process-crashed event when renderer crashes', async function() {
// FIXME: re-enable this test on win32.
if (process.platform === 'win32')
return this.skip()
w = new BrowserWindow({
show: false,
webPreferences: {