Update file version info/memory details/process utils to use string16.

BUG=23581
TEST=everything still works

Review URL: http://codereview.chromium.org/5968008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70071 0039d316-1c4b-4281-b951-d872f2087c98
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 @@
   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;
 };