Commit 64126b4c authored by David Jean's avatar David Jean Committed by Chromium LUCI CQ

[ios] Fix chrome unittests for ios12 deprecation

Bug: 1131852
Change-Id: I3fce51d376a2925c1fc891bdaaff17b0c3dbf50f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627308Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Commit-Queue: David Jean <djean@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843518}
parent 46d734a1
......@@ -7,6 +7,7 @@
#import <MaterialComponents/MaterialOverlayWindow.h>
#import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_constants.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#include "testing/platform_test.h"
#include "third_party/ocmock/gtest_support.h"
......@@ -17,7 +18,7 @@
using SigninPromoViewTest = PlatformTest;
TEST_F(SigninPromoViewTest, ChromiumLogoImage) {
UIWindow* currentWindow = [[UIApplication sharedApplication] keyWindow];
UIWindow* currentWindow = GetAnyKeyWindow();
SigninPromoView* view =
[[SigninPromoView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
view.mode = IdentityPromoViewModeNoAccounts;
......@@ -36,7 +37,7 @@ TEST_F(SigninPromoViewTest, ChromiumLogoImage) {
}
TEST_F(SigninPromoViewTest, SecondaryButtonVisibility) {
UIWindow* currentWindow = [[UIApplication sharedApplication] keyWindow];
UIWindow* currentWindow = GetAnyKeyWindow();
SigninPromoView* view =
[[SigninPromoView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
view.mode = IdentityPromoViewModeNoAccounts;
......
......@@ -264,6 +264,7 @@ source_set("unit_tests") {
"//ios/chrome/app/strings",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/ui/util",
"//testing/gtest",
"//third_party/ocmock",
"//ui/base",
......
......@@ -11,6 +11,7 @@
#include "base/strings/string_split.h"
#include "base/strings/sys_string_conversions.h"
#include "ios/chrome/browser/chrome_paths.h"
#include "ios/chrome/browser/ui/util/uikit_ui_util.h"
#include "ios/chrome/grit/ios_strings.h"
#include "testing/gtest_mac.h"
#include "testing/platform_test.h"
......@@ -31,7 +32,7 @@ class OmniboxTextFieldTest : public PlatformTest {
// so that the pre-edit label's text alignment can be tested.
CGRect rect = CGRectMake(0, 0, 100, 20);
textfield_ = [[OmniboxTextFieldIOS alloc] initWithFrame:rect];
[[[UIApplication sharedApplication] keyWindow] addSubview:textfield_];
[GetAnyKeyWindow() addSubview:textfield_];
}
void TearDown() override { [textfield_ removeFromSuperview]; }
......
......@@ -167,6 +167,7 @@ source_set("unit_tests") {
"//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/main:scene_state_header",
"//ios/chrome/browser/ui/tab_switcher",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/web",
"//ios/chrome/browser/web:page_placeholder",
"//ios/chrome/browser/web:test_support",
......
......@@ -15,6 +15,7 @@
#import "ios/chrome/browser/ui/main/scene_state.h"
#import "ios/chrome/browser/ui/main/scene_state_browser_agent.h"
#include "ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_coordinator_delegate.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#import "ios/chrome/test/block_cleanup_test.h"
#include "ios/web/public/test/web_task_environment.h"
#include "testing/gtest_mac.h"
......@@ -83,7 +84,7 @@ class TabGridCoordinatorTest : public BlockCleanupTest {
incognito_browser_ = std::make_unique<TestBrowser>();
AddAgentsToBrowser(incognito_browser_.get(), scene_state_);
UIWindow* window = [UIApplication sharedApplication].keyWindow;
UIWindow* window = GetAnyKeyWindow();
coordinator_ = [[TabGridCoordinator alloc]
initWithWindow:window
applicationCommandEndpoint:OCMProtocolMock(
......@@ -95,8 +96,7 @@ class TabGridCoordinatorTest : public BlockCleanupTest {
coordinator_.animationsDisabledForTesting = YES;
// TabGirdCoordinator will make its view controller the root, so stash the
// original root view controller before starting |coordinator_|.
original_root_view_controller_ =
[[[UIApplication sharedApplication] keyWindow] rootViewController];
original_root_view_controller_ = [GetAnyKeyWindow() rootViewController];
[coordinator_ start];
......@@ -114,8 +114,7 @@ class TabGridCoordinatorTest : public BlockCleanupTest {
void TearDown() override {
if (original_root_view_controller_) {
[[UIApplication sharedApplication] keyWindow].rootViewController =
original_root_view_controller_;
GetAnyKeyWindow().rootViewController = original_root_view_controller_;
original_root_view_controller_ = nil;
}
[coordinator_ stop];
......
......@@ -57,6 +57,7 @@ source_set("test_support") {
"//ios/chrome/browser/policy:policy",
"//ios/chrome/browser/prefs:browser_prefs",
"//ios/chrome/browser/safe_browsing:test_support",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/ui/util:multiwindow_util",
"//ios/components/webui:url_constants",
"//ios/public/provider/chrome/browser",
......
......@@ -32,6 +32,7 @@
#import "ios/chrome/browser/ui/main/scene_state.h"
#import "ios/chrome/browser/ui/util/multi_window_support.h"
#include "ios/chrome/browser/ui/util/ui_util.h"
#include "ios/chrome/browser/ui/util/uikit_ui_util.h"
#import "ios/chrome/test/app/tab_test_util.h"
#import "ios/web/public/navigation/navigation_context.h"
#import "ios/web/public/navigation/navigation_manager.h"
......@@ -129,7 +130,7 @@ Browser* GetMainBrowser() {
}
UIViewController* GetActiveViewController() {
UIWindow* main_window = [[UIApplication sharedApplication] keyWindow];
UIWindow* main_window = GetAnyKeyWindow();
DCHECK([main_window isKindOfClass:[ChromeOverlayWindow class]]);
UIViewController* main_view_controller = main_window.rootViewController;
......
......@@ -4,6 +4,8 @@
#import "ios/chrome/test/root_view_controller_test.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
......@@ -12,16 +14,13 @@
// the original VC to allow restoring it at the end of the test.
void RootViewControllerTest::SetRootViewController(
UIViewController* new_root_view_controller) {
original_root_view_controller_ =
[[[UIApplication sharedApplication] keyWindow] rootViewController];
[[UIApplication sharedApplication] keyWindow].rootViewController =
new_root_view_controller;
original_root_view_controller_ = [GetAnyKeyWindow() rootViewController];
GetAnyKeyWindow().rootViewController = new_root_view_controller;
}
void RootViewControllerTest::TearDown() {
if (original_root_view_controller_) {
[[UIApplication sharedApplication] keyWindow].rootViewController =
original_root_view_controller_;
GetAnyKeyWindow().rootViewController = original_root_view_controller_;
original_root_view_controller_ = nil;
}
PlatformTest::TearDown();
......
......@@ -6,6 +6,7 @@
#include "base/check_op.h"
#import "ios/chrome/browser/ui/util/multi_window_support.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
......@@ -34,7 +35,7 @@ ScopedKeyWindow::ScopedKeyWindow() {
if (!current_key_window_) {
current_key_window_ =
[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
original_key_window_ = [UIApplication sharedApplication].keyWindow;
original_key_window_ = GetAnyKeyWindow();
}
[current_key_window_ makeKeyAndVisible];
}
......
......@@ -353,6 +353,7 @@ source_set("ios_web_web_state_unittests") {
"//ios/testing:ocmock_support",
"//ios/web",
"//ios/web/common",
"//ios/web/common:uikit",
"//ios/web/common:web_view_creation_util",
"//ios/web/find_in_page",
"//ios/web/js_messaging",
......@@ -453,6 +454,7 @@ source_set("ios_web_web_state_ui_unittests") {
"//ios/net",
"//ios/testing:ocmock_support",
"//ios/web/common",
"//ios/web/common:uikit",
"//ios/web/js_messaging",
"//ios/web/navigation",
"//ios/web/navigation:block_universal_links_buildflags",
......
......@@ -33,6 +33,7 @@ source_set("browsing_data_unittests") {
"//ios/net",
"//ios/net:test_support",
"//ios/web/common",
"//ios/web/common:uikit",
"//ios/web/net/cookies",
"//ios/web/public/test",
"//ios/web/public/test/fakes",
......
......@@ -9,6 +9,7 @@
#include "base/bind.h"
#import "base/test/ios/wait_util.h"
#include "base/test/task_environment.h"
#import "ios/web/common/uikit_ui_util.h"
#include "ios/web/public/test/fakes/fake_browser_state.h"
#include "testing/platform_test.h"
......@@ -110,11 +111,10 @@ class BrowsingDataRemoverTest : public PlatformTest {
public:
void SetUp() override {
PlatformTest::SetUp();
original_root_view_controller_ =
UIApplication.sharedApplication.keyWindow.rootViewController;
original_root_view_controller_ = GetAnyKeyWindow().rootViewController;
UIViewController* controller = [[UIViewController alloc] init];
UIApplication.sharedApplication.keyWindow.rootViewController = controller;
GetAnyKeyWindow().rootViewController = controller;
WKWebViewConfiguration* config = [[WKWebViewConfiguration alloc] init];
WKWebView* web_view = [[WKWebView alloc] initWithFrame:CGRectZero
configuration:config];
......@@ -138,8 +138,7 @@ class BrowsingDataRemoverTest : public PlatformTest {
void TearDown() override {
if (original_root_view_controller_) {
UIApplication.sharedApplication.keyWindow.rootViewController =
original_root_view_controller_;
GetAnyKeyWindow().rootViewController = original_root_view_controller_;
original_root_view_controller_ = nil;
}
PlatformTest::TearDown();
......
......@@ -9,6 +9,7 @@ source_set("fakes") {
deps = [
"//base",
"//ios/web/common",
"//ios/web/common:uikit",
"//ios/web/js_messaging",
"//ios/web/navigation:core",
"//ios/web/public/deprecated",
......
......@@ -9,6 +9,7 @@
#include "base/strings/stringprintf.h"
#include "base/strings/sys_string_conversions.h"
#include "base/task/post_task.h"
#import "ios/web/common/uikit_ui_util.h"
#include "ios/web/public/test/error_test_util.h"
#import "ios/web/public/test/js_test_util.h"
#include "ios/web/public/thread/web_task_traits.h"
......@@ -128,7 +129,7 @@ void FakeWebClient::PrepareErrorPage(
}
UIView* FakeWebClient::GetWindowedContainer() {
return UIApplication.sharedApplication.keyWindow.rootViewController.view;
return GetAnyKeyWindow().rootViewController.view;
}
UserAgentType FakeWebClient::GetDefaultUserAgent(
......
......@@ -96,15 +96,15 @@ TEST_F(WKWebViewSecurityUtilTest, MakingTrustValid) {
base::ScopedCFTypeRef<SecTrustRef> trust =
CreateTestTrust(MakeTestCertChain(kTestSubject));
SecTrustResultType result = kSecTrustResultInvalid;
SecTrustEvaluate(trust, &result);
EXPECT_EQ(kSecTrustResultRecoverableTrustFailure, result);
CFErrorRef error;
BOOL trusted = SecTrustEvaluateWithError(trust, &error);
EXPECT_TRUE(!trusted && error);
// Make sure that trust becomes valid after
// |EnsureFutureTrustEvaluationSucceeds| call.
EnsureFutureTrustEvaluationSucceeds(trust);
SecTrustEvaluate(trust, &result);
EXPECT_EQ(kSecTrustResultProceed, result);
trusted = SecTrustEvaluateWithError(trust, &error);
EXPECT_TRUE(trusted && !error);
}
// Tests CreateCertFromTrust.
......
......@@ -56,6 +56,7 @@ source_set("test_support") {
"//components/crash/core/common",
"//ios/testing:verify_custom_webkit",
"//ios/web",
"//ios/web/common:uikit",
"//ios/web/common:web_view_creation_util",
"//ios/web/navigation:core",
"//ios/web/public/test:util",
......
......@@ -20,8 +20,8 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic) NSURLSessionTaskState state;
@property(nonatomic, nullable, copy) NSURLResponse* response;
- (nullable instancetype)initWithURL:(NSURL*)URL NS_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init NS_UNAVAILABLE;
- (nullable instancetype)initWithURL:(NSURL*)URL; // NS_DESIGNATED_INITIALIZER;
// - (nonnull instancetype)init NS_UNAVAILABLE;
@end
......
......@@ -24,11 +24,9 @@
@synthesize response = _response;
- (instancetype)initWithURL:(NSURL*)URL {
if ((self = [super init])) {
_state = NSURLSessionTaskStateSuspended;
_currentRequest = [NSURLRequest requestWithURL:URL];
_originalRequest = [NSURLRequest requestWithURL:URL];
}
return self;
}
......
......@@ -8,6 +8,7 @@
#include "base/memory/ptr_util.h"
#include "base/scoped_observer.h"
#import "base/test/ios/wait_util.h"
#import "ios/web/common/uikit_ui_util.h"
#import "ios/web/common/web_view_creation_util.h"
#import "ios/web/public/test/js_test_util.h"
#include "ios/web/public/web_state_observer.h"
......@@ -65,8 +66,7 @@ void WebIntTest::SetUp() {
web_state_ = web::WebState::Create(web_state_create_params);
// Resize the webview so that pages can be properly rendered.
web_state()->GetView().frame =
[UIApplication sharedApplication].keyWindow.bounds;
web_state()->GetView().frame = GetAnyKeyWindow().bounds;
web_state()->SetDelegate(&web_state_delegate_);
web_state()->SetKeepRenderProcessAlive(true);
......
......@@ -20,6 +20,7 @@
#import "ios/web/common/crw_content_view.h"
#import "ios/web/common/crw_web_view_content_view.h"
#include "ios/web/common/features.h"
#import "ios/web/common/uikit_ui_util.h"
#import "ios/web/js_messaging/crw_js_injector.h"
#import "ios/web/js_messaging/web_view_js_utils.h"
#include "ios/web/navigation/block_universal_links_buildflags.h"
......@@ -167,10 +168,14 @@ class CRWWebControllerTest : public WebTestWithWebController {
// The value for web view OCMock objects to expect for |-setFrame:|.
CGRect GetExpectedWebViewFrame() const {
CGSize container_view_size =
UIApplication.sharedApplication.keyWindow.bounds.size;
CGSize container_view_size = GetAnyKeyWindow().bounds.size;
#if !defined(__IPHONE_13_0) || __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_13_0
container_view_size.height -=
CGRectGetHeight([UIApplication sharedApplication].statusBarFrame);
#else
container_view_size.height -= CGRectGetHeight(
GetAnyKeyWindow().windowScene.statusBarManager.statusBarFrame);
#endif
return {CGPointZero, container_view_size};
}
......@@ -339,7 +344,7 @@ TEST_F(CRWWebControllerTest, WebViewCreatedAfterEnsureWebViewCreated) {
TEST_F(CRWWebControllerTest, RemoveWebViewFromViewHierarchy) {
// Make sure that the WebController view has a window to avoid stashing the
// WebView once created.
[UIApplication.sharedApplication.keyWindow addSubview:web_controller().view];
[GetAnyKeyWindow() addSubview:web_controller().view];
// Get the web view.
[web_controller() removeWebView];
......
......@@ -18,6 +18,7 @@
#include "base/test/gmock_callback_support.h"
#import "base/test/ios/wait_util.h"
#include "ios/web/common/features.h"
#import "ios/web/common/uikit_ui_util.h"
#import "ios/web/navigation/navigation_context_impl.h"
#import "ios/web/navigation/navigation_item_impl.h"
#import "ios/web/navigation/serializable_user_data_manager_impl.h"
......@@ -1189,7 +1190,7 @@ TEST_F(WebStateImplTest, VisibilitychangeEventFired) {
// Add the WebState to the view hierarchy so the visibilitychange event is
// fired.
UIWindow* window = [UIApplication sharedApplication].keyWindow;
UIWindow* window = GetAnyKeyWindow();
[window addSubview:web_state_->GetView()];
// Load the HTML content.
......
......@@ -15,6 +15,7 @@
#include "base/values.h"
#import "ios/net/protocol_handler_util.h"
#include "ios/web/common/features.h"
#import "ios/web/common/uikit_ui_util.h"
#import "ios/web/navigation/navigation_manager_impl.h"
#import "ios/web/navigation/wk_navigation_util.h"
#include "ios/web/public/js_messaging/web_frame.h"
......@@ -185,8 +186,7 @@ TEST_F(WebStateTest, Snapshot) {
LoadHtml("<html><div style='background-color:#FF0000; width:50%; "
"height:100%;'></div></html>"));
__block bool snapshot_complete = false;
[[[UIApplication sharedApplication] keyWindow]
addSubview:web_state()->GetView()];
[GetAnyKeyWindow() addSubview:web_state()->GetView()];
// The subview is added but not immediately painted, so a small delay is
// necessary.
CGRect rect = [web_state()->GetView() bounds];
......@@ -217,8 +217,7 @@ TEST_F(WebStateTest, Snapshot) {
// Tests that the create PDF method retuns an PDF of a rendered html page.
TEST_F(WebStateTest, CreateFullPagePdf_ValidURL) {
[[[UIApplication sharedApplication] keyWindow]
addSubview:web_state()->GetView()];
[GetAnyKeyWindow() addSubview:web_state()->GetView()];
// Load a URL and some HTML in the WebState.
GURL url("https://www.chromium.org");
......@@ -254,8 +253,7 @@ TEST_F(WebStateTest, CreateFullPagePdf_ValidURL) {
CGSize pdf_size =
CGPDFPageGetBoxRect(CGPDFDocumentGetPage(pdf, 1), kCGPDFMediaBox).size;
CGFloat kSaveAreaTopInset =
UIApplication.sharedApplication.keyWindow.safeAreaInsets.top;
CGFloat kSaveAreaTopInset = GetAnyKeyWindow().safeAreaInsets.top;
EXPECT_GE(pdf_size.height,
UIScreen.mainScreen.bounds.size.height - kSaveAreaTopInset);
EXPECT_GE(pdf_size.width, [[UIScreen mainScreen] bounds].size.width);
......
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