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;
// Implementation of IObjectWithSiteImpl::SetSite.
STDMETHODIMP CBrowserSwitcherBHO::SetSite(IUnknown* site) {
if (site != NULL) {
HRESULT hr = site->QueryInterface(IID_IWebBrowser2,
reinterpret_cast<void**>(&web_browser_));
HRESULT hr = site->QueryInterface(IID_PPV_ARGS(&web_browser_));
if (SUCCEEDED(hr)) {
hr = DispEventAdvise(web_browser_);
hr = DispEventAdvise(web_browser_.Get());
advised_ = true;
}
} else { // site == NULL
if (advised_) {
DispEventUnadvise(web_browser_);
DispEventUnadvise(web_browser_.Get());
advised_ = false;
}
web_browser_.Release();
web_browser_.Reset();
}
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.
// This only applies to top-level documents (not to frames).
void STDMETHODCALLTYPE
......@@ -68,13 +67,11 @@ CBrowserSwitcherBHO::BeforeNavigate(IDispatch* disp,
VARIANT* headers,
VARIANT_BOOL* cancel) {
if (web_browser_ != NULL && disp != NULL) {
ATL::CComPtr<IUnknown> unknown1;
ATL::CComPtr<IUnknown> unknown2;
if (SUCCEEDED(web_browser_->QueryInterface(
IID_IUnknown, reinterpret_cast<void**>(&unknown1))) &&
SUCCEEDED(disp->QueryInterface(IID_IUnknown,
reinterpret_cast<void**>(&unknown2)))) {
// check if this is the outter frame.
Microsoft::WRL::ComPtr<IUnknown> unknown1;
Microsoft::WRL::ComPtr<IUnknown> unknown2;
if (SUCCEEDED(web_browser_.As(&unknown1)) &&
SUCCEEDED(disp->QueryInterface(IID_PPV_ARGS(&unknown2)))) {
// check if this is the outer frame.
if (unknown1 == unknown2) {
bool result =
CheckUrl((LPOLESTR)url->bstrVal, *cancel != VARIANT_FALSE);
......
......@@ -10,6 +10,7 @@
#include <exdispid.h> // NOLINT(build/include_order)
#include <shlguid.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/ie_bho_idl.h"
......@@ -81,7 +82,7 @@ class ATL_NO_VTABLE CBrowserSwitcherBHO
private:
bool CheckUrl(LPOLESTR url, bool cancel);
ATL::CComPtr<IWebBrowser2> web_browser_;
Microsoft::WRL::ComPtr<IWebBrowser2> web_browser_;
bool advised_;
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