summaryrefslogtreecommitdiffstats
path: root/chrome/browser/first_run_gtk.cc
diff options
context:
space:
mode:
authorprasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-30 18:55:53 +0000
committerprasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-30 18:55:53 +0000
commit3cdacd4e6a2ca4c305c591dac8176828ae2e2b62 (patch)
treeb5c51b6e0db2c1aadb03e80b148b3b9a0c9ef4f6 /chrome/browser/first_run_gtk.cc
parent980539163f30d19e5adff1538122b1ea6a0e4803 (diff)
downloadchromium_src-3cdacd4e6a2ca4c305c591dac8176828ae2e2b62.zip
chromium_src-3cdacd4e6a2ca4c305c591dac8176828ae2e2b62.tar.gz
chromium_src-3cdacd4e6a2ca4c305c591dac8176828ae2e2b62.tar.bz2
r46025 reverted r46023 which caused a build break on chromeos.
This change reverts r46025 and fixes the build break which is just a one line change in chrome/browser/first_run_gtk.cc to move the definition of Upgrade::new_command_line_ to be inside a #if. Details on the change and code review feedback for the original CL can be found at http://codereview.chromium.org/1633021. BUG=40975 TEST=none Review URL: http://codereview.chromium.org/1691022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46103 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/first_run_gtk.cc')
-rw-r--r--chrome/browser/first_run_gtk.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/chrome/browser/first_run_gtk.cc b/chrome/browser/first_run_gtk.cc
index a424d60..2b48d3b 100644
--- a/chrome/browser/first_run_gtk.cc
+++ b/chrome/browser/first_run_gtk.cc
@@ -139,3 +139,48 @@ bool FirstRun::ImportBookmarks(const std::wstring& import_bookmarks_path) {
// for the process to return.
return base::LaunchApp(import_cmd, true, false, NULL);
}
+
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+CommandLine* Upgrade::new_command_line_ = NULL;
+double Upgrade::saved_last_modified_time_of_exe_ = 0;
+
+// static
+bool Upgrade::IsUpdatePendingRestart() {
+ return saved_last_modified_time_of_exe_ !=
+ Upgrade::GetLastModifiedTimeOfExe();
+}
+
+// static
+void Upgrade::SaveLastModifiedTimeOfExe() {
+ saved_last_modified_time_of_exe_ = Upgrade::GetLastModifiedTimeOfExe();
+}
+
+// static
+void Upgrade::RelaunchChromeBrowserWithNewCommandLineIfNeeded() {
+ if (new_command_line_) {
+ if (!base::LaunchApp(*new_command_line_, false, false, NULL)) {
+ DLOG(ERROR) << "Launching a new instance of the browser failed.";
+ } else {
+ DLOG(WARNING) << "Launched a new instance of the browser.";
+ }
+ delete new_command_line_;
+ new_command_line_ = NULL;
+ }
+}
+
+// static
+double Upgrade::GetLastModifiedTimeOfExe() {
+ FilePath exe_file_path;
+ if (!PathService::Get(base::FILE_EXE, &exe_file_path)) {
+ LOG(WARNING) << "Failed to get FilePath object for FILE_EXE.";
+ return saved_last_modified_time_of_exe_;
+ }
+ file_util::FileInfo exe_file_info;
+ if (!file_util::GetFileInfo(exe_file_path, &exe_file_info)) {
+ LOG(WARNING) << "Failed to get FileInfo object for FILE_EXE - "
+ << exe_file_path.value();
+ return saved_last_modified_time_of_exe_;
+ }
+ return exe_file_info.last_modified.ToDoubleT();
+}
+#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)