Commit 1edef72b authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Remove LegacyInfobarBadgeTabHelperDeleagte

Now that BadgeMediator is the only delegate for InfobarBadgeTabHelper,
LegacyInfobarBadgeTabHelperDeleagte is no longer needed.

Bug: 980800
Change-Id: Iff436e0970d4a0a058fc9120256d77c8d50ff4e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1693161
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#678312}
parent 275cec3c
...@@ -42,7 +42,6 @@ source_set("badge") { ...@@ -42,7 +42,6 @@ source_set("badge") {
"infobar_badge_tab_helper.h", "infobar_badge_tab_helper.h",
"infobar_badge_tab_helper.mm", "infobar_badge_tab_helper.mm",
"infobar_badge_tab_helper_delegate.h", "infobar_badge_tab_helper_delegate.h",
"legacy_infobar_badge_tab_helper_delegate.h",
] ]
deps = [ deps = [
":infobars", ":infobars",
......
...@@ -32,11 +32,6 @@ class InfobarBadgeTabHelper ...@@ -32,11 +32,6 @@ class InfobarBadgeTabHelper
static void CreateForWebState(web::WebState* web_state); static void CreateForWebState(web::WebState* web_state);
// Sets the InfobarBadgeTabHelperDelegate to |delegate|. // Sets the InfobarBadgeTabHelperDelegate to |delegate|.
void SetDelegate(id<InfobarBadgeTabHelperDelegate> delegate); void SetDelegate(id<InfobarBadgeTabHelperDelegate> delegate);
// Sets the LegacyInfobarBadgeTabHelperDelegate to |delegate|.
// TODO(crbug.com/980800): Remove once BadgeMediator is the receiver of
// |delegate_|.
void SetLegacyDelegate(
id<LegacyInfobarBadgeTabHelperDelegate> legacy_delegate);
// Updates Infobar badge for the case where Infobar of |infobar_type| was // Updates Infobar badge for the case where Infobar of |infobar_type| was
// accepted. // accepted.
void UpdateBadgeForInfobarAccepted(InfobarType infobar_type); void UpdateBadgeForInfobarAccepted(InfobarType infobar_type);
...@@ -44,14 +39,6 @@ class InfobarBadgeTabHelper ...@@ -44,14 +39,6 @@ class InfobarBadgeTabHelper
// Returns all BadgeItems for the TabHelper Webstate. // Returns all BadgeItems for the TabHelper Webstate.
std::vector<id<BadgeItem>> GetInfobarBadgeItems(); std::vector<id<BadgeItem>> GetInfobarBadgeItems();
// Returns wheter an Infobar badge is being displayed for the TabHelper
// Webstate.
bool is_infobar_displaying();
// Returns whether the Infobar badge is accepted.
bool is_badge_accepted();
// Returns the type of the Infobar being displayed.
InfobarType infobar_type();
~InfobarBadgeTabHelper() override; ~InfobarBadgeTabHelper() override;
private: private:
...@@ -74,15 +61,6 @@ class InfobarBadgeTabHelper ...@@ -74,15 +61,6 @@ class InfobarBadgeTabHelper
// Holds the state of each displaying badge keyed by its InfobarType. // Holds the state of each displaying badge keyed by its InfobarType.
std::unordered_map<InfobarType, InfobarBadgeModel*> infobar_badge_models_; std::unordered_map<InfobarType, InfobarBadgeModel*> infobar_badge_models_;
// Returns wheter an Infobar is being displayed.
bool is_infobar_displaying_;
// The type of the Infobar being displayed.
InfobarType infobar_type_;
// Returns whether the Infobar badge is accepted.
bool is_badge_accepted_ = false;
// Legacy delegate which displays the Infobar badge.
__weak id<LegacyInfobarBadgeTabHelperDelegate> legacy_delegate_ = nil;
WEB_STATE_USER_DATA_KEY_DECL(); WEB_STATE_USER_DATA_KEY_DECL();
DISALLOW_COPY_AND_ASSIGN(InfobarBadgeTabHelper); DISALLOW_COPY_AND_ASSIGN(InfobarBadgeTabHelper);
}; };
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "ios/chrome/browser/infobars/infobar_badge_model.h" #include "ios/chrome/browser/infobars/infobar_badge_model.h"
#include "ios/chrome/browser/infobars/infobar_badge_tab_helper_delegate.h" #include "ios/chrome/browser/infobars/infobar_badge_tab_helper_delegate.h"
#include "ios/chrome/browser/infobars/infobar_manager_impl.h" #include "ios/chrome/browser/infobars/infobar_manager_impl.h"
#include "ios/chrome/browser/infobars/legacy_infobar_badge_tab_helper_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h" #import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/infobar_ui_delegate.h" #import "ios/chrome/browser/ui/infobars/infobar_ui_delegate.h"
#import "ios/web/public/web_state/web_state.h" #import "ios/web/public/web_state/web_state.h"
...@@ -33,23 +32,13 @@ void InfobarBadgeTabHelper::SetDelegate( ...@@ -33,23 +32,13 @@ void InfobarBadgeTabHelper::SetDelegate(
delegate_ = delegate; delegate_ = delegate;
} }
void InfobarBadgeTabHelper::SetLegacyDelegate(
id<LegacyInfobarBadgeTabHelperDelegate> legacy_delegate) {
legacy_delegate_ = legacy_delegate;
}
void InfobarBadgeTabHelper::UpdateBadgeForInfobarAccepted( void InfobarBadgeTabHelper::UpdateBadgeForInfobarAccepted(
InfobarType infobar_type) { InfobarType infobar_type) {
if (legacy_delegate_) {
legacy_delegate_.badgeState |= InfobarBadgeStateAccepted;
is_badge_accepted_ = true;
} else {
InfobarBadgeModel* badgeModel = InfobarBadgeModel* badgeModel =
[[InfobarBadgeModel alloc] initWithInfobarType:infobar_type [[InfobarBadgeModel alloc] initWithInfobarType:infobar_type
accepted:YES]; accepted:YES];
[delegate_ updateInfobarBadge:badgeModel]; [delegate_ updateInfobarBadge:badgeModel];
infobar_badge_models_[infobar_type] = badgeModel; infobar_badge_models_[infobar_type] = badgeModel;
}
} }
std::vector<id<BadgeItem>> InfobarBadgeTabHelper::GetInfobarBadgeItems() { std::vector<id<BadgeItem>> InfobarBadgeTabHelper::GetInfobarBadgeItems() {
...@@ -61,24 +50,12 @@ std::vector<id<BadgeItem>> InfobarBadgeTabHelper::GetInfobarBadgeItems() { ...@@ -61,24 +50,12 @@ std::vector<id<BadgeItem>> InfobarBadgeTabHelper::GetInfobarBadgeItems() {
return infobar_badges_items; return infobar_badges_items;
} }
bool InfobarBadgeTabHelper::is_infobar_displaying() {
return is_infobar_displaying_;
}
InfobarType InfobarBadgeTabHelper::infobar_type() {
return infobar_type_;
}
bool InfobarBadgeTabHelper::is_badge_accepted() {
return is_badge_accepted_;
}
InfobarBadgeTabHelper::~InfobarBadgeTabHelper() = default; InfobarBadgeTabHelper::~InfobarBadgeTabHelper() = default;
#pragma mark - Private #pragma mark - Private
InfobarBadgeTabHelper::InfobarBadgeTabHelper(web::WebState* web_state) InfobarBadgeTabHelper::InfobarBadgeTabHelper(web::WebState* web_state)
: infobar_observer_(this), is_infobar_displaying_(false) { : infobar_observer_(this) {
infobars::InfoBarManager* infoBarManager = infobars::InfoBarManager* infoBarManager =
InfoBarManagerImpl::FromWebState(web_state); InfoBarManagerImpl::FromWebState(web_state);
if (infoBarManager) { if (infoBarManager) {
...@@ -90,11 +67,6 @@ InfobarBadgeTabHelper::InfobarBadgeTabHelper(web::WebState* web_state) ...@@ -90,11 +67,6 @@ InfobarBadgeTabHelper::InfobarBadgeTabHelper(web::WebState* web_state)
void InfobarBadgeTabHelper::OnInfoBarAdded(infobars::InfoBar* infobar) { void InfobarBadgeTabHelper::OnInfoBarAdded(infobars::InfoBar* infobar) {
this->UpdateBadgeForInfobar(infobar, true); this->UpdateBadgeForInfobar(infobar, true);
// Set the badgeState to None to allow for selecting the infobar when the
// banner is being presented.
if (legacy_delegate_) {
legacy_delegate_.badgeState = InfobarBadgeStateNone;
}
} }
void InfobarBadgeTabHelper::OnInfoBarRemoved(infobars::InfoBar* infobar, void InfobarBadgeTabHelper::OnInfoBarRemoved(infobars::InfoBar* infobar,
...@@ -114,12 +86,6 @@ void InfobarBadgeTabHelper::UpdateBadgeForInfobar(infobars::InfoBar* infobar, ...@@ -114,12 +86,6 @@ void InfobarBadgeTabHelper::UpdateBadgeForInfobar(infobars::InfoBar* infobar,
InfoBarIOS* infobar_ios = static_cast<InfoBarIOS*>(infobar); InfoBarIOS* infobar_ios = static_cast<InfoBarIOS*>(infobar);
id<InfobarUIDelegate> controller_ = infobar_ios->InfobarUIDelegate(); id<InfobarUIDelegate> controller_ = infobar_ios->InfobarUIDelegate();
if (IsInfobarUIRebootEnabled() && controller_.hasBadge) { if (IsInfobarUIRebootEnabled() && controller_.hasBadge) {
if (legacy_delegate_) {
is_infobar_displaying_ = display;
infobar_type_ = controller_.infobarType;
[legacy_delegate_ displayBadge:display type:infobar_type_];
return;
}
InfobarType infobar_type = controller_.infobarType; InfobarType infobar_type = controller_.infobarType;
if (display) { if (display) {
InfobarBadgeModel* new_badge = InfobarBadgeModel* new_badge =
......
...@@ -9,10 +9,11 @@ ...@@ -9,10 +9,11 @@
#include "base/test/scoped_task_environment.h" #include "base/test/scoped_task_environment.h"
#include "ios/chrome/browser/browser_state/test_chrome_browser_state.h" #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
#include "ios/chrome/browser/infobars/infobar.h" #include "ios/chrome/browser/infobars/infobar.h"
#include "ios/chrome/browser/infobars/infobar_badge_tab_helper_delegate.h"
#include "ios/chrome/browser/infobars/infobar_container_ios.h" #include "ios/chrome/browser/infobars/infobar_container_ios.h"
#include "ios/chrome/browser/infobars/infobar_manager_impl.h" #include "ios/chrome/browser/infobars/infobar_manager_impl.h"
#import "ios/chrome/browser/infobars/infobar_type.h" #import "ios/chrome/browser/infobars/infobar_type.h"
#include "ios/chrome/browser/infobars/legacy_infobar_badge_tab_helper_delegate.h" #import "ios/chrome/browser/ui/badges/badge_item.h"
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_confirm_coordinator.h" #import "ios/chrome/browser/ui/infobars/coordinators/infobar_confirm_coordinator.h"
#import "ios/chrome/browser/ui/infobars/infobar_badge_ui_delegate.h" #import "ios/chrome/browser/ui/infobars/infobar_badge_ui_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_container_consumer.h" #import "ios/chrome/browser/ui/infobars/infobar_container_consumer.h"
...@@ -30,16 +31,27 @@ ...@@ -30,16 +31,27 @@
// InfobarTabHelperDelegate for testing. // InfobarTabHelperDelegate for testing.
@interface InfobarBadgeTabHelperTestDelegate @interface InfobarBadgeTabHelperTestDelegate
: NSObject <LegacyInfobarBadgeTabHelperDelegate> : NSObject <InfobarBadgeTabHelperDelegate>
@property(nonatomic, assign) BOOL displayingBadge; @property(nonatomic, assign) BOOL displayingBadge;
@property(nonatomic, assign) InfobarType infobarType; @property(nonatomic, assign) BOOL badgeIsTappable;
@property(nonatomic, assign) BOOL badgeIsAccepted;
@property(nonatomic, assign) BadgeType badgeType;
@end @end
@implementation InfobarBadgeTabHelperTestDelegate @implementation InfobarBadgeTabHelperTestDelegate
@synthesize badgeState = _badgeState; - (void)updateInfobarBadge:(id<BadgeItem>)badgeItem {
- (void)displayBadge:(BOOL)display type:(InfobarType)infobarType { self.badgeIsTappable = badgeItem.isTappable;
self.displayingBadge = display; self.badgeIsAccepted = badgeItem.isAccepted;
self.infobarType = infobarType; self.badgeType = badgeItem.badgeType;
}
- (void)addInfobarBadge:(id<BadgeItem>)badgeItem {
self.displayingBadge = YES;
self.badgeIsTappable = badgeItem.isTappable;
self.badgeIsAccepted = badgeItem.isAccepted;
self.badgeType = badgeItem.badgeType;
}
- (void)removeInfobarBadge:(id<BadgeItem>)badgeItem {
self.displayingBadge = NO;
} }
@end @end
...@@ -123,7 +135,7 @@ class InfobarBadgeTabHelperTest : public PlatformTest { ...@@ -123,7 +135,7 @@ class InfobarBadgeTabHelperTest : public PlatformTest {
// Create the InfobarBadgeTabHelper for web_state_ and set its delegate. // Create the InfobarBadgeTabHelper for web_state_ and set its delegate.
InfobarBadgeTabHelper::CreateForWebState(&web_state_); InfobarBadgeTabHelper::CreateForWebState(&web_state_);
tab_helper()->SetLegacyDelegate(infobar_badge_tab_delegate_); tab_helper()->SetDelegate(infobar_badge_tab_delegate_);
// Configure the fake InfobarContainerCoordinator, and set its baseVC as // Configure the fake InfobarContainerCoordinator, and set its baseVC as
// rootVC. // rootVC.
...@@ -140,7 +152,20 @@ class InfobarBadgeTabHelperTest : public PlatformTest { ...@@ -140,7 +152,20 @@ class InfobarBadgeTabHelperTest : public PlatformTest {
infobar_container_model_.reset( infobar_container_model_.reset(
new InfoBarContainerIOS(infobar_container_coordinator_, nil)); new InfoBarContainerIOS(infobar_container_coordinator_, nil));
infobar_container_model_->ChangeInfoBarManager(GetInfobarManager()); infobar_container_model_->ChangeInfoBarManager(GetInfobarManager());
}
~InfobarBadgeTabHelperTest() override {
if (infobar_container_coordinator_.bannerIsPresenting) {
[infobar_container_coordinator_ dismissBanner];
EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout(
base::test::ios::kWaitForUIElementTimeout, ^bool {
return !infobar_container_coordinator_.bannerIsPresenting;
}));
}
}
// Adds an Infobar to the InfobarManager.
void AddInfoBar() {
// Create and configure the InfobarCoordinator. // Create and configure the InfobarCoordinator.
TestInfoBarDelegate* test_infobar_delegate = TestInfoBarDelegate* test_infobar_delegate =
new TestInfoBarDelegate(@"Title"); new TestInfoBarDelegate(@"Title");
...@@ -158,16 +183,6 @@ class InfobarBadgeTabHelperTest : public PlatformTest { ...@@ -158,16 +183,6 @@ class InfobarBadgeTabHelperTest : public PlatformTest {
std::make_unique<InfoBarIOS>(coordinator, std::move(infobar_delegate))); std::make_unique<InfoBarIOS>(coordinator, std::move(infobar_delegate)));
} }
~InfobarBadgeTabHelperTest() override {
if (infobar_container_coordinator_.bannerIsPresenting) {
[infobar_container_coordinator_ dismissBanner];
EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout(
base::test::ios::kWaitForUIElementTimeout, ^bool {
return !infobar_container_coordinator_.bannerIsPresenting;
}));
}
}
// Returns InfobarBadgeTabHelper attached to web_state_. // Returns InfobarBadgeTabHelper attached to web_state_.
InfobarBadgeTabHelper* tab_helper() { InfobarBadgeTabHelper* tab_helper() {
return InfobarBadgeTabHelper::FromWebState(&web_state_); return InfobarBadgeTabHelper::FromWebState(&web_state_);
...@@ -190,45 +205,40 @@ class InfobarBadgeTabHelperTest : public PlatformTest { ...@@ -190,45 +205,40 @@ class InfobarBadgeTabHelperTest : public PlatformTest {
ScopedKeyWindow scoped_key_window_; ScopedKeyWindow scoped_key_window_;
}; };
// Test each UpdateBadge public method individually. // Test the badge state after changes to the state of an Infobar. Infobar badges
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeStates) { // should always be tappable.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeState) {
EXPECT_FALSE(infobar_badge_tab_delegate_.displayingBadge);
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeIsTappable);
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeIsAccepted);
AddInfoBar();
EXPECT_TRUE(infobar_badge_tab_delegate_.displayingBadge);
EXPECT_TRUE(infobar_badge_tab_delegate_.badgeIsTappable);
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeIsAccepted);
// Test that accepting the Infobar sets the badge to accepted state. // Test that accepting the Infobar sets the badge to accepted state.
tab_helper()->UpdateBadgeForInfobarAccepted( tab_helper()->UpdateBadgeForInfobarAccepted(
InfobarType::kInfobarTypePasswordSave); InfobarType::kInfobarTypePasswordSave);
EXPECT_TRUE(infobar_badge_tab_delegate_.badgeState & EXPECT_TRUE(infobar_badge_tab_delegate_.badgeIsTappable);
InfobarBadgeStateAccepted); EXPECT_TRUE(infobar_badge_tab_delegate_.badgeIsAccepted);
}
// Test the initial badge state once the banner has been presented.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeStateOnBannerPresentation) {
EXPECT_TRUE(infobar_badge_tab_delegate_.displayingBadge);
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeState);
}
// Test that the correct InfobarType is set.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeType) {
EXPECT_EQ(infobar_badge_tab_delegate_.infobarType,
InfobarType::kInfobarTypePasswordSave);
} }
// Tests that the InfobarBadge is still being displayed after dismissing the // Tests that the InfobarBadge has not been removed after dismissing the
// InfobarBanner. // InfobarBanner.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerDismissal) { TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerDismissal) {
AddInfoBar();
[infobar_container_coordinator_ dismissBanner]; [infobar_container_coordinator_ dismissBanner];
EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout( EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout(
base::test::ios::kWaitForUIElementTimeout, ^bool { base::test::ios::kWaitForUIElementTimeout, ^bool {
return !infobar_container_coordinator_.bannerIsPresenting; return !infobar_container_coordinator_.bannerIsPresenting;
})); }));
EXPECT_TRUE(infobar_badge_tab_delegate_.displayingBadge); EXPECT_TRUE(infobar_badge_tab_delegate_.displayingBadge);
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeState &
InfobarBadgeStateSelected);
} }
// Test that the Accepted badge state remains after dismissing the // Test that the Accepted badge state remains after dismissing the
// InfobarBanner. // InfobarBanner.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerAccepted) { TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerAccepted) {
EXPECT_FALSE(infobar_badge_tab_delegate_.badgeState & AddInfoBar();
InfobarBadgeStateAccepted); EXPECT_FALSE(infobar_badge_tab_delegate_.badgeIsAccepted);
tab_helper()->UpdateBadgeForInfobarAccepted( tab_helper()->UpdateBadgeForInfobarAccepted(
InfobarType::kInfobarTypePasswordSave); InfobarType::kInfobarTypePasswordSave);
[infobar_container_coordinator_ dismissBanner]; [infobar_container_coordinator_ dismissBanner];
...@@ -236,12 +246,12 @@ TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerAccepted) { ...@@ -236,12 +246,12 @@ TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnBannerAccepted) {
base::test::ios::kWaitForUIElementTimeout, ^bool { base::test::ios::kWaitForUIElementTimeout, ^bool {
return !infobar_container_coordinator_.bannerIsPresenting; return !infobar_container_coordinator_.bannerIsPresenting;
})); }));
EXPECT_TRUE(infobar_badge_tab_delegate_.badgeState & EXPECT_TRUE(infobar_badge_tab_delegate_.badgeIsAccepted);
InfobarBadgeStateAccepted);
} }
// Test that removing the InfobarView doesn't stop displaying the badge. // Test that removing the InfobarView doesn't stop displaying the badge.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarViewRemoval) { TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarViewRemoval) {
AddInfoBar();
[infobar_container_coordinator_ dismissBanner]; [infobar_container_coordinator_ dismissBanner];
EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout( EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout(
base::test::ios::kWaitForUIElementTimeout, ^bool { base::test::ios::kWaitForUIElementTimeout, ^bool {
...@@ -253,6 +263,7 @@ TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarViewRemoval) { ...@@ -253,6 +263,7 @@ TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarViewRemoval) {
// Test that destroying the InfobarView stops displaying the badge. // Test that destroying the InfobarView stops displaying the badge.
TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarDestroyal) { TEST_F(InfobarBadgeTabHelperTest, TestInfobarBadgeOnInfobarDestroyal) {
AddInfoBar();
[infobar_container_coordinator_ dismissBanner]; [infobar_container_coordinator_ dismissBanner];
EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout( EXPECT_TRUE(base::test::ios::WaitUntilConditionOrTimeout(
base::test::ios::kWaitForUIElementTimeout, ^bool { base::test::ios::kWaitForUIElementTimeout, ^bool {
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_INFOBARS_LEGACY_INFOBAR_BADGE_TAB_HELPER_DELEGATE_H_
#define IOS_CHROME_BROWSER_INFOBARS_LEGACY_INFOBAR_BADGE_TAB_HELPER_DELEGATE_H_
#import <Foundation/Foundation.h>
#import "ios/chrome/browser/infobars/infobar_type.h"
// States for the InfobarBadge.
typedef NS_OPTIONS(NSUInteger, InfobarBadgeState) {
// Default state. e.g. the Banner is being displayed or there's nothing
// presenting.
InfobarBadgeStateNone = 0,
// The InfobarBadge is selected. e.g. The InfobarBadge was tapped so the
// InfobarModal has been presented.
InfobarBadgeStateSelected = 1 << 0,
// The InfobarBadge is accepted. e.g. The Infobar was accepted/confirmed, and
// the Infobar action has taken place.
InfobarBadgeStateAccepted = 1 << 1,
};
@protocol LegacyInfobarBadgeTabHelperDelegate
// Asks the delegate to display or stop displaying a badge.
- (void)displayBadge:(BOOL)display type:(InfobarType)infobarType;
// Current state for the displayed InfobarBadge.
@property(nonatomic, assign) InfobarBadgeState badgeState;
@end
#endif // IOS_CHROME_BROWSER_INFOBARS_LEGACY_INFOBAR_BADGE_TAB_HELPER_DELEGATE_H_
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