diff options
author | rickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-04 22:55:55 +0000 |
---|---|---|
committer | rickcam@chromium.org <rickcam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-04 22:55:55 +0000 |
commit | 88eaec616804b5a770c80059effd23076e0b45cd (patch) | |
tree | 633a54c939ac02133976211fd1b29ef17f8f4661 /chrome/browser/background_mode_manager.cc | |
parent | 8d80ef42bd2aeb75fa202c0575b7150ebe9421ac (diff) | |
download | chromium_src-88eaec616804b5a770c80059effd23076e0b45cd.zip chromium_src-88eaec616804b5a770c80059effd23076e0b45cd.tar.gz chromium_src-88eaec616804b5a770c80059effd23076e0b45cd.tar.bz2 |
BUG=57441
TEST=none
Fixed logging error in Linux version of Launch On Startup support. Specifically, this corrects the handling of the result returned by WriteFile when generating the autostart .desktop file.
Review URL: http://codereview.chromium.org/3565004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61429 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/background_mode_manager.cc')
-rw-r--r-- | chrome/browser/background_mode_manager.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/chrome/browser/background_mode_manager.cc b/chrome/browser/background_mode_manager.cc index 8946e3c..e10fa2b 100644 --- a/chrome/browser/background_mode_manager.cc +++ b/chrome/browser/background_mode_manager.cc @@ -98,12 +98,14 @@ class EnableLaunchOnStartupTask : public Task { FilePath autostart_file = GetAutostartFilename(environment.get()); if (!file_util::DirectoryExists(autostart_directory) && !file_util::CreateDirectory(autostart_directory)) { - LOG(WARNING) << "Failed to register launch on login."; + LOG(WARNING) + << "Failed to register launch on login. No autostart directory."; return; } std::string wrapper_script; if (!environment->GetVar("CHROME_WRAPPER", &wrapper_script)) { - LOG(WARNING) << "Failed to register launch on login."; + LOG(WARNING) + << "Failed to register launch on login. CHROME_WRAPPER not set."; return; } std::string autostart_file_contents = @@ -112,9 +114,14 @@ class EnableLaunchOnStartupTask : public Task { "Terminal=false\n" "Exec=" + wrapper_script + "\n" "Name=" + version_info->Name() + "\n"; + std::string::size_type content_length = autostart_file_contents.length(); if (file_util::WriteFile(autostart_file, autostart_file_contents.c_str(), - autostart_file_contents.length())) - LOG(WARNING) << "Failed to register launch on login."; + content_length) != + static_cast<int>(content_length)) { + LOG(WARNING) << "Failed to register launch on login. Failed to write " + << autostart_file.value(); + file_util::Delete(GetAutostartFilename(environment.get()), false); + } } }; #endif // defined(OS_LINUX) |