summaryrefslogtreecommitdiffstats
path: root/chrome_frame/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame/utils.h')
-rw-r--r--chrome_frame/utils.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/chrome_frame/utils.h b/chrome_frame/utils.h
index f71bb7d..8750794 100644
--- a/chrome_frame/utils.h
+++ b/chrome_frame/utils.h
@@ -7,7 +7,8 @@
#include <atlbase.h>
#include <string>
-#include <UrlMon.h>
+#include <shdeprecated.h>
+#include <urlmon.h>
#include "base/basictypes.h"
#include "base/logging.h"
@@ -215,6 +216,19 @@ HRESULT DoQueryService(const IID& service_id, IUnknown* unk, T** service) {
HRESULT GetUrlFromMoniker(IMoniker* moniker, IBindCtx* bind_context,
std::wstring* url);
+// Navigates an IWebBrowser2 object to a moniker.
+HRESULT NavigateBrowserToMoniker(IUnknown* browser, IMoniker* moniker,
+ IBindCtx* bind_ctx);
+
+// Raises a flag on the current thread (using TLS) to indicate that an
+// in-progress navigation should be rendered in chrome frame.
+void MarkBrowserOnThreadForCFNavigation(IBrowserService* browser);
+
+// Checks if this browser instance has been marked as currently navigating
+// to a CF document. If clear_flag is set to true, the tls flag is cleared but
+// only if the browser has been marked.
+bool CheckForCFNavigation(IBrowserService* browser, bool clear_flag);
+
// Returns true if the URL passed in is something which can be handled by
// Chrome. If this function returns false then we should fail the navigation.
// When is_privileged is true, chrome extension URLs will be considered valid.