Commit 57a3a175 authored by David Jean's avatar David Jean Committed by Chromium LUCI CQ

[ios] Remove deprecated keyWindow from content suggestions

Bug: 1086521
Change-Id: I385697702c6a4bf137e58fb86dd0bc9045e75bd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2601358Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Commit-Queue: David Jean <djean@chromium.org>
Cr-Commit-Position: refs/heads/master@{#840549}
parent 0ad31d64
......@@ -78,6 +78,7 @@ source_set("content_suggestions") {
"//ios/chrome/browser/ui/content_suggestions/identifier",
"//ios/chrome/browser/ui/coordinators:chrome_coordinators",
"//ios/chrome/browser/ui/favicon",
"//ios/chrome/browser/ui/main:scene_state_header",
"//ios/chrome/browser/ui/menu",
"//ios/chrome/browser/ui/ntp",
"//ios/chrome/browser/ui/ntp:ntp_internal",
......
......@@ -61,6 +61,8 @@
#import "ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.h"
#import "ios/chrome/browser/ui/content_suggestions/ntp_home_metrics.h"
#import "ios/chrome/browser/ui/content_suggestions/theme_change_delegate.h"
#import "ios/chrome/browser/ui/main/scene_state.h"
#import "ios/chrome/browser/ui/main/scene_state_browser_agent.h"
#import "ios/chrome/browser/ui/menu/action_factory.h"
#import "ios/chrome/browser/ui/menu/menu_histograms.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_feature.h"
......@@ -546,6 +548,12 @@
[self.alertCoordinator stop];
}
- (UIEdgeInsets)safeAreaInsetsForDiscoverFeed {
return [SceneStateBrowserAgent::FromBrowser(self.browser)
->GetSceneState()
.window.rootViewController.view safeAreaInsets];
}
#pragma mark - ContentSuggestionsActionHandler
- (void)loadMoreFeedArticles {
......
......@@ -8,7 +8,8 @@
// Object providing a header view for the content suggestions.
@protocol ContentSuggestionsHeaderProvider
- (nullable UIView*)headerForWidth:(CGFloat)width;
- (nullable UIView*)headerForWidth:(CGFloat)width
safeAreaInsets:(UIEdgeInsets)safeAreaInsets;
@end
......
......@@ -240,7 +240,8 @@ const NSString* kScribbleFakeboxElementId = @"fakebox";
#pragma mark - ContentSuggestionsHeaderProvider
- (UIView*)headerForWidth:(CGFloat)width {
- (UIView*)headerForWidth:(CGFloat)width
safeAreaInsets:(UIEdgeInsets)safeAreaInsets {
if (!self.headerView) {
self.headerView =
base::mac::ObjCCastStrict<ContentSuggestionsHeaderView>(self.view);
......@@ -265,12 +266,10 @@ const NSString* kScribbleFakeboxElementId = @"fakebox";
// screen new tab animation, it's safe to check the rootViewController's
// view instead.
// TODO(crbug.com/791784) : Remove use of rootViewController.
UIView* insetsView = self.headerView;
if (!self.headerView.window) {
insetsView =
[[UIApplication sharedApplication] keyWindow].rootViewController.view;
if (self.headerView.window) {
safeAreaInsets =
self.headerView.window.rootViewController.view.safeAreaInsets;
}
UIEdgeInsets safeAreaInsets = insetsView.safeAreaInsets;
width = std::max<CGFloat>(
0, width - safeAreaInsets.left - safeAreaInsets.right);
......
......@@ -426,7 +426,9 @@ const NSInteger kMaxNumMostVisitedTiles = 4;
}
- (UIView*)headerViewForWidth:(CGFloat)width {
return [self.headerProvider headerForWidth:width];
return [self.headerProvider
headerForWidth:width
safeAreaInsets:[self.discoverFeedDelegate safeAreaInsetsForDiscoverFeed]];
}
- (void)toggleArticlesVisibility {
......
......@@ -12,6 +12,9 @@
// re-created.
- (void)recreateDiscoverFeedViewController;
// Returns current safe area insets for the window owning this discover feed.
- (UIEdgeInsets)safeAreaInsetsForDiscoverFeed;
@end
#endif // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_DISCOVER_FEED_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