Commit 44c4433a authored by Nazerke's avatar Nazerke Committed by Commit Bot

[iOS][coordinator] Modernize Activity Overlay Coordinator.

This CL modernizes the ActivityOverlayCoordinator to use the superclass
-initWithBaseViewController:browser:  initializer.

Also this CL updates unit tests for Activity Overlay Coordinator.

Bug: 1029346
Change-Id: I3e16373e7096355c7be9b1a7b1df53f1de4cb0c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2019030
Commit-Queue: Nazerke Kalidolda <nazerke@google.com>
Auto-Submit: Nazerke Kalidolda <nazerke@google.com>
Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#736921}
parent 0a9c8204
......@@ -4190,8 +4190,9 @@ NSString* const kBrowserViewControllerSnackbarCategory =
[self.activityOverlayCoordinator stop];
self.activityOverlayCoordinator = nil;
} else if (!self.activityOverlayCoordinator) {
self.activityOverlayCoordinator =
[[ActivityOverlayCoordinator alloc] initWithBaseViewController:self];
self.activityOverlayCoordinator = [[ActivityOverlayCoordinator alloc]
initWithBaseViewController:self
browser:self.browser];
[self.activityOverlayCoordinator start];
}
}
......
......@@ -63,6 +63,7 @@ source_set("unit_tests") {
":selector_coordinator",
"//base",
"//base/test:test_support",
"//ios/chrome/browser/main:test_support",
"//ios/chrome/test:test_support",
"//testing/gtest",
"//third_party/ocmock",
......
......@@ -10,6 +10,15 @@
// Coordinator for displaying an activity indicator overlay over the current
// context.
@interface ActivityOverlayCoordinator : ChromeCoordinator
// Unavailable, use -initWithBaseViewController:browser:.
- (instancetype)initWithBaseViewController:(UIViewController*)viewController
NS_UNAVAILABLE;
// Unavailable, use -initWithBaseViewController:browser:.
- (instancetype)initWithBaseViewController:(UIViewController*)viewController
browserState:(ChromeBrowserState*)browserState
NS_UNAVAILABLE;
@end
#endif // IOS_CHROME_BROWSER_UI_ELEMENTS_ACTIVITY_OVERLAY_COORDINATOR_H_
......@@ -4,6 +4,8 @@
#import "ios/chrome/browser/ui/elements/activity_overlay_coordinator.h"
#include "base/test/task_environment.h"
#include "ios/chrome/browser/main/test_browser.h"
#import "ios/chrome/browser/ui/elements/activity_overlay_view_controller.h"
#include "testing/gtest/include/gtest/gtest.h"
#import "testing/gtest_mac.h"
......@@ -18,12 +20,15 @@ using ActivityOverlayCoordinatorTest = PlatformTest;
// Tests that invoking start and stop on the coordinator presents and dismisses
// the activity overlay view, respectively.
TEST_F(ActivityOverlayCoordinatorTest, StartAndStop) {
base::test::TaskEnvironment task_environment_;
__weak UIView* overlay_view;
@autoreleasepool {
UIViewController* base_view_controller = [[UIViewController alloc] init];
std::unique_ptr<Browser> browser_ = std::make_unique<TestBrowser>();
ActivityOverlayCoordinator* coordinator =
[[ActivityOverlayCoordinator alloc]
initWithBaseViewController:base_view_controller];
initWithBaseViewController:base_view_controller
browser:browser_.get()];
EXPECT_EQ(0u, [base_view_controller.childViewControllers count]);
......
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