Refactor FileVersionInfo into an interface with platform implementations.
This allows us to move the chrome specific version informaton used by
Linux into src/chrome.

Add a GetChromeVersionInfo() for Linux in src/chrome/app/ and make sure to use this in src/chrome.

In src/webkit/glue, add a new glue method for getting the product version.  When compiling chrome, use an implementation in src/chrome/renderer (which uses GetChromeVersionInfo()) and a stub implementation for test_shell.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44435 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc
index 03dd9255..baa7ec3 100644
--- a/chrome/browser/metrics/metrics_log.cc
+++ b/chrome/browser/metrics/metrics_log.cc
@@ -15,6 +15,7 @@
 #include "base/sys_info.h"
 #include "base/utf_string_conversions.h"
 #include "base/third_party/nspr/prtime.h"
+#include "chrome/app/chrome_version_info.h"
 #include "chrome/browser/autocomplete/autocomplete.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/pref_service.h"
@@ -302,7 +303,7 @@
 // static
 std::string MetricsLog::GetVersionString() {
   scoped_ptr<FileVersionInfo> version_info(
-      FileVersionInfo::CreateFileVersionInfoForCurrentModule());
+      chrome_app::GetChromeVersionInfo());
   if (version_info.get()) {
     std::string version = WideToUTF8(version_info->product_version());
     if (!version_extension_.empty())