Commit 0ded4b5a authored by Robert Liao's avatar Robert Liao Committed by Commit Bot

Convert CBrowserSwitcherBHO CComPtr Uses to ComPtr

BUG=5027

Change-Id: I0046e489dbf25a4954321eb3c01ec36b15392345
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1885632
Auto-Submit: Robert Liao <robliao@chromium.org>
Commit-Queue: Julian Pastarmov <pastarmovj@chromium.org>
Reviewed-by: default avatarJulian Pastarmov <pastarmovj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710288}
parent c9725851
...@@ -40,23 +40,22 @@ CBrowserSwitcherBHO::~CBrowserSwitcherBHO() = default; ...@@ -40,23 +40,22 @@ CBrowserSwitcherBHO::~CBrowserSwitcherBHO() = default;
// Implementation of IObjectWithSiteImpl::SetSite. // Implementation of IObjectWithSiteImpl::SetSite.
STDMETHODIMP CBrowserSwitcherBHO::SetSite(IUnknown* site) { STDMETHODIMP CBrowserSwitcherBHO::SetSite(IUnknown* site) {
if (site != NULL) { if (site != NULL) {
HRESULT hr = site->QueryInterface(IID_IWebBrowser2, HRESULT hr = site->QueryInterface(IID_PPV_ARGS(&web_browser_));
reinterpret_cast<void**>(&web_browser_));
if (SUCCEEDED(hr)) { if (SUCCEEDED(hr)) {
hr = DispEventAdvise(web_browser_); hr = DispEventAdvise(web_browser_.Get());
advised_ = true; advised_ = true;
} }
} else { // site == NULL } else { // site == NULL
if (advised_) { if (advised_) {
DispEventUnadvise(web_browser_); DispEventUnadvise(web_browser_.Get());
advised_ = false; advised_ = false;
} }
web_browser_.Release(); web_browser_.Reset();
} }
return IObjectWithSiteImpl<CBrowserSwitcherBHO>::SetSite(site); return IObjectWithSiteImpl<CBrowserSwitcherBHO>::SetSite(site);
} }
// If enabled, monitors navigations and redirects them to Chrome if they are // If enabled, navigations and redirects them to Chrome if they are
// not intended to happen in IE according to the Legacy Browser Support policy. // not intended to happen in IE according to the Legacy Browser Support policy.
// This only applies to top-level documents (not to frames). // This only applies to top-level documents (not to frames).
void STDMETHODCALLTYPE void STDMETHODCALLTYPE
...@@ -68,13 +67,11 @@ CBrowserSwitcherBHO::BeforeNavigate(IDispatch* disp, ...@@ -68,13 +67,11 @@ CBrowserSwitcherBHO::BeforeNavigate(IDispatch* disp,
VARIANT* headers, VARIANT* headers,
VARIANT_BOOL* cancel) { VARIANT_BOOL* cancel) {
if (web_browser_ != NULL && disp != NULL) { if (web_browser_ != NULL && disp != NULL) {
ATL::CComPtr<IUnknown> unknown1; Microsoft::WRL::ComPtr<IUnknown> unknown1;
ATL::CComPtr<IUnknown> unknown2; Microsoft::WRL::ComPtr<IUnknown> unknown2;
if (SUCCEEDED(web_browser_->QueryInterface( if (SUCCEEDED(web_browser_.As(&unknown1)) &&
IID_IUnknown, reinterpret_cast<void**>(&unknown1))) && SUCCEEDED(disp->QueryInterface(IID_PPV_ARGS(&unknown2)))) {
SUCCEEDED(disp->QueryInterface(IID_IUnknown, // check if this is the outer frame.
reinterpret_cast<void**>(&unknown2)))) {
// check if this is the outter frame.
if (unknown1 == unknown2) { if (unknown1 == unknown2) {
bool result = bool result =
CheckUrl((LPOLESTR)url->bstrVal, *cancel != VARIANT_FALSE); CheckUrl((LPOLESTR)url->bstrVal, *cancel != VARIANT_FALSE);
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <exdispid.h> // NOLINT(build/include_order) #include <exdispid.h> // NOLINT(build/include_order)
#include <shlguid.h> // NOLINT(build/include_order) #include <shlguid.h> // NOLINT(build/include_order)
#include <shlobj.h> // NOLINT(build/include_order) #include <shlobj.h> // NOLINT(build/include_order)
#include <wrl/client.h>
#include "chrome/browser/browser_switcher/bho/browser_switcher_core.h" #include "chrome/browser/browser_switcher/bho/browser_switcher_core.h"
#include "chrome/browser/browser_switcher/bho/ie_bho_idl.h" #include "chrome/browser/browser_switcher/bho/ie_bho_idl.h"
...@@ -81,7 +82,7 @@ class ATL_NO_VTABLE CBrowserSwitcherBHO ...@@ -81,7 +82,7 @@ class ATL_NO_VTABLE CBrowserSwitcherBHO
private: private:
bool CheckUrl(LPOLESTR url, bool cancel); bool CheckUrl(LPOLESTR url, bool cancel);
ATL::CComPtr<IWebBrowser2> web_browser_; Microsoft::WRL::ComPtr<IWebBrowser2> web_browser_;
bool advised_; bool advised_;
BrowserSwitcherCore browser_switcher_; BrowserSwitcherCore browser_switcher_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment