| Index: chrome_frame/urlmon_bind_status_callback.cc
|
| ===================================================================
|
| --- chrome_frame/urlmon_bind_status_callback.cc (revision 42723)
|
| +++ chrome_frame/urlmon_bind_status_callback.cc (working copy)
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "chrome_frame/urlmon_bind_status_callback.h"
|
|
|
| +#include <shlguid.h>
|
| +
|
| #include "base/logging.h"
|
| #include "base/string_util.h"
|
|
|
| @@ -190,7 +192,15 @@
|
| if (hr == INET_E_TERMINATED_BIND) {
|
| // Check if the content type is CF's mime type.
|
| UINT cf_format = ::RegisterClipboardFormatW(kChromeMimeType);
|
| - if (format_etc->cfFormat == cf_format) {
|
| + bool override_bind_results = (format_etc->cfFormat == cf_format);
|
| + if (!override_bind_results) {
|
| + ScopedComPtr<IBrowserService> browser_service;
|
| + DoQueryService(SID_SShellBrowser, delegate_, browser_service.Receive());
|
| + override_bind_results = (browser_service != NULL) &&
|
| + CheckForCFNavigation(browser_service, false);
|
| + }
|
| +
|
| + if (override_bind_results) {
|
| // We want to complete fetching the entire document even though the
|
| // delegate isn't interested in continuing.
|
| // This happens when we switch from mshtml to CF.
|
|
|