diff options
-rw-r--r-- | chrome_frame/utils.cc | 6 |
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; |