Skip to content

Commit

Permalink
[iOS][Message] Update passwords flow
Browse files Browse the repository at this point in the history
This CL refactors the passwords banner and modal overlays using
the new default flow.
go/bling-overlay-messages

Fixed: 1449225
Change-Id: Ie9547150c30202ee446426ab09bfa70b72c12892
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4549125
Reviewed-by: Federica Germinario <fedegermi@google.com>
Commit-Queue: Ewann Pellé <ewannpv@chromium.org>
Reviewed-by: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1150605}
  • Loading branch information
Ewann Pelle authored and Chromium LUCI CQ committed May 30, 2023
1 parent f8eb337 commit a205281
Show file tree
Hide file tree
Showing 50 changed files with 353 additions and 1,956 deletions.
1 change: 1 addition & 0 deletions ios/chrome/browser/infobars/overlays/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ source_set("unit_tests") {
"//ios/chrome/browser/overlays",
"//ios/chrome/browser/overlays/public/common",
"//ios/chrome/browser/overlays/public/common/infobars",
"//ios/chrome/browser/overlays/public/default",
"//ios/chrome/browser/overlays/public/infobar_banner",
"//ios/chrome/browser/overlays/public/infobar_modal",
"//ios/chrome/browser/overlays/test",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ source_set("browser_agent_util") {
"//components/safe_browsing/core/common",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/autofill_address_profile",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/confirm",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/passwords",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/save_card",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/sync_error",
"//ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/tailored_security",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,12 @@
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/autofill_address_profile/save_address_profile_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/autofill_address_profile/save_address_profile_infobar_modal_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/confirm/confirm_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/passwords/password_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/passwords/password_infobar_modal_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/save_card/save_card_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/save_card/save_card_infobar_modal_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/sync_error/sync_error_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/tailored_security/tailored_security_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/translate/translate_infobar_banner_interaction_handler.h"
#import "ios/chrome/browser/infobars/overlays/browser_agent/interaction_handlers/translate/translate_infobar_modal_interaction_handler.h"
#import "ios/chrome/browser/overlays/public/infobar_banner/password_infobar_banner_overlay.h"
#import "ios/chrome/browser/overlays/public/infobar_banner/tailored_security_service_infobar_banner_overlay_request_config.h"

#if !defined(__has_feature) || !__has_feature(objc_arc)
Expand All @@ -29,32 +26,12 @@ void AttachInfobarOverlayBrowserAgent(Browser* browser) {
InfobarOverlayBrowserAgent::CreateForBrowser(browser);
InfobarOverlayBrowserAgent* browser_agent =
InfobarOverlayBrowserAgent::FromBrowser(browser);
{
auto banner_handler =
std::make_unique<PasswordInfobarBannerInteractionHandler>(
browser, password_modal::PasswordAction::kSave,
PasswordInfobarBannerOverlayRequestConfig::RequestSupport());
auto modal_handler =
std::make_unique<PasswordInfobarModalInteractionHandler>(
browser, password_modal::PasswordAction::kSave);
browser_agent->AddInfobarInteractionHandler(
std::make_unique<InfobarInteractionHandler>(
InfobarType::kInfobarTypePasswordSave, std::move(banner_handler),
std::move(modal_handler)));
}
{
auto banner_handler =
std::make_unique<PasswordInfobarBannerInteractionHandler>(
browser, password_modal::PasswordAction::kUpdate,
PasswordInfobarBannerOverlayRequestConfig::RequestSupport());
auto modal_handler =
std::make_unique<PasswordInfobarModalInteractionHandler>(
browser, password_modal::PasswordAction::kUpdate);
browser_agent->AddInfobarInteractionHandler(
std::make_unique<InfobarInteractionHandler>(
InfobarType::kInfobarTypePasswordUpdate, std::move(banner_handler),
std::move(modal_handler)));
}

browser_agent->AddDefaultInfobarInteractionHandlerForInfobarType(
InfobarType::kInfobarTypePasswordSave);
browser_agent->AddDefaultInfobarInteractionHandlerForInfobarType(
InfobarType::kInfobarTypePasswordUpdate);

browser_agent->AddInfobarInteractionHandler(
std::make_unique<InfobarInteractionHandler>(
InfobarType::kInfobarTypeConfirm,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ source_set("unit_tests") {
"//ios/chrome/browser/main",
"//ios/chrome/browser/overlays",
"//ios/chrome/browser/overlays/public/common/infobars",
"//ios/chrome/browser/overlays/public/default",
"//ios/chrome/browser/overlays/public/infobar_banner",
"//ios/chrome/browser/overlays/public/infobar_modal",
"//ios/chrome/browser/overlays/test",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#import "ios/chrome/browser/infobars/overlays/infobar_overlay_request_inserter.h"
#import "ios/chrome/browser/infobars/overlays/infobar_overlay_util.h"
#import "ios/chrome/browser/infobars/test/fake_infobar_ios.h"
#import "ios/chrome/browser/overlays/public/infobar_banner/password_infobar_banner_overlay.h"
#import "ios/chrome/browser/overlays/public/default/default_infobar_overlay_request_config.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/web/public/test/fakes/fake_navigation_manager.h"
Expand All @@ -24,7 +24,7 @@
class InfobarBannerInteractionHandlerTest : public PlatformTest {
public:
InfobarBannerInteractionHandlerTest()
: handler_(PasswordInfobarBannerOverlayRequestConfig::RequestSupport()) {
: handler_(DefaultInfobarOverlayRequestConfig::RequestSupport()) {
web_state_.SetNavigationManager(
std::make_unique<web::FakeNavigationManager>());
InfoBarManagerImpl::CreateForWebState(&web_state_);
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit a205281

Please sign in to comment.