Commit fd55c218 authored by sczs's avatar sczs Committed by Commit Bot

Reland "Enables kInfobarUIRebootOnlyiOS13 by default"

This reverts commit 920d8f93.

Reason for revert: Initial CL for Reland

Original change's description:
> Revert "Enables kInfobarUIRebootOnlyiOS13 by default"
>
> This reverts commit b7db0ccb.
>
> Reason for revert: This causes code to dereference nullptr on iOS 12, thus causing consistent crashed.
>
> Original change's description:
> > Enables kInfobarUIRebootOnlyiOS13 by default
> >
> > This is now needed in order to enable this locally and not via a finch
> > config which might not land before the re-sping gets to users.
> >
> > Bug: 1071853
> > Change-Id: I71b42ca95e54197ddf76b4301616be36c37ad1ca
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2157505
> > Commit-Queue: Sergio Collazos <sczs@chromium.org>
> > Reviewed-by: Eugene But <eugenebut@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#760756}
>
> TBR=eugenebut@chromium.org,sczs@chromium.org
>
> Change-Id: I534ea0a7d177a3a5452d91ea4bf945375cd2f606
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1071853, 1073091
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159469
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#760984}

Bug: 1071853, 1073091
Change-Id: I387c0801d9d40001587565be42c1e1055f27d0ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159251Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761990}
parent 07b15aad
......@@ -12,6 +12,7 @@
#import "ios/chrome/browser/infobars/test/fake_infobar_ios.h"
#import "ios/chrome/browser/ui/badges/badge_item.h"
#include "ios/chrome/browser/ui/badges/badge_type_util.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#import "ios/web/public/test/fakes/test_navigation_manager.h"
#import "ios/web/public/test/fakes/test_web_state.h"
......@@ -33,7 +34,8 @@ class InfobarBadgeTabHelperTest : public PlatformTest {
InfobarBadgeTabHelperTest()
: delegate_([[FakeInfobarTabHelperDelegate alloc] init]) {
// Enable kIOSInfobarUIReboot flag.
feature_list_.InitAndEnableFeature(kIOSInfobarUIReboot);
feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
// Setup navigation manager. Needed for InfobarManager.
web_state_.SetNavigationManager(
......
......@@ -59,6 +59,7 @@ source_set("unit_tests") {
"//ios/chrome/browser/passwords:infobar_delegates",
"//ios/chrome/browser/passwords/test",
"//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/infobars:feature_flags",
"//ios/chrome/browser/ui/infobars/test",
"//ios/chrome/browser/web_state_list",
"//ios/chrome/browser/web_state_list:test_support",
......
......@@ -12,6 +12,7 @@
#import "ios/chrome/browser/infobars/test/fake_infobar_ios.h"
#import "ios/chrome/browser/overlays/public/overlay_request_queue.h"
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#import "ios/web/public/test/fakes/test_navigation_manager.h"
#import "ios/web/public/test/fakes/test_web_state.h"
......@@ -25,7 +26,8 @@
class PasswordInfobarBannerInteractionHandlerTest : public PlatformTest {
public:
PasswordInfobarBannerInteractionHandlerTest() {
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
web_state_.SetNavigationManager(
std::make_unique<web::TestNavigationManager>());
InfobarOverlayRequestInserter::CreateForWebState(&web_state_);
......
......@@ -12,6 +12,7 @@
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/commands/application_commands.h"
#import "ios/chrome/browser/ui/commands/command_dispatcher.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/chrome/browser/web_state_list/web_state_opener.h"
......@@ -35,7 +36,8 @@ class PasswordInfobarModalInteractionHandlerTest : public PlatformTest {
[[FakeInfobarUIDelegate alloc] init],
MockIOSChromeSavePasswordInfoBarDelegate::Create(@"username",
@"password")) {
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
[browser_.GetCommandDispatcher()
startDispatchingToTarget:mock_command_receiver_
forProtocol:@protocol(ApplicationSettingsCommands)];
......
......@@ -19,6 +19,7 @@
#include "ios/chrome/browser/overlays/public/overlay_response.h"
#include "ios/chrome/browser/overlays/test/overlay_test_macros.h"
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#import "ios/web/public/test/fakes/test_navigation_manager.h"
#import "ios/web/public/test/fakes/test_web_state.h"
......@@ -39,7 +40,8 @@ class PasswordInfobarModalOverlayRequestCallbackInstallerTest
public:
PasswordInfobarModalOverlayRequestCallbackInstallerTest()
: installer_(&mock_handler_) {
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
// Create the infobar and add it to the WebState's manager.
web_state_.SetNavigationManager(
std::make_unique<web::TestNavigationManager>());
......
......@@ -15,6 +15,7 @@
#import "ios/chrome/browser/overlays/public/infobar_modal/password_infobar_modal_overlay_request_config.h"
#import "ios/chrome/browser/passwords/ios_chrome_save_password_infobar_delegate.h"
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -31,7 +32,8 @@ using infobars::InfoBarDelegate;
class InfobarOverlayRequestFactoryImplTest : public PlatformTest {
public:
InfobarOverlayRequestFactoryImplTest() {
feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
}
InfobarOverlayRequestFactory* factory() { return &factory_; }
......
......@@ -25,6 +25,7 @@
#import "ios/chrome/browser/ui/badges/badge_item.h"
#import "ios/chrome/browser/ui/badges/badge_type.h"
#include "ios/chrome/browser/ui/badges/badge_type_util.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test_infobar_delegate.h"
#import "ios/chrome/browser/web_state_list/fake_web_state_list_delegate.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h"
......@@ -86,7 +87,8 @@ class BadgeMediatorTest : public testing::TestWithParam<TestParam> {
: badge_consumer_([[FakeBadgeConsumer alloc] init]),
browser_state_(TestChromeBrowserState::Builder().Build()),
web_state_list_(&web_state_list_delegate_) {
feature_list_.InitAndEnableFeature(kIOSInfobarUIReboot);
feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
OverlayPresenter::FromBrowser(browser(), OverlayModality::kInfobarBanner)
->SetPresentationContext(&overlay_presentation_context_);
badge_mediator_ = [[BadgeMediator alloc] initWithBrowser:browser()];
......
......@@ -129,6 +129,7 @@ source_set("eg_tests") {
"//ios/chrome/browser/download",
"//ios/chrome/browser/download:test_support",
"//ios/chrome/browser/ui/browser_view",
"//ios/chrome/browser/ui/infobars:feature_flags",
"//ios/chrome/browser/ui/infobars/banners:public",
"//ios/chrome/browser/ui/util",
"//ios/chrome/test:eg_test_support",
......@@ -168,6 +169,7 @@ source_set("eg2_tests") {
"//ios/chrome/browser:chrome_url_constants",
"//ios/chrome/browser/download:mime_types",
"//ios/chrome/browser/download:test_support",
"//ios/chrome/browser/ui/infobars:feature_flags",
"//ios/chrome/browser/ui/infobars/banners:public",
"//ios/chrome/test:eg_test_support+eg2",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
......
......@@ -12,6 +12,7 @@
#include "ios/chrome/browser/download/download_test_util.h"
#include "ios/chrome/browser/download/pass_kit_mime_type.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_constants.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#include "ios/chrome/grit/ios_strings.h"
#import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
#import "ios/chrome/test/earl_grey/chrome_test_case.h"
......@@ -86,7 +87,9 @@ std::unique_ptr<net::test_server::HttpResponse> GetResponse(
// Turn on Messages UI.
#if defined(CHROME_EARL_GREY_1)
_featureList.InitAndEnableFeature(kIOSInfobarUIReboot);
_featureList.InitWithFeatures(
/*enabled_features=*/{kIOSInfobarUIReboot},
/*disabled_features=*/{kInfobarUIRebootOnlyiOS13});
#endif
self.testServer->RegisterRequestHandler(base::Bind(&GetResponse));
......@@ -96,6 +99,7 @@ std::unique_ptr<net::test_server::HttpResponse> GetResponse(
- (AppLaunchConfiguration)appConfigurationForTestCase {
AppLaunchConfiguration config;
config.features_enabled.push_back(kIOSInfobarUIReboot);
config.features_disabled.push_back(kInfobarUIRebootOnlyiOS13);
return config;
}
......
......@@ -20,6 +20,7 @@
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_confirm_coordinator.h"
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_password_coordinator.h"
#import "ios/chrome/browser/ui/infobars/infobar_constants.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/infobar_positioner.h"
#import "ios/chrome/browser/ui/infobars/test/test_infobar_password_delegate.h"
#import "ios/chrome/browser/ui/infobars/test_infobar_delegate.h"
......@@ -70,7 +71,8 @@ class InfobarContainerCoordinatorTest : public PlatformTest {
base_view_controller_([[FakeBaseViewController alloc] init]),
positioner_([[TestContainerCoordinatorPositioner alloc] init]) {
// Enable kIOSInfobarUIReboot flag.
feature_list_.InitAndEnableFeature(kIOSInfobarUIReboot);
feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
// Setup WebstateList, Webstate and NavigationManager (Needed for
// InfobarManager).
......
......@@ -10,6 +10,7 @@
#include "components/infobars/core/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_constants.h"
#import "ios/chrome/browser/ui/infobars/infobar_constants.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/infobar_manager_app_interface.h"
#import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
#import "ios/chrome/test/earl_grey/chrome_matchers.h"
......@@ -90,6 +91,7 @@ void VerifyTestInfoBarVisibleForCurrentTab(bool visible, NSString* message) {
- (AppLaunchConfiguration)appConfigurationForTestCase {
AppLaunchConfiguration config;
config.features_enabled.push_back(kIOSInfobarUIReboot);
config.features_disabled.push_back(kInfobarUIRebootOnlyiOS13);
return config;
}
......@@ -199,7 +201,9 @@ void VerifyTestInfoBarVisibleForCurrentTab(bool visible, NSString* message) {
- (void)testInfobarTopMostVisible {
// Turn on Messages UI.
#if defined(CHROME_EARL_GREY_1)
_featureList.InitAndEnableFeature(kIOSInfobarUIReboot);
_featureList.InitWithFeatures(
/*enabled_features=*/{kIOSInfobarUIReboot},
/*disabled_features=*/{kInfobarUIRebootOnlyiOS13});
#endif
// Open a new tab and navigate to the test page.
......@@ -243,7 +247,9 @@ void VerifyTestInfoBarVisibleForCurrentTab(bool visible, NSString* message) {
- (void)testInfobarTallerLayout {
// Turn on Messages UI.
#if defined(CHROME_EARL_GREY_1)
_featureList.InitAndEnableFeature(kIOSInfobarUIReboot);
_featureList.InitWithFeatures(
/*enabled_features=*/{kIOSInfobarUIReboot},
/*disabled_features=*/{kInfobarUIRebootOnlyiOS13});
#endif
// Open a new tab and navigate to the test page.
......
......@@ -40,8 +40,8 @@ const base::Feature kSaveCardInfobarMessagesUI{
const base::Feature kTranslateInfobarMessagesUI{
"TranslateInfobarMessagesUI", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kInfobarUIRebootOnlyiOS13{
"InfobarUIRebootOnlyiOS13", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kInfobarUIRebootOnlyiOS13{"InfobarUIRebootOnlyiOS13",
base::FEATURE_ENABLED_BY_DEFAULT};
bool IsInfobarUIRebootEnabled() {
if (base::FeatureList::IsEnabled(kInfobarUIRebootOnlyiOS13)) {
......
......@@ -257,7 +257,9 @@ void TestResponseProvider::GetLanguageResponse(
[super setUp];
#if defined(CHROME_EARL_GREY_1)
_featureList.InitAndEnableFeature(kIOSInfobarUIReboot);
_featureList.InitWithFeatures(
/*enabled_features=*/{kIOSInfobarUIReboot},
/*disabled_features=*/{kInfobarUIRebootOnlyiOS13});
#endif
// Set up the fake URL for the translate script to hit the mock HTTP server.
......@@ -276,6 +278,7 @@ void TestResponseProvider::GetLanguageResponse(
- (AppLaunchConfiguration)appConfigurationForTestCase {
AppLaunchConfiguration config;
config.features_enabled.push_back(kIOSInfobarUIReboot);
config.features_disabled.push_back(kInfobarUIRebootOnlyiOS13);
return config;
}
......
......@@ -19,6 +19,7 @@
#import "ios/chrome/browser/passwords/ios_chrome_save_password_infobar_delegate.h"
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/infobars/banners/test/fake_infobar_banner_consumer.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#include "ios/chrome/grit/ios_strings.h"
#import "testing/gtest_mac.h"
......@@ -39,7 +40,8 @@ NSString* const kPassword = @"12345";
class SavePasswordInfobarBannerOverlayMediatorTest : public PlatformTest {
public:
SavePasswordInfobarBannerOverlayMediatorTest() {
feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
}
private:
......
......@@ -42,6 +42,7 @@ source_set("unit_tests") {
"//ios/chrome/browser/overlays/test",
"//ios/chrome/browser/passwords/test",
"//ios/chrome/browser/passwords/test",
"//ios/chrome/browser/ui/infobars:feature_flags",
"//ios/chrome/browser/ui/infobars/modals/test",
"//ios/chrome/browser/ui/infobars/test",
"//ios/chrome/browser/ui/overlays/test",
......
......@@ -17,6 +17,7 @@
#include "ios/chrome/browser/overlays/public/overlay_response.h"
#include "ios/chrome/browser/overlays/test/fake_overlay_request_callback_installer.h"
#import "ios/chrome/browser/passwords/test/mock_ios_chrome_save_passwords_infobar_delegate.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/infobars/modals/test/fake_infobar_password_modal_consumer.h"
#import "ios/chrome/browser/ui/infobars/test/fake_infobar_ui_delegate.h"
#include "testing/gmock/include/gmock/gmock.h"
......@@ -57,7 +58,8 @@ class PasswordInfobarModalOverlayMediatorTest : public PlatformTest {
PresentPasswordSettings::ResponseSupport()}),
delegate_(
OCMStrictProtocolMock(@protocol(OverlayRequestMediatorDelegate))) {
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot}, {});
scoped_feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
{kInfobarUIRebootOnlyiOS13});
request_ = OverlayRequest::CreateWithConfig<
PasswordInfobarModalOverlayRequestConfig>(&infobar_);
callback_installer_.InstallCallbacks(request_.get());
......
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