Commit ba4e06a4 authored by Colin Blundell's avatar Colin Blundell Committed by Commit Bot

[Subresource Filter] Have C++ infobar no longer be a ChromeConfirmBar

This CL moves the C++ AdsBlockedInfoBar class away from being a
ChromeConfirmBar to directly subclassing the //components-level
ConfirmInfoBar. This change is necessary to support componentization of
the infobar and reuse in WebLayer. There is no behavioral change
intended.

Bug: 1116095
Change-Id: I289bd30d1a956e2db41744a007247c2893410213
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2442829
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: default avatarCharlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#813644}
parent 0a1eb20c
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
#include "chrome/browser/ui/android/content_settings/ads_blocked_infobar_delegate.h" #include "chrome/browser/ui/android/content_settings/ads_blocked_infobar_delegate.h"
#include "chrome/browser/ui/android/infobars/chrome_confirm_infobar.h"
#endif #endif
ChromeSubresourceFilterClient::ChromeSubresourceFilterClient( ChromeSubresourceFilterClient::ChromeSubresourceFilterClient(
...@@ -194,7 +195,8 @@ void ChromeSubresourceFilterClient::ShowUI(const GURL& url) { ...@@ -194,7 +195,8 @@ void ChromeSubresourceFilterClient::ShowUI(const GURL& url) {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
InfoBarService* infobar_service = InfoBarService* infobar_service =
InfoBarService::FromWebContents(web_contents()); InfoBarService::FromWebContents(web_contents());
AdsBlockedInfobarDelegate::Create(infobar_service); AdsBlockedInfobarDelegate::Create(
infobar_service, ChromeConfirmInfoBar::GetResourceIdMapper());
#endif #endif
// TODO(https://crbug.com/1103176): Plumb the actual frame reference here // TODO(https://crbug.com/1103176): Plumb the actual frame reference here
// (it comes from // (it comes from
......
...@@ -20,9 +20,10 @@ ...@@ -20,9 +20,10 @@
// static // static
void AdsBlockedInfobarDelegate::Create( void AdsBlockedInfobarDelegate::Create(
infobars::ContentInfoBarManager* infobar_manager) { infobars::ContentInfoBarManager* infobar_manager,
const infobars::InfoBarAndroid::ResourceIdMapper& resource_id_mapper) {
infobar_manager->AddInfoBar(std::make_unique<AdsBlockedInfoBar>( infobar_manager->AddInfoBar(std::make_unique<AdsBlockedInfoBar>(
base::WrapUnique(new AdsBlockedInfobarDelegate()))); base::WrapUnique(new AdsBlockedInfobarDelegate()), resource_id_mapper));
} }
AdsBlockedInfobarDelegate::~AdsBlockedInfobarDelegate() = default; AdsBlockedInfobarDelegate::~AdsBlockedInfobarDelegate() = default;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define CHROME_BROWSER_UI_ANDROID_CONTENT_SETTINGS_ADS_BLOCKED_INFOBAR_DELEGATE_H_ #define CHROME_BROWSER_UI_ANDROID_CONTENT_SETTINGS_ADS_BLOCKED_INFOBAR_DELEGATE_H_
#include "base/macros.h" #include "base/macros.h"
#include "components/infobars/android/infobar_android.h"
#include "components/infobars/core/confirm_infobar_delegate.h" #include "components/infobars/core/confirm_infobar_delegate.h"
namespace infobars { namespace infobars {
...@@ -22,7 +23,9 @@ class AdsBlockedInfobarDelegate : public ConfirmInfoBarDelegate { ...@@ -22,7 +23,9 @@ class AdsBlockedInfobarDelegate : public ConfirmInfoBarDelegate {
public: public:
// Creates a subresource filter infobar and delegate and adds the infobar to // Creates a subresource filter infobar and delegate and adds the infobar to
// |infobar_manager|. // |infobar_manager|.
static void Create(infobars::ContentInfoBarManager* infobar_manager); static void Create(
infobars::ContentInfoBarManager* infobar_manager,
const infobars::InfoBarAndroid::ResourceIdMapper& resource_id_mapper);
~AdsBlockedInfobarDelegate() override; ~AdsBlockedInfobarDelegate() override;
......
...@@ -13,8 +13,9 @@ ...@@ -13,8 +13,9 @@
using base::android::JavaParamRef; using base::android::JavaParamRef;
AdsBlockedInfoBar::AdsBlockedInfoBar( AdsBlockedInfoBar::AdsBlockedInfoBar(
std::unique_ptr<AdsBlockedInfobarDelegate> delegate) std::unique_ptr<AdsBlockedInfobarDelegate> delegate,
: ChromeConfirmInfoBar(std::move(delegate)) {} const ResourceIdMapper& resource_id_mapper)
: infobars::ConfirmInfoBar(std::move(delegate), resource_id_mapper) {}
AdsBlockedInfoBar::~AdsBlockedInfoBar() {} AdsBlockedInfoBar::~AdsBlockedInfoBar() {}
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
#include "base/macros.h" #include "base/macros.h"
#include "chrome/browser/ui/android/content_settings/ads_blocked_infobar_delegate.h" #include "chrome/browser/ui/android/content_settings/ads_blocked_infobar_delegate.h"
#include "chrome/browser/ui/android/infobars/chrome_confirm_infobar.h" #include "components/infobars/android/confirm_infobar.h"
class AdsBlockedInfoBar : public ChromeConfirmInfoBar { class AdsBlockedInfoBar : public infobars::ConfirmInfoBar {
public: public:
explicit AdsBlockedInfoBar( AdsBlockedInfoBar(std::unique_ptr<AdsBlockedInfobarDelegate> delegate,
std::unique_ptr<AdsBlockedInfobarDelegate> delegate); const ResourceIdMapper& resource_id_mapper);
~AdsBlockedInfoBar() override; ~AdsBlockedInfoBar() override;
......
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