diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-22 23:27:27 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-22 23:27:27 +0000 |
commit | 4f45d458c94df1f27a8e1091387821a71f0b2a91 (patch) | |
tree | 6204e1f4103b824a8a1eb077290ade4303f10b6e /chrome_frame/protocol_sink_wrap.h | |
parent | 5efbfe01100407ead12b18daae9ccafe34eeedc5 (diff) | |
download | chromium_src-4f45d458c94df1f27a8e1091387821a71f0b2a91.zip chromium_src-4f45d458c94df1f27a8e1091387821a71f0b2a91.tar.gz chromium_src-4f45d458c94df1f27a8e1091387821a71f0b2a91.tar.bz2 |
If we switch into ChromeFrame as a result of a redirect then we need to navigate chrome to
the correct URL to ensure that scripts on the page see the correct URL. This functionality
regressed when the protocol sink patch landed.
Fix is to read the URL from the ProtData object which wraps the underlying protocol sink,
when our active document loads.
Removed stale code from the Chromeframe moniker patch which eventually needs to go.
Fixes bug http://code.google.com/p/chromium/issues/detail?can=2&q=71860
BUG=71860
TEST=As described in the bug.
Review URL: http://codereview.chromium.org/6469103
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75656 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/protocol_sink_wrap.h')
-rw-r--r-- | chrome_frame/protocol_sink_wrap.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome_frame/protocol_sink_wrap.h b/chrome_frame/protocol_sink_wrap.h index eccd6a5..1aa0e10 100644 --- a/chrome_frame/protocol_sink_wrap.h +++ b/chrome_frame/protocol_sink_wrap.h @@ -130,6 +130,10 @@ class ProtData : public base::RefCounted<ProtData> { // Removes the mapping between the protocol and the ProtData. void Invalidate(); + const std::wstring& url() const { + return url_; + } + private: typedef std::map<IInternetProtocol*, ProtData*> ProtocolDataMap; static ProtocolDataMap datamap_; |