From e33f99a191db9341991d5b42f4da594d1ed15e3a Mon Sep 17 00:00:00 2001 From: "ananta@chromium.org" Date: Tue, 13 Apr 2010 01:27:22 +0000 Subject: IE would not switch into ChromeFrame if the url being navigated to had an anchor. The IsTopLevelUrl function exposed by the navigation manager would compare the URL received in the BHO which has the anchor and the URL received from the anchor which does not have the anchor. As a result we would not wrap the bind status callback which caused this issue. The IsTopLevelUrl function now compares the URLs after stripping the anchor portion in the URL. Should fix bug http://code.google.com/p/chromium/issues/detail?id=38265. This only works if the moniker patch is enabled. Bug=38265 Test=Covered by unit test. Review URL: http://codereview.chromium.org/1559027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44309 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome_frame/urlmon_moniker.h | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'chrome_frame/urlmon_moniker.h') diff --git a/chrome_frame/urlmon_moniker.h b/chrome_frame/urlmon_moniker.h index fcb88fd..5cea8cf 100644 --- a/chrome_frame/urlmon_moniker.h +++ b/chrome_frame/urlmon_moniker.h @@ -110,15 +110,6 @@ class NavigationManager { url_ = url; } - const std::wstring& original_url_with_fragment() const { - return original_url_with_fragment_; - } - - void set_original_url_with_fragment(const wchar_t* url) { - DLOG(INFO) << __FUNCTION__ << " " << url; - original_url_with_fragment_ = url; - } - // Returns the referrer header value of the current top level navigation. const std::string& referrer() const { return referrer_; @@ -130,9 +121,7 @@ class NavigationManager { // Return true if this is a URL that represents a top-level // document that might have to be rendered in CF. - virtual bool IsTopLevelUrl(const wchar_t* url) { - return GURL(url_) == GURL(url); - } + virtual bool IsTopLevelUrl(const wchar_t* url); // Called from HttpNegotiatePatch::BeginningTransaction when a request is // being issued. We check the url and headers and see if there is a referrer @@ -152,11 +141,6 @@ class NavigationManager { static base::LazyInstance > thread_singleton_; - // If the url being navigated to within ChromeFrame has a fragment, this - // member contains this URL. This member is cleared when the Chrome active - // document is loaded. - std::wstring original_url_with_fragment_; - private: DISALLOW_COPY_AND_ASSIGN(NavigationManager); }; -- cgit v1.1