diff --git a/atom/app/atom_main_args.cc b/atom/app/atom_main_args.cc index fb04ce5e735..9d1f0db07d7 100644 --- a/atom/app/atom_main_args.cc +++ b/atom/app/atom_main_args.cc @@ -6,13 +6,14 @@ namespace atom { - void AtomCommandLine::Init(int argc, - const char* const* argv) { - for (int i = 0; i < argc; ++i) { - argv_.push_back(argv[i]); - } - } +// static +std::vector AtomCommandLine::argv_; - std::vector AtomCommandLine::argv_; +// static +void AtomCommandLine::Init(int argc, const char* const* argv) { + for (int i = 0; i < argc; ++i) { + argv_.push_back(argv[i]); + } +} } // namespace atom diff --git a/atom/app/atom_main_args.h b/atom/app/atom_main_args.h index db34b4ed05b..c3bc0a9823d 100644 --- a/atom/app/atom_main_args.h +++ b/atom/app/atom_main_args.h @@ -8,10 +8,11 @@ #include #include -#include "base/logging.h" +#include "base/macros.h" namespace atom { +// Singleton to remember the original "argc" and "argv". class AtomCommandLine { public: static void Init(int argc, const char* const* argv); @@ -20,7 +21,7 @@ class AtomCommandLine { private: static std::vector argv_; - DISALLOW_COPY_AND_ASSIGN(AtomCommandLine); + DISALLOW_IMPLICIT_CONSTRUCTORS(AtomCommandLine); }; } // namespace atom diff --git a/atom/app/atom_main_delegate.cc b/atom/app/atom_main_delegate.cc index 1ca9a619e10..c7ad0e11a0c 100644 --- a/atom/app/atom_main_delegate.cc +++ b/atom/app/atom_main_delegate.cc @@ -67,9 +67,6 @@ void AtomMainDelegate::PreSandboxStartup() { if (!process_type.empty()) return; - // Add a flag to mark the start of switches added by atom-shell. - command_line->AppendSwitch("atom-shell-switches-start"); - #if defined(OS_WIN) // Disable the LegacyRenderWidgetHostHWND, it made frameless windows unable // to move and resize. We may consider enabling it again after upgraded to @@ -84,9 +81,6 @@ void AtomMainDelegate::PreSandboxStartup() { // Enable AVFoundation. command_line->AppendSwitch("enable-avfoundation"); #endif - - // Add a flag to mark the end of switches added by atom-shell. - command_line->AppendSwitch("atom-shell-switches-end"); } content::ContentBrowserClient* AtomMainDelegate::CreateContentBrowserClient() { diff --git a/atom/common/node_bindings.cc b/atom/common/node_bindings.cc index 2503bb6175b..1f8660b6555 100644 --- a/atom/common/node_bindings.cc +++ b/atom/common/node_bindings.cc @@ -18,10 +18,6 @@ #include "native_mate/locker.h" #include "native_mate/dictionary.h" -#if defined(OS_WIN) -#include "base/strings/utf_string_conversions.h" -#endif - #include "atom/common/node_includes.h" using content::BrowserThread; @@ -104,10 +100,11 @@ scoped_ptr StringVectorToArgArray( return array.Pass(); } -base::FilePath GetResourcesPath(base::CommandLine* command_line, - bool is_browser) { - base::FilePath exec_path(command_line->argv()[0]); +base::FilePath GetResourcesPath(bool is_browser) { + auto command_line = base::CommandLine::ForCurrentProcess(); + base::FilePath exec_path(command_line->GetProgram()); PathService::Get(base::FILE_EXE, &exec_path); + base::FilePath resources_path = #if defined(OS_MACOSX) is_browser ? exec_path.DirName().DirName().Append("Resources") : @@ -159,12 +156,11 @@ void NodeBindings::Initialize() { node::Environment* NodeBindings::CreateEnvironment( v8::Handle context) { auto args = AtomCommandLine::argv(); - auto command_line = base::CommandLine::ForCurrentProcess(); // Feed node the path to initialization script. base::FilePath::StringType process_type = is_browser_ ? FILE_PATH_LITERAL("browser") : FILE_PATH_LITERAL("renderer"); - base::FilePath resources_path = GetResourcesPath(command_line, is_browser_); + base::FilePath resources_path = GetResourcesPath(is_browser_); base::FilePath script_path = resources_path.Append(FILE_PATH_LITERAL("atom.asar")) .Append(process_type) @@ -174,7 +170,7 @@ node::Environment* NodeBindings::CreateEnvironment( args.insert(args.begin() + 1, script_path_str.c_str()); scoped_ptr c_argv = StringVectorToArgArray(args); - node::Environment* env = node::CreateEnvironment( + node::Environment* env = node::CreateEnvironment( context->GetIsolate(), uv_default_loop(), context, args.size(), c_argv.get(), 0, nullptr);