summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome_frame/utils.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome_frame/utils.cc b/chrome_frame/utils.cc
index aa24c1a..61bf7df 100644
--- a/chrome_frame/utils.cc
+++ b/chrome_frame/utils.cc
@@ -168,7 +168,11 @@ bool UtilChangePersistentNPAPIMarker(bool set) {
if (set) {
success = cf_state_key.WriteValue(kChromeFramePersistNPAPIReg, 1);
} else {
- success = cf_state_key.DeleteValue(kChromeFramePersistNPAPIReg);
+ // Unfortunately, DeleteValue returns true only if the value
+ // previously existed, so we do a separate existence check to
+ // validate success.
+ cf_state_key.DeleteValue(kChromeFramePersistNPAPIReg);
+ success = !cf_state_key.ValueExists(kChromeFramePersistNPAPIReg);
}
}
return success;