diff options
Diffstat (limited to 'chrome_frame/utils.h')
-rw-r--r-- | chrome_frame/utils.h | 16 |
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. |