Index: chrome_frame/chrome_frame_activex_base.h |
diff --git a/chrome_frame/chrome_frame_activex_base.h b/chrome_frame/chrome_frame_activex_base.h |
index ebaf06cb44c7ae50a42b3f470aa4e3752a6cff9f..1dd2755af3bf63cb1de844945e55dbfefcbfab8f 100644 |
--- a/chrome_frame/chrome_frame_activex_base.h |
+++ b/chrome_frame/chrome_frame_activex_base.h |
@@ -24,6 +24,7 @@ |
#include "base/win/scoped_comptr.h" |
#include "base/win/scoped_variant.h" |
#include "grit/chrome_frame_resources.h" |
+#include "ceee/ie/common/ceee_util.h" |
#include "chrome/common/url_constants.h" |
#include "chrome_frame/chrome_frame_plugin.h" |
#include "chrome_frame/com_message_event.h" |
@@ -411,7 +412,12 @@ END_MSG_MAP() |
(lstrcmpi(profile_name.c_str(), kRundllProfileName) == 0); |
// Browsers without IDeleteBrowsingHistory in non-priv mode |
// have their profiles moved into "Temporary Internet Files". |
- if (is_IE && GetIEVersion() < IE_8 && !is_privileged_) { |
+ // |
+ // If CEEE is registered, we must have a persistent profile. We |
+ // considered checking if e.g. ceee_ie.dll is loaded in the process |
+ // but this gets into edge cases when the user enables the CEEE add-on |
+ // after CF is first loaded. |
+ if (is_IE && GetIEVersion() < IE_8 && !ceee_util::IsIeCeeeRegistered()) { |
*profile_path = GetIETemporaryFilesFolder(); |
*profile_path = profile_path->Append(L"Google Chrome Frame"); |
} else { |