Merge pull request #12101 from electron/upgrade-node-v9.7.0

Update to node v9.7.0
This commit is contained in:
Cheng Zhao 2018-03-09 16:41:23 +09:00 committed by GitHub
commit 30405a3441
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 18 deletions

View file

@ -140,6 +140,11 @@ void AtomBrowserClient::RemoveProcessPreferences(int process_id) {
process_preferences_.erase(process_id);
}
bool AtomBrowserClient::IsProcessObserved(int process_id) {
base::AutoLock auto_lock(process_preferences_lock_);
return process_preferences_.find(process_id) != process_preferences_.end();
}
bool AtomBrowserClient::IsRendererSandboxed(int process_id) {
base::AutoLock auto_lock(process_preferences_lock_);
auto it = process_preferences_.find(process_id);
@ -160,7 +165,11 @@ bool AtomBrowserClient::RendererDisablesPopups(int process_id) {
void AtomBrowserClient::RenderProcessWillLaunch(
content::RenderProcessHost* host) {
// When a render process is crashed, it might be reused.
int process_id = host->GetID();
if (IsProcessObserved(process_id))
return;
host->AddFilter(new printing::PrintingMessageFilter(process_id));
host->AddFilter(new TtsMessageFilter(process_id, host->GetBrowserContext()));
host->AddFilter(

View file

@ -126,6 +126,7 @@ class AtomBrowserClient : public brightray::BrowserClient,
};
void AddProcessPreferences(int process_id, ProcessPreferences prefs);
void RemoveProcessPreferences(int process_id);
bool IsProcessObserved(int process_id);
bool IsRendererSandboxed(int process_id);
bool RendererUsesNativeWindowOpen(int process_id);
bool RendererDisablesPopups(int process_id);

View file

@ -8,6 +8,7 @@
#include <iostream>
#include <string>
#include "atom/common/api/locker.h"
#include "atom/common/atom_version.h"
#include "atom/common/chrome_version.h"
#include "atom/common/native_mate_converters/string16_converter.h"
@ -98,17 +99,13 @@ void AtomBindings::OnCallNextTick(uv_async_t* handle) {
self->pending_next_ticks_.begin();
it != self->pending_next_ticks_.end(); ++it) {
node::Environment* env = *it;
// KickNextTick, copied from node.cc:
node::Environment::AsyncCallbackScope callback_scope(env);
if (callback_scope.in_makecallback())
continue;
node::Environment::TickInfo* tick_info = env->tick_info();
if (tick_info->length() == 0)
env->isolate()->RunMicrotasks();
v8::Local<v8::Object> process = env->process_object();
if (tick_info->length() == 0)
tick_info->set_index(0);
env->tick_callback_function()->Call(process, 0, nullptr).IsEmpty();
mate::Locker locker(env->isolate());
v8::Context::Scope context_scope(env->context());
node::InternalCallbackScope scope(
env,
v8::Local<v8::Object>(),
{0, 0},
node::InternalCallbackScope::kAllowEmptyResource);
}
self->pending_next_ticks_.clear();

View file

@ -19,7 +19,7 @@
'openssl_fips': '',
'openssl_no_asm': 1,
'use_openssl_def': 0,
'OPENSSL_PRODUCT': 'libopenssl.a',
'openssl_product': 'libopenssl.a',
'node_release_urlbase': 'https://atom.io/download/electron',
'node_byteorder': '<!(node <(DEPTH)/tools/get-endianness.js)',
'node_target_type': 'shared_library',
@ -44,7 +44,7 @@
'uv_library': 'static_library',
'uv_parent_path': 'vendor/node/deps/uv',
'uv_use_dtrace': 'false',
'V8_BASE': '',
'v8_base': '',
'v8_postmortem_support': 'false',
'v8_enable_i18n_support': 'false',
'v8_enable_inspector': '1',
@ -52,7 +52,7 @@
# Settings to compile node under Windows.
'target_defaults': {
'target_conditions': [
['_target_name in ["libuv", "http_parser", "openssl", "openssl-cli", "cares", "node", "zlib", "nghttp2"]', {
['_target_name in ["libuv", "http_parser", "openssl", "openssl-cli", "cares", "node_lib", "zlib", "nghttp2"]', {
'msvs_disabled_warnings': [
4003, # not enough actual parameters for macro 'V'
4013, # 'free' undefined; assuming extern returning int
@ -61,6 +61,7 @@
4055, # 'type cast' : from data pointer 'void *' to function pointer
4057, # 'function' : 'volatile LONG *' differs in indirection to slightly different base types from 'unsigned long *'
4065, # switch statement contains 'default' but no 'case' labels
4129, # unrecognized character escape sequence
4189, #
4131, # uses old-style declarator
4133, # incompatible types
@ -74,6 +75,7 @@
4232, # address of dllimport 'free' is not static, identity not guaranteed
4291, # no matching operator delete found
4295, # array is too small to include a terminating null character
4309, # 'static_cast': truncation of constant value
4311, # 'type cast': pointer truncation from 'void *const ' to 'unsigned long'
4389, # '==' : signed/unsigned mismatch
4456, # declaration of 'm' hides previous local declaration
@ -136,7 +138,7 @@
}],
],
}],
['_target_name=="node"', {
['_target_name=="node_lib"', {
'include_dirs': [
'<(libchromiumcontent_src_dir)',
'<(libchromiumcontent_src_dir)/third_party/icu/source/common',
@ -245,7 +247,7 @@
}], # OS=="win"
],
}],
['OS=="linux" and _toolset=="target" and _target_name in ["dump_syms", "node"]', {
['OS=="linux" and _toolset=="target" and _target_name in ["dump_syms", "node_lib"]', {
'conditions': [
['libchromiumcontent_component==0', {
'libraries': [

View file

@ -245,7 +245,7 @@
'atom_js2c',
'vendor/pdf_viewer/pdf_viewer.gyp:pdf_viewer',
'brightray/brightray.gyp:brightray',
'vendor/node/node.gyp:node',
'vendor/node/node.gyp:node_lib',
],
'defines': [
# We need to access internal implementations of Node.

2
vendor/node vendored

@ -1 +1 @@
Subproject commit 3895d8f1ca32edce4c9e04b28948ddbd05c21269
Subproject commit 668f3cd06e0b9c24a1aa2d913f22626fff7decd2