summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_bind_status_callback.cc
diff options
context:
space:
mode:
authoramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-12 20:40:15 +0000
committeramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-12 20:40:15 +0000
commitc8c547e3c052f95be7e2690124934399a6eb6985 (patch)
treea38a6a37f37d91cfef53ec32c5bc73978d6d97b0 /chrome_frame/urlmon_bind_status_callback.cc
parent5c541f3aee480cb5c4eac6393a0fe7684027c642 (diff)
downloadchromium_src-c8c547e3c052f95be7e2690124934399a6eb6985.zip
chromium_src-c8c547e3c052f95be7e2690124934399a6eb6985.tar.gz
chromium_src-c8c547e3c052f95be7e2690124934399a6eb6985.tar.bz2
Further improvments in IE switching
Manually loading active document in IMoniker::BindToObject does not work in IE6. The binding is not initialized and directly calling BindToStorage on it just does not return the data. The solution is to register ActiveDoc's CLSID as handler for 'text/html' mime type in the bind context marked for switching. Urlmon will correctly instantiate it them BUG=none TEST=covered by existing tests. Review URL: http://codereview.chromium.org/1595021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_bind_status_callback.cc')
-rw-r--r--chrome_frame/urlmon_bind_status_callback.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/chrome_frame/urlmon_bind_status_callback.cc b/chrome_frame/urlmon_bind_status_callback.cc
index 00d465c..0681849 100644
--- a/chrome_frame/urlmon_bind_status_callback.cc
+++ b/chrome_frame/urlmon_bind_status_callback.cc
@@ -311,9 +311,12 @@ HRESULT BSCBStorageBind::MayPlayBack(DWORD flags) {
if (data_sniffer_.is_cache_valid()) {
hr = data_sniffer_.DrainCache(delegate(),
flags | BSCF_FIRSTDATANOTIFICATION, clip_format_);
- if (data_sniffer_.is_chrome())
- NavigationManager::AttachCFObject(bind_ctx_);
+ DLOG_IF(WARNING, INET_E_TERMINATED_BIND != hr) << __FUNCTION__ <<
+ " mshtml OnDataAvailable returned: " << std::hex << hr;
+ if (data_sniffer_.is_chrome()) {
+ NavigationManager::SetForSwitch(bind_ctx_);
+ }
}
return hr;
-}
+} \ No newline at end of file