Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(293)

Side by Side Diff: chrome_frame/chrome_active_document.cc

Issue 6493002: A number of poorly written IE BHO's crash IE if ChromeFrame is the currently ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Implementation of ChromeActiveDocument 5 // Implementation of ChromeActiveDocument
6 #include "chrome_frame/chrome_active_document.h" 6 #include "chrome_frame/chrome_active_document.h"
7 7
8 #include <hlink.h> 8 #include <hlink.h>
9 #include <htiface.h> 9 #include <htiface.h>
10 #include <initguid.h> 10 #include <initguid.h>
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 bool is_internal_navigation = 761 bool is_internal_navigation =
762 IsNewNavigation(new_navigation_info, flags) || is_attach_external_tab_url; 762 IsNewNavigation(new_navigation_info, flags) || is_attach_external_tab_url;
763 763
764 if (new_navigation_info.url.is_valid()) 764 if (new_navigation_info.url.is_valid())
765 url_.Allocate(UTF8ToWide(new_navigation_info.url.spec()).c_str()); 765 url_.Allocate(UTF8ToWide(new_navigation_info.url.spec()).c_str());
766 766
767 if (is_internal_navigation) { 767 if (is_internal_navigation) {
768 ScopedComPtr<IDocObjectService> doc_object_svc; 768 ScopedComPtr<IDocObjectService> doc_object_svc;
769 ScopedComPtr<IWebBrowserEventsService> web_browser_events_svc; 769 ScopedComPtr<IWebBrowserEventsService> web_browser_events_svc;
770 770
771 buggy_bho::BuggyBhoTls bad_bho_tls;
772 if (GetConfigBool(true, kEnableBuggyBhoIntercept)) { 771 if (GetConfigBool(true, kEnableBuggyBhoIntercept)) {
773 ScopedComPtr<IWebBrowser2> wb2; 772 ScopedComPtr<IWebBrowser2> wb2;
774 DoQueryService(SID_SWebBrowserApp, m_spClientSite, wb2.Receive()); 773 DoQueryService(SID_SWebBrowserApp, m_spClientSite, wb2.Receive());
775 if (wb2) { 774 if (wb2 && buggy_bho::BuggyBhoTls::GetInstance()) {
776 buggy_bho::BuggyBhoTls::PatchBuggyBHOs(wb2); 775 buggy_bho::BuggyBhoTls::GetInstance()->PatchBuggyBHOs(wb2);
777 } 776 }
778 } 777 }
779 778
780 DoQueryService(__uuidof(web_browser_events_svc), m_spClientSite, 779 DoQueryService(__uuidof(web_browser_events_svc), m_spClientSite,
781 web_browser_events_svc.Receive()); 780 web_browser_events_svc.Receive());
782 781
783 if (!web_browser_events_svc.get()) { 782 if (!web_browser_events_svc.get()) {
784 DoQueryService(SID_SShellBrowser, m_spClientSite, 783 DoQueryService(SID_SShellBrowser, m_spClientSite,
785 doc_object_svc.Receive()); 784 doc_object_svc.Receive());
786 } 785 }
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
1394 return true; 1393 return true;
1395 1394
1396 if (new_navigation_info.url != navigation_info_->url) 1395 if (new_navigation_info.url != navigation_info_->url)
1397 return true; 1396 return true;
1398 1397
1399 if (new_navigation_info.referrer != navigation_info_->referrer) 1398 if (new_navigation_info.referrer != navigation_info_->referrer)
1400 return true; 1399 return true;
1401 1400
1402 return false; 1401 return false;
1403 } 1402 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698