diff options
34 files changed, 196 insertions, 211 deletions
diff --git a/base/file_version_info.h b/base/file_version_info.h index 41a97fa..481e88d 100644 --- a/base/file_version_info.h +++ b/base/file_version_info.h @@ -6,15 +6,23 @@ #define BASE_FILE_VERSION_INFO_H__ #pragma once +#include "build/build_config.h" + #include <string> -#include "build/build_config.h" +#include "base/string16.h" class FilePath; -// Provides an interface for accessing the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. +// Provides an interface for accessing the version information for a file. This +// is the information you access when you select a file in the Windows Explorer, +// right-click select Properties, then click the Version tab, and on the Mac +// when you select a file in the Finder and do a Get Info. +// +// This list of properties is straight out of Win32's VerQueryValue +// <http://msdn.microsoft.com/en-us/library/ms647464.aspx> and the Mac +// version returns values from the Info.plist as appropriate. TODO(avi): make +// this a less-obvious Windows-ism. class FileVersionInfo { public: @@ -26,33 +34,27 @@ class FileVersionInfo { static FileVersionInfo* CreateFileVersionInfo(const FilePath& file_path); #endif // OS_WIN || OS_MACOSX -#if defined(OS_WIN) - // This version, taking a wstring, is deprecated and only kept around - // until we can fix all callers. - static FileVersionInfo* CreateFileVersionInfo(const std::wstring& file_path); -#endif // OS_WIN - // Creates a FileVersionInfo for the current module. Returns NULL in case // of error. The returned object should be deleted when you are done with it. static FileVersionInfo* CreateFileVersionInfoForCurrentModule(); // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name() = 0; - virtual std::wstring company_short_name() = 0; - virtual std::wstring product_name() = 0; - virtual std::wstring product_short_name() = 0; - virtual std::wstring internal_name() = 0; - virtual std::wstring product_version() = 0; - virtual std::wstring private_build() = 0; - virtual std::wstring special_build() = 0; - virtual std::wstring comments() = 0; - virtual std::wstring original_filename() = 0; - virtual std::wstring file_description() = 0; - virtual std::wstring file_version() = 0; - virtual std::wstring legal_copyright() = 0; - virtual std::wstring legal_trademarks() = 0; - virtual std::wstring last_change() = 0; + virtual string16 company_name() = 0; + virtual string16 company_short_name() = 0; + virtual string16 product_name() = 0; + virtual string16 product_short_name() = 0; + virtual string16 internal_name() = 0; + virtual string16 product_version() = 0; + virtual string16 private_build() = 0; + virtual string16 special_build() = 0; + virtual string16 comments() = 0; + virtual string16 original_filename() = 0; + virtual string16 file_description() = 0; + virtual string16 file_version() = 0; + virtual string16 legal_copyright() = 0; + virtual string16 legal_trademarks() = 0; + virtual string16 last_change() = 0; virtual bool is_official_build() = 0; }; diff --git a/base/file_version_info_mac.h b/base/file_version_info_mac.h index 36cb538..879edb3 100644 --- a/base/file_version_info_mac.h +++ b/base/file_version_info_mac.h @@ -17,39 +17,35 @@ class NSBundle; #endif -// Provides a way to access the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. - class FileVersionInfoMac : public FileVersionInfo { public: explicit FileVersionInfoMac(NSBundle *bundle); // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name(); - virtual std::wstring company_short_name(); - virtual std::wstring product_name(); - virtual std::wstring product_short_name(); - virtual std::wstring internal_name(); - virtual std::wstring product_version(); - virtual std::wstring private_build(); - virtual std::wstring special_build(); - virtual std::wstring comments(); - virtual std::wstring original_filename(); - virtual std::wstring file_description(); - virtual std::wstring file_version(); - virtual std::wstring legal_copyright(); - virtual std::wstring legal_trademarks(); - virtual std::wstring last_change(); + virtual string16 company_name(); + virtual string16 company_short_name(); + virtual string16 product_name(); + virtual string16 product_short_name(); + virtual string16 internal_name(); + virtual string16 product_version(); + virtual string16 private_build(); + virtual string16 special_build(); + virtual string16 comments(); + virtual string16 original_filename(); + virtual string16 file_description(); + virtual string16 file_version(); + virtual string16 legal_copyright(); + virtual string16 legal_trademarks(); + virtual string16 last_change(); virtual bool is_official_build(); private: - // Returns a wstring value for a property name. + // Returns a string16 value for a property name. // Returns the empty string if the property does not exist. - std::wstring GetWStringValue(CFStringRef name); + string16 GetString16Value(CFStringRef name); scoped_nsobject<NSBundle> bundle_; diff --git a/base/file_version_info_mac.mm b/base/file_version_info_mac.mm index 6c6dd22..fa97df8 100644 --- a/base/file_version_info_mac.mm +++ b/base/file_version_info_mac.mm @@ -27,64 +27,64 @@ FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( return new FileVersionInfoMac(bundle); } -std::wstring FileVersionInfoMac::company_name() { - return std::wstring(); +string16 FileVersionInfoMac::company_name() { + return string16(); } -std::wstring FileVersionInfoMac::company_short_name() { - return std::wstring(); +string16 FileVersionInfoMac::company_short_name() { + return string16(); } -std::wstring FileVersionInfoMac::internal_name() { - return std::wstring(); +string16 FileVersionInfoMac::internal_name() { + return string16(); } -std::wstring FileVersionInfoMac::product_name() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::product_name() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::product_short_name() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::product_short_name() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::comments() { - return std::wstring(); +string16 FileVersionInfoMac::comments() { + return string16(); } -std::wstring FileVersionInfoMac::legal_copyright() { - return GetWStringValue(CFSTR("CFBundleGetInfoString")); +string16 FileVersionInfoMac::legal_copyright() { + return GetString16Value(CFSTR("CFBundleGetInfoString")); } -std::wstring FileVersionInfoMac::product_version() { - return GetWStringValue(CFSTR("CFBundleShortVersionString")); +string16 FileVersionInfoMac::product_version() { + return GetString16Value(CFSTR("CFBundleShortVersionString")); } -std::wstring FileVersionInfoMac::file_description() { - return std::wstring(); +string16 FileVersionInfoMac::file_description() { + return string16(); } -std::wstring FileVersionInfoMac::legal_trademarks() { - return std::wstring(); +string16 FileVersionInfoMac::legal_trademarks() { + return string16(); } -std::wstring FileVersionInfoMac::private_build() { - return std::wstring(); +string16 FileVersionInfoMac::private_build() { + return string16(); } -std::wstring FileVersionInfoMac::file_version() { +string16 FileVersionInfoMac::file_version() { return product_version(); } -std::wstring FileVersionInfoMac::original_filename() { - return GetWStringValue(kCFBundleNameKey); +string16 FileVersionInfoMac::original_filename() { + return GetString16Value(kCFBundleNameKey); } -std::wstring FileVersionInfoMac::special_build() { - return std::wstring(); +string16 FileVersionInfoMac::special_build() { + return string16(); } -std::wstring FileVersionInfoMac::last_change() { - return GetWStringValue(CFSTR("SVNRevision")); +string16 FileVersionInfoMac::last_change() { + return GetString16Value(CFSTR("SVNRevision")); } bool FileVersionInfoMac::is_official_build() { @@ -95,13 +95,13 @@ bool FileVersionInfoMac::is_official_build() { #endif } -std::wstring FileVersionInfoMac::GetWStringValue(CFStringRef name) { +string16 FileVersionInfoMac::GetString16Value(CFStringRef name) { if (bundle_) { NSString *ns_name = mac_util::CFToNSCast(name); NSString* value = [bundle_ objectForInfoDictionaryKey:ns_name]; if (value) { - return base::SysNSStringToWide(value); + return base::SysNSStringToUTF16(value); } } - return std::wstring(); + return string16(); } diff --git a/base/file_version_info_win.cc b/base/file_version_info_win.cc index 6c69708..e2bc84b 100644 --- a/base/file_version_info_win.cc +++ b/base/file_version_info_win.cc @@ -77,70 +77,63 @@ FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( } } -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( - const std::wstring& file_path) { - FilePath file_path_fp = FilePath::FromWStringHack(file_path); - return CreateFileVersionInfo(file_path_fp); -} - -std::wstring FileVersionInfoWin::company_name() { +string16 FileVersionInfoWin::company_name() { return GetStringValue(L"CompanyName"); } -std::wstring FileVersionInfoWin::company_short_name() { +string16 FileVersionInfoWin::company_short_name() { return GetStringValue(L"CompanyShortName"); } -std::wstring FileVersionInfoWin::internal_name() { +string16 FileVersionInfoWin::internal_name() { return GetStringValue(L"InternalName"); } -std::wstring FileVersionInfoWin::product_name() { +string16 FileVersionInfoWin::product_name() { return GetStringValue(L"ProductName"); } -std::wstring FileVersionInfoWin::product_short_name() { +string16 FileVersionInfoWin::product_short_name() { return GetStringValue(L"ProductShortName"); } -std::wstring FileVersionInfoWin::comments() { +string16 FileVersionInfoWin::comments() { return GetStringValue(L"Comments"); } -std::wstring FileVersionInfoWin::legal_copyright() { +string16 FileVersionInfoWin::legal_copyright() { return GetStringValue(L"LegalCopyright"); } -std::wstring FileVersionInfoWin::product_version() { +string16 FileVersionInfoWin::product_version() { return GetStringValue(L"ProductVersion"); } -std::wstring FileVersionInfoWin::file_description() { +string16 FileVersionInfoWin::file_description() { return GetStringValue(L"FileDescription"); } -std::wstring FileVersionInfoWin::legal_trademarks() { +string16 FileVersionInfoWin::legal_trademarks() { return GetStringValue(L"LegalTrademarks"); } -std::wstring FileVersionInfoWin::private_build() { +string16 FileVersionInfoWin::private_build() { return GetStringValue(L"PrivateBuild"); } -std::wstring FileVersionInfoWin::file_version() { +string16 FileVersionInfoWin::file_version() { return GetStringValue(L"FileVersion"); } -std::wstring FileVersionInfoWin::original_filename() { +string16 FileVersionInfoWin::original_filename() { return GetStringValue(L"OriginalFilename"); } -std::wstring FileVersionInfoWin::special_build() { +string16 FileVersionInfoWin::special_build() { return GetStringValue(L"SpecialBuild"); } -std::wstring FileVersionInfoWin::last_change() { +string16 FileVersionInfoWin::last_change() { return GetStringValue(L"LastChange"); } diff --git a/base/file_version_info_win.h b/base/file_version_info_win.h index 3d60d69..4a49314 100644 --- a/base/file_version_info_win.h +++ b/base/file_version_info_win.h @@ -15,10 +15,6 @@ struct tagVS_FIXEDFILEINFO; typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; -// Provides a way to access the version information for a file. -// This is the information you access when you select a file in the Windows -// explorer, right-click select Properties, then click the Version tab. - class FileVersionInfoWin : public FileVersionInfo { public: FileVersionInfoWin(void* data, int language, int code_page); @@ -26,21 +22,21 @@ class FileVersionInfoWin : public FileVersionInfo { // Accessors to the different version properties. // Returns an empty string if the property is not found. - virtual std::wstring company_name(); - virtual std::wstring company_short_name(); - virtual std::wstring product_name(); - virtual std::wstring product_short_name(); - virtual std::wstring internal_name(); - virtual std::wstring product_version(); - virtual std::wstring private_build(); - virtual std::wstring special_build(); - virtual std::wstring comments(); - virtual std::wstring original_filename(); - virtual std::wstring file_description(); - virtual std::wstring file_version(); - virtual std::wstring legal_copyright(); - virtual std::wstring legal_trademarks(); - virtual std::wstring last_change(); + virtual string16 company_name(); + virtual string16 company_short_name(); + virtual string16 product_name(); + virtual string16 product_short_name(); + virtual string16 internal_name(); + virtual string16 product_version(); + virtual string16 private_build(); + virtual string16 special_build(); + virtual string16 comments(); + virtual string16 original_filename(); + virtual string16 file_description(); + virtual string16 file_version(); + virtual string16 legal_copyright(); + virtual string16 legal_trademarks(); + virtual string16 last_change(); virtual bool is_official_build(); // Lets you access other properties not covered above. diff --git a/base/process_util.cc b/base/process_util.cc index 6293740..7b2935d 100644 --- a/base/process_util.cc +++ b/base/process_util.cc @@ -11,7 +11,7 @@ ProcessEntry::ProcessEntry() {} ProcessEntry::~ProcessEntry() {} #endif -int GetProcessCount(const std::wstring& executable_name, +int GetProcessCount(const FilePath::StringType& executable_name, const ProcessFilter* filter) { int count = 0; NamedProcessIterator iter(executable_name, filter); @@ -20,7 +20,7 @@ int GetProcessCount(const std::wstring& executable_name, return count; } -bool KillProcesses(const std::wstring& executable_name, int exit_code, +bool KillProcesses(const FilePath::StringType& executable_name, int exit_code, const ProcessFilter* filter) { bool result = true; NamedProcessIterator iter(executable_name, filter); @@ -56,10 +56,10 @@ ProcessIterator::ProcessEntries ProcessIterator::Snapshot() { return found; } -NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name, - const ProcessFilter* filter) - : ProcessIterator(filter), - executable_name_(executable_name) { +NamedProcessIterator::NamedProcessIterator( + const FilePath::StringType& executable_name, + const ProcessFilter* filter) : ProcessIterator(filter), + executable_name_(executable_name) { } NamedProcessIterator::~NamedProcessIterator() { diff --git a/base/process_util.h b/base/process_util.h index ccbb687..ce4b0bb 100644 --- a/base/process_util.h +++ b/base/process_util.h @@ -34,10 +34,10 @@ typedef struct _malloc_zone_t malloc_zone_t; #include <vector> #include "base/file_descriptor_shuffle.h" +#include "base/file_path.h" #include "base/process.h" class CommandLine; -class FilePath; namespace base { @@ -322,7 +322,7 @@ class ProcessFilter { // Returns the number of processes on the machine that are running from the // given executable name. If filter is non-null, then only processes selected // by the filter will be counted. -int GetProcessCount(const std::wstring& executable_name, +int GetProcessCount(const FilePath::StringType& executable_name, const ProcessFilter* filter); // Attempts to kill all the processes on the current machine that were launched @@ -330,7 +330,7 @@ int GetProcessCount(const std::wstring& executable_name, // filter is non-null, then only processes selected by the filter are killed. // Returns true if all processes were able to be killed off, false if at least // one couldn't be killed. -bool KillProcesses(const std::wstring& executable_name, int exit_code, +bool KillProcesses(const FilePath::StringType& executable_name, int exit_code, const ProcessFilter* filter); // Attempts to kill the process identified by the given process @@ -377,7 +377,7 @@ bool WaitForExitCodeWithTimeout(ProcessHandle handle, int* exit_code, // is non-null, then only processes selected by the filter are waited on. // Returns after all processes have exited or wait_milliseconds have expired. // Returns true if all the processes exited, false otherwise. -bool WaitForProcessesToExit(const std::wstring& executable_name, +bool WaitForProcessesToExit(const FilePath::StringType& executable_name, int64 wait_milliseconds, const ProcessFilter* filter); @@ -396,7 +396,7 @@ bool CrashAwareSleep(ProcessHandle handle, int64 wait_milliseconds); // on. Killed processes are ended with the given exit code. Returns false if // any processes needed to be killed, true if they all exited cleanly within // the wait_milliseconds delay. -bool CleanupProcesses(const std::wstring& executable_name, +bool CleanupProcesses(const FilePath::StringType& executable_name, int64 wait_milliseconds, int exit_code, const ProcessFilter* filter); @@ -457,7 +457,7 @@ class ProcessIterator { // until it returns false. class NamedProcessIterator : public ProcessIterator { public: - NamedProcessIterator(const std::wstring& executable_name, + NamedProcessIterator(const FilePath::StringType& executable_name, const ProcessFilter* filter); virtual ~NamedProcessIterator(); @@ -465,7 +465,7 @@ class NamedProcessIterator : public ProcessIterator { virtual bool IncludeEntry(); private: - std::wstring executable_name_; + FilePath::StringType executable_name_; DISALLOW_COPY_AND_ASSIGN(NamedProcessIterator); }; diff --git a/base/process_util_linux.cc b/base/process_util_linux.cc index ff5e9316..670de6a 100644 --- a/base/process_util_linux.cc +++ b/base/process_util_linux.cc @@ -220,8 +220,7 @@ bool ProcessIterator::CheckForNextProcess() { } bool NamedProcessIterator::IncludeEntry() { - // TODO(port): make this also work for non-ASCII filenames - if (WideToASCII(executable_name_) != entry().exe_file()) + if (executable_name_ != entry().exe_file()) return false; return ProcessIterator::IncludeEntry(); } diff --git a/base/process_util_mac.mm b/base/process_util_mac.mm index d210670..aa0f14d 100644 --- a/base/process_util_mac.mm +++ b/base/process_util_mac.mm @@ -169,7 +169,7 @@ bool ProcessIterator::CheckForNextProcess() { } bool NamedProcessIterator::IncludeEntry() { - return (SysWideToUTF8(executable_name_) == entry().exe_file() && + return (executable_name_ == entry().exe_file() && ProcessIterator::IncludeEntry()); } diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc index 3d29674..cd2eedd 100644 --- a/base/process_util_posix.cc +++ b/base/process_util_posix.cc @@ -877,7 +877,7 @@ bool GetAppOutputRestricted(const CommandLine& cl, return GetAppOutputInternal(cl, &empty_environ, output, max_output, false); } -bool WaitForProcessesToExit(const std::wstring& executable_name, +bool WaitForProcessesToExit(const FilePath::StringType& executable_name, int64 wait_milliseconds, const ProcessFilter* filter) { bool result = false; @@ -899,7 +899,7 @@ bool WaitForProcessesToExit(const std::wstring& executable_name, return result; } -bool CleanupProcesses(const std::wstring& executable_name, +bool CleanupProcesses(const FilePath::StringType& executable_name, int64 wait_milliseconds, int exit_code, const ProcessFilter* filter) { diff --git a/chrome/app/breakpad_win.cc b/chrome/app/breakpad_win.cc index 863dda6..017e61d 100644 --- a/chrome/app/breakpad_win.cc +++ b/chrome/app/breakpad_win.cc @@ -92,7 +92,7 @@ std::wstring TrimToBreakpadMax(const std::wstring& str) { google_breakpad::CustomClientInfo* GetCustomInfo(const std::wstring& dll_path, const std::wstring& type) { scoped_ptr<FileVersionInfo> - version_info(FileVersionInfo::CreateFileVersionInfo(dll_path)); + version_info(FileVersionInfo::CreateFileVersionInfo(FilePath(dll_path))); std::wstring version, product; if (version_info.get()) { diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc index 9d5c3e6..9ecc0ef 100644 --- a/chrome/browser/automation/testing_automation_provider.cc +++ b/chrome/browser/automation/testing_automation_provider.cc @@ -2339,11 +2339,11 @@ void TestingAutomationProvider::GetBrowserInfo( DictionaryValue* properties = new DictionaryValue; properties->SetString("ChromeVersion", chrome::kChromeVersion); properties->SetString("BrowserProcessExecutableName", - WideToUTF16Hack(chrome::kBrowserProcessExecutableName)); + chrome::kBrowserProcessExecutableName); properties->SetString("HelperProcessExecutableName", - WideToUTF16Hack(chrome::kHelperProcessExecutableName)); + chrome::kHelperProcessExecutableName); properties->SetString("BrowserProcessExecutablePath", - WideToUTF16Hack(chrome::kBrowserProcessExecutablePath)); + chrome::kBrowserProcessExecutablePath); properties->SetString("HelperProcessExecutablePath", chrome::kHelperProcessExecutablePath); properties->SetString("command_line_string", diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc index af18da1..715f460 100644 --- a/chrome/browser/browser_about_handler.cc +++ b/chrome/browser/browser_about_handler.cc @@ -836,7 +836,7 @@ void AboutMemoryHandler::BindProcessMetrics(DictionaryValue* data, data->SetInteger("comm_map", static_cast<int>(info->committed.mapped)); data->SetInteger("comm_image", static_cast<int>(info->committed.image)); data->SetInteger("pid", info->pid); - data->SetString("version", WideToUTF16Hack(info->version)); + data->SetString("version", info->version); data->SetInteger("processes", info->num_processes); } @@ -858,7 +858,7 @@ void AboutMemoryHandler::AppendProcess(ListValue* child_data, ListValue* titles = new ListValue(); child->Set("titles", titles); for (size_t i = 0; i < info->titles.size(); ++i) - titles->Append(new StringValue(WideToUTF16Hack(info->titles[i]))); + titles->Append(new StringValue(info->titles[i])); } @@ -897,15 +897,14 @@ void AboutMemoryHandler::OnDetailsAvailable() { } DictionaryValue* browser_data = new DictionaryValue(); browsers->Append(browser_data); - browser_data->SetString("name", - WideToUTF16Hack(browser_processes[index].name)); + browser_data->SetString("name", browser_processes[index].name); BindProcessMetrics(browser_data, &aggregate); // We log memory info as we record it. if (log_string.length() > 0) log_string.append(L", "); - log_string.append(browser_processes[index].name); + log_string.append(UTF16ToWide(browser_processes[index].name)); log_string.append(L", "); log_string.append(UTF8ToWide( base::Int64ToString(aggregate.working_set.priv))); @@ -926,7 +925,7 @@ void AboutMemoryHandler::OnDetailsAvailable() { root.Set("child_data", child_data); ProcessData process = browser_processes[0]; // Chrome is the first browser. - root.SetString("current_browser_name", WideToUTF16Hack(process.name)); + root.SetString("current_browser_name", process.name); for (size_t index = 0; index < process.processes.size(); index++) { if (process.processes[index].type == ChildProcessInfo::BROWSER_PROCESS) diff --git a/chrome/browser/memory_details.cc b/chrome/browser/memory_details.cc index cd72b25..6f83083 100644 --- a/chrome/browser/memory_details.cc +++ b/chrome/browser/memory_details.cc @@ -4,6 +4,7 @@ #include "chrome/browser/memory_details.h" +#include "app/l10n_util.h" #include "base/file_version_info.h" #include "base/metrics/histogram.h" #include "base/process_util.h" @@ -18,6 +19,7 @@ #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/common/url_constants.h" #include "grit/chromium_strings.h" +#include "grit/generated_resources.h" #if defined(OS_LINUX) #include "chrome/browser/zygote_host_linux.h" @@ -88,7 +90,7 @@ void MemoryDetails::CollectChildInfoOnIOThread() { continue; info.type = iter->type(); - info.titles.push_back(iter->name()); + info.titles.push_back(WideToUTF16Hack(iter->name())); child_info.push_back(info); } @@ -149,9 +151,9 @@ void MemoryDetails::CollectChildInfoOnUIThread() { contents = host->delegate()->GetAsTabContents(); if (!contents) continue; - std::wstring title = UTF16ToWideHack(contents->GetTitle()); + string16 title = contents->GetTitle(); if (!title.length()) - title = L"Untitled"; + title = l10n_util::GetStringUTF16(IDS_DEFAULT_TAB_TITLE); process.titles.push_back(title); // We need to check the pending entry as well as the virtual_url to diff --git a/chrome/browser/memory_details.h b/chrome/browser/memory_details.h index 2b152b6..b39a1a6 100644 --- a/chrome/browser/memory_details.h +++ b/chrome/browser/memory_details.h @@ -10,6 +10,7 @@ #include "base/process_util.h" #include "base/ref_counted.h" +#include "base/string16.h" #include "chrome/common/child_process_info.h" // We collect data about each browser process. A browser may @@ -26,9 +27,9 @@ struct ProcessMemoryInformation { // The committed bytes. base::CommittedKBytes committed; // The process version - std::wstring version; + string16 version; // The process product name. - std::wstring product_name; + string16 product_name; // The number of processes which this memory represents. int num_processes; // A process is a diagnostics process if it is rendering @@ -37,7 +38,7 @@ struct ProcessMemoryInformation { // If this is a child process of Chrome, what type (i.e. plugin) it is. ChildProcessInfo::ProcessType type; // A collection of titles used, i.e. for a tab it'll show all the page titles. - std::vector<std::wstring> titles; + std::vector<string16> titles; }; typedef std::vector<ProcessMemoryInformation> ProcessMemoryInformationList; @@ -49,8 +50,8 @@ struct ProcessData { ~ProcessData(); ProcessData& operator=(const ProcessData& rhs); - std::wstring name; - std::wstring process_name; + string16 name; + string16 process_name; ProcessMemoryInformationList processes; }; diff --git a/chrome/browser/memory_details_linux.cc b/chrome/browser/memory_details_linux.cc index 14506c3..a5e58b8 100644 --- a/chrome/browser/memory_details_linux.cc +++ b/chrome/browser/memory_details_linux.cc @@ -240,8 +240,8 @@ void MemoryDetails::CollectProcessData( GetAllChildren(processes, getpid(), zygote, ¤t_browser_processes); ProcessData current_browser; GetProcessDataMemoryInformation(current_browser_processes, ¤t_browser); - current_browser.name = chrome::kBrowserAppName; - current_browser.process_name = L"chrome"; + current_browser.name = WideToUTF16(chrome::kBrowserAppName); + current_browser.process_name = ASCIIToUTF16("chrome"); process_data_.push_back(current_browser); // For each browser process, collect a list of its children and get the @@ -258,7 +258,7 @@ void MemoryDetails::CollectProcessData( if (j->pid == *i) { BrowserType type = GetBrowserType(j->name); if (type != MAX_BROWSERS) - browser.name = ASCIIToWide(kBrowserPrettyNames[type]); + browser.name = ASCIIToUTF16(kBrowserPrettyNames[type]); break; } } diff --git a/chrome/browser/memory_details_mac.cc b/chrome/browser/memory_details_mac.cc index b17d25f..09a298f 100644 --- a/chrome/browser/memory_details_mac.cc +++ b/chrome/browser/memory_details_mac.cc @@ -51,8 +51,8 @@ enum BrowserType { MemoryDetails::MemoryDetails() { - static const std::wstring google_browser_name = - l10n_util::GetString(IDS_PRODUCT_NAME); + static const std::string google_browser_name = + l10n_util::GetStringUTF8(IDS_PRODUCT_NAME); // (Human and process) names of browsers; should match the ordering for // |BrowserProcess| (i.e., |BrowserType|). // TODO(viettrungluu): The current setup means that we can't detect both @@ -60,21 +60,21 @@ MemoryDetails::MemoryDetails() { // TODO(viettrungluu): Get localized browser names for other browsers // (crbug.com/25779). struct { - const wchar_t* name; - const wchar_t* process_name; + const char* name; + const char* process_name; } process_template[MAX_BROWSERS] = { { google_browser_name.c_str(), chrome::kBrowserProcessExecutableName, }, - { L"Safari", L"Safari", }, - { L"Firefox", L"firefox-bin", }, - { L"Camino", L"Camino", }, - { L"Opera", L"Opera", }, - { L"OmniWeb", L"OmniWeb", }, + { "Safari", "Safari", }, + { "Firefox", "firefox-bin", }, + { "Camino", "Camino", }, + { "Opera", "Opera", }, + { "OmniWeb", "OmniWeb", }, }; for (size_t index = 0; index < MAX_BROWSERS; ++index) { ProcessData process; - process.name = process_template[index].name; - process.process_name = process_template[index].process_name; + process.name = UTF8ToUTF16(process_template[index].name); + process.process_name = UTF8ToUTF16(process_template[index].process_name); process_data_.push_back(process); } } @@ -104,8 +104,8 @@ void MemoryDetails::CollectProcessData( std::vector<base::ProcessId> pids_by_browser[MAX_BROWSERS]; std::vector<base::ProcessId> all_pids; for (size_t index = CHROME_BROWSER; index < MAX_BROWSERS; index++) { - base::NamedProcessIterator process_it(process_data_[index].process_name, - NULL); + base::NamedProcessIterator process_it( + UTF16ToUTF8(process_data_[index].process_name), NULL); while (const base::ProcessEntry* entry = process_it.NextProcessEntry()) { pids_by_browser[index].push_back(entry->pid()); @@ -158,7 +158,7 @@ void MemoryDetails::CollectProcessData( info.version = version_info->product_version(); } else { info.product_name = process_data_[index].name; - info.version = L""; + info.version = string16(); } // Memory info. @@ -202,11 +202,11 @@ void MemoryDetails::CollectProcessDataChrome( chrome::VersionInfo version_info; if (version_info.is_valid()) { - info.product_name = ASCIIToWide(version_info.Name()); - info.version = ASCIIToWide(version_info.Version()); + info.product_name = ASCIIToUTF16(version_info.Name()); + info.version = ASCIIToUTF16(version_info.Version()); } else { info.product_name = process_data_[CHROME_BROWSER].name; - info.version = L""; + info.version = string16(); } // Check if this is one of the child processes whose data we collected diff --git a/chrome/browser/memory_details_win.cc b/chrome/browser/memory_details_win.cc index 959cebd..91f0b6d 100644 --- a/chrome/browser/memory_details_win.cc +++ b/chrome/browser/memory_details_win.cc @@ -6,6 +6,7 @@ #include <psapi.h> #include "app/l10n_util.h" +#include "base/file_path.h" #include "base/file_version_info.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" @@ -135,7 +136,7 @@ void MemoryDetails::CollectProcessData( } else if (GetModuleFileNameEx(handle, NULL, name, MAX_PATH - 1)) { std::wstring str_name(name); scoped_ptr<FileVersionInfo> version_info( - FileVersionInfo::CreateFileVersionInfo(str_name)); + FileVersionInfo::CreateFileVersionInfo(FilePath(str_name))); if (version_info != NULL) { info.version = version_info->product_version(); info.product_name = version_info->product_name(); diff --git a/chrome/browser/process_singleton_linux.cc b/chrome/browser/process_singleton_linux.cc index 8418ee9..a95d668 100644 --- a/chrome/browser/process_singleton_linux.cc +++ b/chrome/browser/process_singleton_linux.cc @@ -315,7 +315,7 @@ bool IsChromeProcess(pid_t pid) { FilePath other_chrome_path(base::GetProcessExecutablePath(pid)); return (!other_chrome_path.empty() && other_chrome_path.BaseName() == - FilePath::FromWStringHack(chrome::kBrowserProcessExecutableName)); + FilePath(chrome::kBrowserProcessExecutableName)); } // Return true if the given pid is one of our child processes. diff --git a/chrome/browser/process_singleton_uitest.cc b/chrome/browser/process_singleton_uitest.cc index 57656c2..f04b29f 100644 --- a/chrome/browser/process_singleton_uitest.cc +++ b/chrome/browser/process_singleton_uitest.cc @@ -61,7 +61,7 @@ class ChromeStarter : public base::RefCountedThreadSafe<ChromeStarter> { FilePath browser_directory; PathService::Get(chrome::DIR_APP, &browser_directory); CommandLine command_line(browser_directory.Append( - FilePath::FromWStringHack(chrome::kBrowserProcessExecutablePath))); + chrome::kBrowserProcessExecutablePath)); command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir_); diff --git a/chrome/browser/shell_integration_linux.cc b/chrome/browser/shell_integration_linux.cc index 8c0a8c4..b74df15 100644 --- a/chrome/browser/shell_integration_linux.cc +++ b/chrome/browser/shell_integration_linux.cc @@ -293,7 +293,7 @@ bool ShellIntegration::GetDesktopShortcutTemplate( FilePath ShellIntegration::GetDesktopShortcutFilename(const GURL& url) { // Use a prefix, because xdg-desktop-menu requires it. std::string filename = - WideToUTF8(chrome::kBrowserProcessExecutableName) + "-" + url.spec(); + std::string(chrome::kBrowserProcessExecutableName) + "-" + url.spec(); file_util::ReplaceIllegalCharactersInPath(&filename, '_'); FilePath desktop_path; diff --git a/chrome/browser/shell_integration_unittest.cc b/chrome/browser/shell_integration_unittest.cc index c832b74..9b9a218 100644 --- a/chrome/browser/shell_integration_unittest.cc +++ b/chrome/browser/shell_integration_unittest.cc @@ -150,7 +150,7 @@ TEST(ShellIntegrationTest, GetDesktopShortcutFilename) { { FPL("http___.._.desktop"), "http://../../../../" }, }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); i++) { - EXPECT_EQ(WideToASCII(chrome::kBrowserProcessExecutableName) + "-" + + EXPECT_EQ(std::string(chrome::kBrowserProcessExecutableName) + "-" + test_cases[i].path, ShellIntegration::GetDesktopShortcutFilename( GURL(test_cases[i].url)).value()) << diff --git a/chrome/common/chrome_constants.cc b/chrome/common/chrome_constants.cc index 61edf54..97bb58e 100644 --- a/chrome/common/chrome_constants.cc +++ b/chrome/common/chrome_constants.cc @@ -11,10 +11,8 @@ #if defined(OS_MACOSX) #if defined(GOOGLE_CHROME_BUILD) #define PRODUCT_STRING "Google Chrome" -#define PRODUCT_STRING_W L"Google Chrome" #elif defined(CHROMIUM_BUILD) #define PRODUCT_STRING "Chromium" -#define PRODUCT_STRING_W L"Chromium" #else #error Unknown branding #endif @@ -27,26 +25,27 @@ const char kChromeVersionEnvVar[] = "CHROME_VERSION"; // The following should not be used for UI strings; they are meant // for system strings only. UI changes should be made in the GRD. #if defined(OS_WIN) -const wchar_t kBrowserProcessExecutableName[] = L"chrome.exe"; -const wchar_t kHelperProcessExecutableName[] = L"chrome.exe"; +const FilePath::CharType kBrowserProcessExecutableName[] = FPL("chrome.exe"); +const FilePath::CharType kHelperProcessExecutableName[] = FPL("chrome.exe"); #elif defined(OS_LINUX) -const wchar_t kBrowserProcessExecutableName[] = L"chrome"; +const FilePath::CharType kBrowserProcessExecutableName[] = FPL("chrome"); // Helper processes end up with a name of "exe" due to execing via // /proc/self/exe. See bug 22703. -const wchar_t kHelperProcessExecutableName[] = L"exe"; +const FilePath::CharType kHelperProcessExecutableName[] = FPL("exe"); #elif defined(OS_MACOSX) -const wchar_t kBrowserProcessExecutableName[] = PRODUCT_STRING_W; -const wchar_t kHelperProcessExecutableName[] = PRODUCT_STRING_W L" Helper"; +const FilePath::CharType kBrowserProcessExecutableName[] = FPL(PRODUCT_STRING); +const FilePath::CharType kHelperProcessExecutableName[] = + FPL(PRODUCT_STRING " Helper"); #endif // OS_* #if defined(OS_WIN) -const wchar_t kBrowserProcessExecutablePath[] = L"chrome.exe"; +const FilePath::CharType kBrowserProcessExecutablePath[] = FPL("chrome.exe"); const FilePath::CharType kHelperProcessExecutablePath[] = FPL("chrome.exe"); #elif defined(OS_LINUX) -const wchar_t kBrowserProcessExecutablePath[] = L"chrome"; +const FilePath::CharType kBrowserProcessExecutablePath[] = FPL("chrome"); const FilePath::CharType kHelperProcessExecutablePath[] = FPL("chrome"); #elif defined(OS_MACOSX) -const wchar_t kBrowserProcessExecutablePath[] = - PRODUCT_STRING_W L".app/Contents/MacOS/" PRODUCT_STRING_W; +const FilePath::CharType kBrowserProcessExecutablePath[] = + FPL(PRODUCT_STRING ".app/Contents/MacOS/" PRODUCT_STRING); const FilePath::CharType kHelperProcessExecutablePath[] = FPL(PRODUCT_STRING " Helper.app/Contents/MacOS/" PRODUCT_STRING " Helper"); #endif // OS_* diff --git a/chrome/common/chrome_constants.h b/chrome/common/chrome_constants.h index 57e48a86..56be2f8 100644 --- a/chrome/common/chrome_constants.h +++ b/chrome/common/chrome_constants.h @@ -16,9 +16,9 @@ extern const char kChromeVersion[]; extern const char kChromeVersionEnvVar[]; -extern const wchar_t kBrowserProcessExecutableName[]; -extern const wchar_t kHelperProcessExecutableName[]; -extern const wchar_t kBrowserProcessExecutablePath[]; +extern const FilePath::CharType kBrowserProcessExecutableName[]; +extern const FilePath::CharType kHelperProcessExecutableName[]; +extern const FilePath::CharType kBrowserProcessExecutablePath[]; extern const FilePath::CharType kHelperProcessExecutablePath[]; #if defined(OS_MACOSX) extern const FilePath::CharType kFrameworkName[]; diff --git a/chrome/common/chrome_version_info.cc b/chrome/common/chrome_version_info.cc index 5157c4a..7bca883 100644 --- a/chrome/common/chrome_version_info.cc +++ b/chrome/common/chrome_version_info.cc @@ -32,19 +32,19 @@ bool VersionInfo::is_valid() const { std::string VersionInfo::Name() const { if (!is_valid()) return std::string(); - return WideToASCII(version_info_->product_name()); + return UTF16ToASCII(version_info_->product_name()); } std::string VersionInfo::Version() const { if (!is_valid()) return std::string(); - return WideToASCII(version_info_->product_version()); + return UTF16ToASCII(version_info_->product_version()); } std::string VersionInfo::LastChange() const { if (!is_valid()) return std::string(); - return WideToASCII(version_info_->last_change()); + return UTF16ToASCII(version_info_->last_change()); } bool VersionInfo::IsOfficialBuild() const { diff --git a/chrome/test/in_process_browser_test.cc b/chrome/test/in_process_browser_test.cc index 39e8524..a90b265 100644 --- a/chrome/test/in_process_browser_test.cc +++ b/chrome/test/in_process_browser_test.cc @@ -88,12 +88,7 @@ InProcessBrowserTest::InProcessBrowserTest() FilePath chrome_path; CHECK(PathService::Get(base::FILE_EXE, &chrome_path)); chrome_path = chrome_path.DirName(); -#if defined(OS_WIN) chrome_path = chrome_path.Append(chrome::kBrowserProcessExecutablePath); -#elif defined(OS_POSIX) - chrome_path = chrome_path.Append( - WideToASCII(chrome::kBrowserProcessExecutablePath)); -#endif CHECK(PathService::Override(base::FILE_EXE, chrome_path)); test_server_.reset(new net::TestServer( diff --git a/chrome/test/reliability/page_load_test.cc b/chrome/test/reliability/page_load_test.cc index 24bf087..ffa6190 100644 --- a/chrome/test/reliability/page_load_test.cc +++ b/chrome/test/reliability/page_load_test.cc @@ -163,7 +163,8 @@ class PageLoadTest : public UITest { #if defined(OS_WIN) // Check file version info for chrome dll. scoped_ptr<FileVersionInfo> file_info; - file_info.reset(FileVersionInfo::CreateFileVersionInfo(kChromeDll)); + file_info.reset( + FileVersionInfo::CreateFileVersionInfo(FilePath(kChromeDll))); last_change = WideToASCII(file_info->last_change()); #elif defined(OS_LINUX) || defined(OS_MACOSX) // TODO(fmeawad): On Mac, the version retrieved here belongs to the test diff --git a/chrome/test/startup/startup_test.cc b/chrome/test/startup/startup_test.cc index 5cbdc10..e78083f 100644 --- a/chrome/test/startup/startup_test.cc +++ b/chrome/test/startup/startup_test.cc @@ -135,7 +135,7 @@ class StartupTest : public UIPerfTest { ASSERT_TRUE(PathService::Get(chrome::DIR_APP, &dir_app)); FilePath chrome_exe(dir_app.Append( - FilePath::FromWStringHack(chrome::kBrowserProcessExecutablePath))); + chrome::kBrowserProcessExecutablePath)); ASSERT_TRUE(EvictFileFromSystemCacheWrapper(chrome_exe)); #if defined(OS_WIN) // chrome.dll is windows specific. diff --git a/chrome/test/ui/ui_test.cc b/chrome/test/ui/ui_test.cc index f8c723b..ebc285ad 100644 --- a/chrome/test/ui/ui_test.cc +++ b/chrome/test/ui/ui_test.cc @@ -756,7 +756,7 @@ bool UITestBase::LaunchBrowserHelper(const CommandLine& arguments, bool wait, base::ProcessHandle* process) { FilePath command = browser_directory_.Append( - FilePath::FromWStringHack(chrome::kBrowserProcessExecutablePath)); + chrome::kBrowserProcessExecutablePath); CommandLine command_line(command); diff --git a/chrome_frame/crash_reporting/minidump_test.cc b/chrome_frame/crash_reporting/minidump_test.cc index 3fa6653..9b4ef22 100644 --- a/chrome_frame/crash_reporting/minidump_test.cc +++ b/chrome_frame/crash_reporting/minidump_test.cc @@ -298,7 +298,7 @@ TEST_F(MinidumpTest, Version) { dbg_help_file, arraysize(dbg_help_file))); scoped_ptr<FileVersionInfo> file_info( - FileVersionInfo::CreateFileVersionInfo(dbg_help_file)); + FileVersionInfo::CreateFileVersionInfo(FilePath(dbg_help_file))); ASSERT_TRUE(file_info != NULL); VLOG(1) << "DbgHelp.dll version: " << file_info->file_version(); diff --git a/chrome_frame/test/reliability/page_load_test.cc b/chrome_frame/test/reliability/page_load_test.cc index 3afdadf..adc681e 100644 --- a/chrome_frame/test/reliability/page_load_test.cc +++ b/chrome_frame/test/reliability/page_load_test.cc @@ -158,7 +158,8 @@ class PageLoadTest : public testing::Test { // Check file version info for chrome dll. scoped_ptr<FileVersionInfo> file_info; #if defined(OS_WIN) - file_info.reset(FileVersionInfo::CreateFileVersionInfo(kChromeDll)); + file_info.reset( + FileVersionInfo::CreateFileVersionInfo(FilePath(kChromeDll))); #elif defined(OS_LINUX) || defined(OS_MACOSX) // TODO(fmeawad): the version retrieved here belongs to the test module and // not the chrome binary, need to be changed to chrome binary instead. diff --git a/chrome_frame/test/util_unittests.cc b/chrome_frame/test/util_unittests.cc index ac4bccf..9cdf9f6 100644 --- a/chrome_frame/test/util_unittests.cc +++ b/chrome_frame/test/util_unittests.cc @@ -58,7 +58,7 @@ TEST_F(UtilTests, GetModuleVersionTest) { // Use the method that goes to disk scoped_ptr<FileVersionInfo> base_info( - FileVersionInfo::CreateFileVersionInfo(path)); + FileVersionInfo::CreateFileVersionInfo(FilePath(path))); EXPECT_TRUE(base_info.get() != NULL); // Use the method that doesn't go to disk diff --git a/net/test/test_server_posix.cc b/net/test/test_server_posix.cc index d14561e..de42fb3 100644 --- a/net/test/test_server_posix.cc +++ b/net/test/test_server_posix.cc @@ -118,7 +118,7 @@ bool TestServer::LaunchPython(const FilePath& testserver_path) { // Try to kill any orphaned testserver processes that may be running. OrphanedTestServerFilter filter(testserver_path.value(), base::IntToString(host_port_pair_.port())); - if (!base::KillProcesses(L"python", -1, &filter)) { + if (!base::KillProcesses("python", -1, &filter)) { LOG(WARNING) << "Failed to clean up older orphaned testserver instances."; } diff --git a/webkit/plugins/npapi/plugin_lib_win.cc b/webkit/plugins/npapi/plugin_lib_win.cc index 6132d45..29d014f 100644 --- a/webkit/plugins/npapi/plugin_lib_win.cc +++ b/webkit/plugins/npapi/plugin_lib_win.cc @@ -22,7 +22,7 @@ bool PluginLib::ReadWebPluginInfo(const FilePath &filename, // For example: // video/quicktime|audio/aiff|image/jpeg scoped_ptr<FileVersionInfo> version_info( - FileVersionInfo::CreateFileVersionInfo(filename.value())); + FileVersionInfo::CreateFileVersionInfo(filename)); if (!version_info.get()) { LOG_IF(ERROR, PluginList::DebugPluginLoading()) << "Could not get version info for plugin " |