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