Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Unified Diff: chrome/installer/util/delete_reg_value_work_item.cc

Issue 1976443005: Revert of Add best-effort/allow rollback flags on WorkItem. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@simple_list_tests
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/util/delete_reg_value_work_item.h ('k') | chrome/installer/util/delete_tree_work_item.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/delete_reg_value_work_item.cc
diff --git a/chrome/installer/util/delete_reg_value_work_item.cc b/chrome/installer/util/delete_reg_value_work_item.cc
index f111f93f9b134f8f9c51e2ab7151caf6c47496e2..b5b0b189ada3ee5a5812810914983d3bbb5a043e 100644
--- a/chrome/installer/util/delete_reg_value_work_item.cc
+++ b/chrome/installer/util/delete_reg_value_work_item.cc
@@ -29,8 +29,12 @@
DeleteRegValueWorkItem::~DeleteRegValueWorkItem() {
}
-bool DeleteRegValueWorkItem::DoImpl() {
- DCHECK_EQ(DELETE_VALUE, status_);
+bool DeleteRegValueWorkItem::Do() {
+ if (status_ != DELETE_VALUE) {
+ // we already did something.
+ LOG(ERROR) << "multiple calls to Do()";
+ return false;
+ }
status_ = VALUE_UNCHANGED;
@@ -44,8 +48,8 @@
result = key.ReadValue(value_name_.c_str(), NULL, &size, &type);
if (result == ERROR_FILE_NOT_FOUND) {
- VLOG(1) << "(delete value) Key: " << key_path_
- << " or Value: " << value_name_ << " does not exist.";
+ LOG(INFO) << "(delete value) Key: " << key_path_ << " or Value: "
+ << value_name_ << " does not exist.";
status_ = VALUE_NOT_FOUND;
return true;
}
@@ -74,10 +78,9 @@
return true;
}
-void DeleteRegValueWorkItem::RollbackImpl() {
- DCHECK_NE(DELETE_VALUE, status_);
- DCHECK_NE(VALUE_ROLLED_BACK, status_);
-
+void DeleteRegValueWorkItem::Rollback() {
+ if (status_ == DELETE_VALUE || status_ == VALUE_ROLLED_BACK)
+ return;
if (status_ == VALUE_UNCHANGED || status_ == VALUE_NOT_FOUND) {
status_ = VALUE_ROLLED_BACK;
VLOG(1) << "rollback: setting unchanged, nothing to do";
@@ -85,8 +88,6 @@
}
// At this point only possible state is VALUE_DELETED.
- DCHECK_EQ(VALUE_DELETED, status_);
-
RegKey key;
LONG result = key.Open(predefined_root_,
key_path_.c_str(),
« no previous file with comments | « chrome/installer/util/delete_reg_value_work_item.h ('k') | chrome/installer/util/delete_tree_work_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698