OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/installer/util/move_tree_work_item.h" | 5 #include "chrome/installer/util/move_tree_work_item.h" |
6 | 6 |
7 #include <shlwapi.h> | 7 #include <shlwapi.h> |
8 | 8 |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "chrome/installer/util/duplicate_tree_detector.h" | 11 #include "chrome/installer/util/duplicate_tree_detector.h" |
12 #include "chrome/installer/util/logging_installer.h" | 12 #include "chrome/installer/util/logging_installer.h" |
13 | 13 |
14 MoveTreeWorkItem::~MoveTreeWorkItem() { | 14 MoveTreeWorkItem::~MoveTreeWorkItem() { |
15 } | 15 } |
16 | 16 |
17 MoveTreeWorkItem::MoveTreeWorkItem(const base::FilePath& source_path, | 17 MoveTreeWorkItem::MoveTreeWorkItem(const base::FilePath& source_path, |
18 const base::FilePath& dest_path, | 18 const base::FilePath& dest_path, |
19 const base::FilePath& temp_dir, | 19 const base::FilePath& temp_dir, |
20 MoveTreeOption duplicate_option) | 20 MoveTreeOption duplicate_option) |
21 : source_path_(source_path), | 21 : source_path_(source_path), |
22 dest_path_(dest_path), | 22 dest_path_(dest_path), |
23 temp_dir_(temp_dir), | 23 temp_dir_(temp_dir), |
24 duplicate_option_(duplicate_option), | |
25 moved_to_dest_path_(false), | 24 moved_to_dest_path_(false), |
26 moved_to_backup_(false), | 25 moved_to_backup_(false), |
27 source_moved_to_backup_(false) { | 26 source_moved_to_backup_(false), |
| 27 duplicate_option_(duplicate_option) { |
28 } | 28 } |
29 | 29 |
30 bool MoveTreeWorkItem::Do() { | 30 bool MoveTreeWorkItem::Do() { |
31 if (!base::PathExists(source_path_)) { | 31 if (!base::PathExists(source_path_)) { |
32 LOG(ERROR) << source_path_.value() << " does not exist"; | 32 LOG(ERROR) << source_path_.value() << " does not exist"; |
33 return false; | 33 return false; |
34 } | 34 } |
35 | 35 |
36 // If dest_path_ exists, we can do one of two things: | 36 // If dest_path_ exists, we can do one of two things: |
37 // 1) If the contents of src_path_are already fully contained in dest_path_ | 37 // 1) If the contents of src_path_are already fully contained in dest_path_ |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 if (moved_to_backup_ && !base::Move(backup, dest_path_)) { | 108 if (moved_to_backup_ && !base::Move(backup, dest_path_)) { |
109 LOG(ERROR) << "failed move " << backup.value() | 109 LOG(ERROR) << "failed move " << backup.value() |
110 << " to " << dest_path_.value(); | 110 << " to " << dest_path_.value(); |
111 } | 111 } |
112 | 112 |
113 if (source_moved_to_backup_ && !base::Move(backup, source_path_)) { | 113 if (source_moved_to_backup_ && !base::Move(backup, source_path_)) { |
114 LOG(ERROR) << "Can not restore " << backup.value() | 114 LOG(ERROR) << "Can not restore " << backup.value() |
115 << " to " << source_path_.value(); | 115 << " to " << source_path_.value(); |
116 } | 116 } |
117 } | 117 } |
OLD | NEW |