| 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 b5b0b189ada3ee5a5812810914983d3bbb5a043e..f111f93f9b134f8f9c51e2ab7151caf6c47496e2 100644
|
| --- a/chrome/installer/util/delete_reg_value_work_item.cc
|
| +++ b/chrome/installer/util/delete_reg_value_work_item.cc
|
| @@ -29,12 +29,8 @@ DeleteRegValueWorkItem::DeleteRegValueWorkItem(HKEY predefined_root,
|
| DeleteRegValueWorkItem::~DeleteRegValueWorkItem() {
|
| }
|
|
|
| -bool DeleteRegValueWorkItem::Do() {
|
| - if (status_ != DELETE_VALUE) {
|
| - // we already did something.
|
| - LOG(ERROR) << "multiple calls to Do()";
|
| - return false;
|
| - }
|
| +bool DeleteRegValueWorkItem::DoImpl() {
|
| + DCHECK_EQ(DELETE_VALUE, status_);
|
|
|
| status_ = VALUE_UNCHANGED;
|
|
|
| @@ -48,8 +44,8 @@ bool DeleteRegValueWorkItem::Do() {
|
| result = key.ReadValue(value_name_.c_str(), NULL, &size, &type);
|
|
|
| if (result == ERROR_FILE_NOT_FOUND) {
|
| - LOG(INFO) << "(delete value) Key: " << key_path_ << " or Value: "
|
| - << value_name_ << " does not exist.";
|
| + VLOG(1) << "(delete value) Key: " << key_path_
|
| + << " or Value: " << value_name_ << " does not exist.";
|
| status_ = VALUE_NOT_FOUND;
|
| return true;
|
| }
|
| @@ -78,9 +74,10 @@ bool DeleteRegValueWorkItem::Do() {
|
| return true;
|
| }
|
|
|
| -void DeleteRegValueWorkItem::Rollback() {
|
| - if (status_ == DELETE_VALUE || status_ == VALUE_ROLLED_BACK)
|
| - return;
|
| +void DeleteRegValueWorkItem::RollbackImpl() {
|
| + DCHECK_NE(DELETE_VALUE, status_);
|
| + DCHECK_NE(VALUE_ROLLED_BACK, status_);
|
| +
|
| if (status_ == VALUE_UNCHANGED || status_ == VALUE_NOT_FOUND) {
|
| status_ = VALUE_ROLLED_BACK;
|
| VLOG(1) << "rollback: setting unchanged, nothing to do";
|
| @@ -88,6 +85,8 @@ void DeleteRegValueWorkItem::Rollback() {
|
| }
|
|
|
| // 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(),
|
|
|