diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 01:27:22 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 01:27:22 +0000 |
commit | e33f99a191db9341991d5b42f4da594d1ed15e3a (patch) | |
tree | f881998c37a1a2eb1e45852864eeda1d7f50d81e /chrome_frame/utils.h | |
parent | 92ff337e2bb148581011ddf6c8d14d3ace50d626 (diff) | |
download | chromium_src-e33f99a191db9341991d5b42f4da594d1ed15e3a.zip chromium_src-e33f99a191db9341991d5b42f4da594d1ed15e3a.tar.gz chromium_src-e33f99a191db9341991d5b42f4da594d1ed15e3a.tar.bz2 |
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
Diffstat (limited to 'chrome_frame/utils.h')
-rw-r--r-- | chrome_frame/utils.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome_frame/utils.h b/chrome_frame/utils.h index ad5a335..b6f6dd0 100644 --- a/chrome_frame/utils.h +++ b/chrome_frame/utils.h @@ -19,6 +19,8 @@ #include "base/logging.h" #include "base/thread.h" +#include "googleurl/src/gurl.h" + // utils.h : Various utility functions and classes extern const wchar_t kChromeContentPrefix[]; @@ -406,4 +408,10 @@ extern Lock g_ChromeFrameHistogramLock; // used for IE privacy stuff. int32 MapCookieStateToCookieAction(InternetCookieState cookie_state); +// Parses the url passed in and returns a GURL instance without the fragment. +GURL GetUrlWithoutFragment(const wchar_t* url); + +// Compares the URLs passed in after removing the fragments from them. +bool CompareUrlsWithoutFragment(const wchar_t* url1, const wchar_t* url2); + #endif // CHROME_FRAME_UTILS_H_ |