diff options
author | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-12 20:40:15 +0000 |
---|---|---|
committer | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-12 20:40:15 +0000 |
commit | c8c547e3c052f95be7e2690124934399a6eb6985 (patch) | |
tree | a38a6a37f37d91cfef53ec32c5bc73978d6d97b0 /chrome_frame/urlmon_bind_status_callback.cc | |
parent | 5c541f3aee480cb5c4eac6393a0fe7684027c642 (diff) | |
download | chromium_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.cc | 9 |
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 |