From 0dad2581efbcd300101aa7f4e3d54abe0eda84f1 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 11 May 2016 08:47:50 +0900 Subject: [PATCH] Fix passing paths in command line --- atom/app/atom_content_client.cc | 11 +++++------ atom/browser/api/atom_api_app.cc | 4 +++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/atom/app/atom_content_client.cc b/atom/app/atom_content_client.cc index 8f59c77768..705573abe5 100644 --- a/atom/app/atom_content_client.cc +++ b/atom/app/atom_content_client.cc @@ -126,7 +126,7 @@ void ConvertStringWithSeparatorToVector(std::vector* vec, void AddPepperFlashFromCommandLine( std::vector* plugins) { auto command_line = base::CommandLine::ForCurrentProcess(); - auto flash_path = command_line->GetSwitchValueNative( + base::FilePath flash_path = command_line->GetSwitchValuePath( switches::kPpapiFlashPath); if (flash_path.empty()) return; @@ -134,20 +134,19 @@ void AddPepperFlashFromCommandLine( auto flash_version = command_line->GetSwitchValueASCII( switches::kPpapiFlashVersion); - plugins->push_back( - CreatePepperFlashInfo(base::FilePath(flash_path), flash_version)); + plugins->push_back(CreatePepperFlashInfo(flash_path, flash_version)); } #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) void AddWidevineCdmFromCommandLine( std::vector* plugins) { auto command_line = base::CommandLine::ForCurrentProcess(); - auto widevine_cdm_path = command_line->GetSwitchValueNative( + base::FilePath widevine_cdm_path = command_line->GetSwitchValuePath( switches::kWidevineCdmPath); if (widevine_cdm_path.empty()) return; - if (!base::PathExists(base::FilePath(widevine_cdm_path))) + if (!base::PathExists(widevine_cdm_path)) return; auto widevine_cdm_version = command_line->GetSwitchValueASCII( @@ -155,7 +154,7 @@ void AddWidevineCdmFromCommandLine( if (widevine_cdm_version.empty()) return; - plugins->push_back(CreateWidevineCdmInfo(base::FilePath(widevine_cdm_path), + plugins->push_back(CreateWidevineCdmInfo(widevine_cdm_path, widevine_cdm_version)); } #endif diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 52a6926d1a..4d587d9f0b 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -27,6 +27,7 @@ #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/path_service.h" +#include "base/strings/string_util.h" #include "brightray/browser/brightray_paths.h" #include "chrome/common/chrome_paths.h" #include "content/public/browser/client_certificate_delegate.h" @@ -500,7 +501,8 @@ namespace { void AppendSwitch(const std::string& switch_string, mate::Arguments* args) { auto command_line = base::CommandLine::ForCurrentProcess(); - if (switch_string == atom::switches::kPpapiFlashPath || + if (base::EndsWith(switch_string, "-path", + base::CompareCase::INSENSITIVE_ASCII) || switch_string == switches::kLogNetLog) { base::FilePath path; args->GetNext(&path);