From 5250871e69e6acca568ccfae893d538a7c32eb9b Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 27 Jan 2014 14:26:28 +0800 Subject: [PATCH] Remove unneeded HandleScopes. It's not necessary to create HandleScope in v8 native binding functions, because it's guarrenteed that the there is a upper HandleScope when the native function is called. So unless we are urgent to free the handles, not using HandleScope in native binding functions is a cleaner and safer choice. --- browser/api/atom_api_app.cc | 2 -- browser/api/atom_api_auto_updater.cc | 4 ---- browser/api/atom_api_dialog.cc | 2 -- browser/api/atom_api_menu.cc | 4 ---- browser/api/atom_api_menu_mac.mm | 4 ---- browser/api/atom_api_menu_win.cc | 2 -- browser/api/atom_api_power_monitor.cc | 4 ---- browser/api/atom_api_window.cc | 4 ---- common/api/atom_api_clipboard.cc | 2 -- common/api/atom_api_id_weak_map.cc | 2 -- common/api/atom_api_screen.cc | 2 -- common/api/atom_api_shell.cc | 2 -- common/api/atom_api_v8_util.cc | 2 -- common/api/atom_bindings.cc | 4 ---- 14 files changed, 40 deletions(-) diff --git a/browser/api/atom_api_app.cc b/browser/api/atom_api_app.cc index 51661bb..f2b021c 100644 --- a/browser/api/atom_api_app.cc +++ b/browser/api/atom_api_app.cc @@ -174,8 +174,6 @@ void App::DockGetBadgeText(const v8::FunctionCallbackInfo& args) { // static void App::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t = v8::FunctionTemplate::New(New); t->InstanceTemplate()->SetInternalFieldCount(1); t->SetClassName(v8::String::NewSymbol("Application")); diff --git a/browser/api/atom_api_auto_updater.cc b/browser/api/atom_api_auto_updater.cc index 9525cec..94618bd 100644 --- a/browser/api/atom_api_auto_updater.cc +++ b/browser/api/atom_api_auto_updater.cc @@ -47,8 +47,6 @@ void AutoUpdater::ReadyForUpdateOnQuit(const std::string& version, // static void AutoUpdater::New(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - if (!args.IsConstructCall()) return node::ThrowError("Require constructor call"); @@ -102,8 +100,6 @@ void AutoUpdater::QuitAndInstall( // static void AutoUpdater::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t( v8::FunctionTemplate::New(AutoUpdater::New)); t->InstanceTemplate()->SetInternalFieldCount(1); diff --git a/browser/api/atom_api_dialog.cc b/browser/api/atom_api_dialog.cc index f42eb1b..b35f67a 100644 --- a/browser/api/atom_api_dialog.cc +++ b/browser/api/atom_api_dialog.cc @@ -34,8 +34,6 @@ void CallV8Function2(const RefCountedV8Function& callback, bool result, T arg) { } void Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - NODE_SET_METHOD(target, "showMessageBox", ShowMessageBox); NODE_SET_METHOD(target, "showOpenDialog", ShowOpenDialog); NODE_SET_METHOD(target, "showSaveDialog", ShowSaveDialog); diff --git a/browser/api/atom_api_menu.cc b/browser/api/atom_api_menu.cc index ffc9c5a..c86a1ce 100644 --- a/browser/api/atom_api_menu.cc +++ b/browser/api/atom_api_menu.cc @@ -121,8 +121,6 @@ void Menu::ExecuteCommand(int command_id, int event_flags) { // static void Menu::New(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - if (!args.IsConstructCall()) return node::ThrowError("Require constructor call"); @@ -307,8 +305,6 @@ void Menu::Popup(const v8::FunctionCallbackInfo& args) { // static void Menu::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t(v8::FunctionTemplate::New(Menu::New)); t->InstanceTemplate()->SetInternalFieldCount(1); t->SetClassName(v8::String::NewSymbol("Menu")); diff --git a/browser/api/atom_api_menu_mac.mm b/browser/api/atom_api_menu_mac.mm index 432ddb5..12e2710 100644 --- a/browser/api/atom_api_menu_mac.mm +++ b/browser/api/atom_api_menu_mac.mm @@ -74,8 +74,6 @@ void MenuMac::SendActionToFirstResponder(const std::string& action) { // static void Menu::SetApplicationMenu(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - if (!args[0]->IsObject()) return node::ThrowTypeError("Bad argument"); @@ -94,8 +92,6 @@ void Menu::SetApplicationMenu(const v8::FunctionCallbackInfo& args) { // static void Menu::SendActionToFirstResponder( const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - std::string action; if (!FromV8Arguments(args, &action)) return node::ThrowTypeError("Bad argument"); diff --git a/browser/api/atom_api_menu_win.cc b/browser/api/atom_api_menu_win.cc index c5f5522..e645478 100644 --- a/browser/api/atom_api_menu_win.cc +++ b/browser/api/atom_api_menu_win.cc @@ -31,8 +31,6 @@ void MenuWin::Popup(NativeWindow* native_window) { // static void Menu::AttachToWindow(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - Menu* self = ObjectWrap::Unwrap(args.This()); if (self == NULL) return node::ThrowError("Menu is already destroyed"); diff --git a/browser/api/atom_api_power_monitor.cc b/browser/api/atom_api_power_monitor.cc index df1ac1f..1dd362b 100644 --- a/browser/api/atom_api_power_monitor.cc +++ b/browser/api/atom_api_power_monitor.cc @@ -39,8 +39,6 @@ void PowerMonitor::OnResume() { // static void PowerMonitor::New(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - if (!args.IsConstructCall()) return node::ThrowError("Require constructor call"); @@ -49,8 +47,6 @@ void PowerMonitor::New(const v8::FunctionCallbackInfo& args) { // static void PowerMonitor::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - #if defined(OS_MACOSX) base::PowerMonitorDeviceSource::AllocateSystemIOPorts(); #endif diff --git a/browser/api/atom_api_window.cc b/browser/api/atom_api_window.cc index 9718629..0052a28 100644 --- a/browser/api/atom_api_window.cc +++ b/browser/api/atom_api_window.cc @@ -103,8 +103,6 @@ void Window::OnCapturePageDone(const RefCountedV8Function& callback, // static void Window::New(const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - if (!args.IsConstructCall()) return node::ThrowError("Require constructor call"); @@ -625,8 +623,6 @@ void Window::ReloadIgnoringCache( // static void Window::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t = v8::FunctionTemplate::New(Window::New); t->InstanceTemplate()->SetInternalFieldCount(1); t->SetClassName(v8::String::NewSymbol("BrowserWindow")); diff --git a/common/api/atom_api_clipboard.cc b/common/api/atom_api_clipboard.cc index e83b1eb..d0c97d3 100644 --- a/common/api/atom_api_clipboard.cc +++ b/common/api/atom_api_clipboard.cc @@ -74,8 +74,6 @@ void Clipboard::Clear(const v8::FunctionCallbackInfo& args) { // static void Clipboard::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - NODE_SET_METHOD(target, "has", Has); NODE_SET_METHOD(target, "read", Read); NODE_SET_METHOD(target, "readText", ReadText); diff --git a/common/api/atom_api_id_weak_map.cc b/common/api/atom_api_id_weak_map.cc index 2ee2cf3..09abbe9 100644 --- a/common/api/atom_api_id_weak_map.cc +++ b/common/api/atom_api_id_weak_map.cc @@ -122,8 +122,6 @@ void IDWeakMap::Remove(const v8::FunctionCallbackInfo& args) { // static void IDWeakMap::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t = v8::FunctionTemplate::New(New); t->InstanceTemplate()->SetInternalFieldCount(1); t->SetClassName(v8::String::NewSymbol("IDWeakMap")); diff --git a/common/api/atom_api_screen.cc b/common/api/atom_api_screen.cc index 574d707..85e1ff2 100644 --- a/common/api/atom_api_screen.cc +++ b/common/api/atom_api_screen.cc @@ -67,8 +67,6 @@ void Screen::GetPrimaryDisplay( // static void Screen::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - v8::Local t = v8::FunctionTemplate::New(New); t->InstanceTemplate()->SetInternalFieldCount(1); t->SetClassName(v8::String::NewSymbol("Screen")); diff --git a/common/api/atom_api_shell.cc b/common/api/atom_api_shell.cc index 5f7f2d8..63a114b 100644 --- a/common/api/atom_api_shell.cc +++ b/common/api/atom_api_shell.cc @@ -60,8 +60,6 @@ void Shell::Beep(const v8::FunctionCallbackInfo& args) { // static void Shell::Initialize(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - NODE_SET_METHOD(target, "showItemInFolder", ShowItemInFolder); NODE_SET_METHOD(target, "openItem", OpenItem); NODE_SET_METHOD(target, "openExternal", OpenExternal); diff --git a/common/api/atom_api_v8_util.cc b/common/api/atom_api_v8_util.cc index 01d779c..1f3d250 100644 --- a/common/api/atom_api_v8_util.cc +++ b/common/api/atom_api_v8_util.cc @@ -46,8 +46,6 @@ void TakeHeapSnapshot(const v8::FunctionCallbackInfo& args) { } // namespace void InitializeV8Util(v8::Handle target) { - v8::HandleScope handle_scope(node_isolate); - NODE_SET_METHOD(target, "createObjectWithName", CreateObjectWithName); NODE_SET_METHOD(target, "getHiddenValue", GetHiddenValue); NODE_SET_METHOD(target, "setHiddenValue", SetHiddenValue); diff --git a/common/api/atom_bindings.cc b/common/api/atom_bindings.cc index 3e58d8f..faa139a 100644 --- a/common/api/atom_bindings.cc +++ b/common/api/atom_bindings.cc @@ -90,8 +90,6 @@ AtomBindings::~AtomBindings() { } void AtomBindings::BindTo(v8::Handle process) { - v8::HandleScope handle_scope(node_isolate); - NODE_SET_METHOD(process, "atomBinding", Binding); NODE_SET_METHOD(process, "crash", Crash); NODE_SET_METHOD(process, "activateUvLoop", ActivateUVLoop); @@ -170,8 +168,6 @@ void AtomBindings::Log(const v8::FunctionCallbackInfo& args) { // static void AtomBindings::GetCurrentStackTrace( const v8::FunctionCallbackInfo& args) { - v8::HandleScope handle_scope(args.GetIsolate()); - int stack_limit = kMaxCallStackSize; FromV8Arguments(args, &stack_limit); -- 2.7.4