Commit 62f8c9e1 authored by Jérôme Lebel's avatar Jérôme Lebel Committed by Commit Bot

[iOS] Using new multiwindow APIs for SSO

Using the new methods from ChromeIdentityServiceImpl:
bool HandleSessionOpenURLContexts(UIScene* scene, NSSet*)
void ApplicationDidDiscardSceneSessions(NSSet*)

 * crrev.com/c/2316308 API declarations
 * crrev.com/i/3182384 Implementing APIs
=> crrev.com/c/2317321 Switching code to use the new APIs

Fixed: 1103833
Change-Id: I97514ea2c05ea3405e83567a5377c4b92673976d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2317321
Commit-Queue: Jérôme Lebel <jlebel@chromium.org>
Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795428}
parent b7708a10
......@@ -230,6 +230,7 @@ source_set("app_internal") {
"//ios/chrome/browser/ui/toolbar:toolbar_ui",
"//ios/chrome/browser/ui/toolbar/public",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/ui/util:ios_multi_window_buildflags",
"//ios/chrome/browser/ui/util:multiwindow_util",
"//ios/chrome/browser/ui/webui:webui_internal",
"//ios/chrome/browser/upgrade",
......
......@@ -22,6 +22,7 @@
#import "ios/chrome/browser/ui/main/scene_controller.h"
#import "ios/chrome/browser/ui/main/scene_delegate.h"
#import "ios/chrome/browser/ui/main/scene_state.h"
#include "ios/chrome/browser/ui/util/multi_window_buildflags.h"
#include "ios/chrome/browser/ui/util/multi_window_support.h"
#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
#include "ios/public/provider/chrome/browser/signin/chrome_identity_service.h"
......@@ -218,6 +219,16 @@
[_memoryHelper handleMemoryPressure];
}
#if BUILDFLAG(IOS_MULTIWINDOW_ENABLED)
- (void)application:(UIApplication*)application
didDiscardSceneSessions:(NSSet<UISceneSession*>*)sceneSessions
API_AVAILABLE(ios(13)) {
ios::GetChromeBrowserProvider()
->GetChromeIdentityService()
->ApplicationDidDiscardSceneSessions(sceneSessions);
}
#endif // BUILDFLAG(IOS_MULTIWINDOW_ENABLED)
#pragma mark - Scenes lifecycle
- (NSInteger)foregroundSceneCount {
......
......@@ -2072,11 +2072,11 @@ const char kMultiWindowOpenInNewWindowHistogram[] =
for (UIOpenURLContext* context : URLContexts) {
URLOpenerParams* options =
[[URLOpenerParams alloc] initWithUIOpenURLContext:context];
NSSet* URLContextSet = [NSSet setWithObject:context];
if (!ios::GetChromeBrowserProvider()
->GetChromeIdentityService()
->HandleApplicationOpenURL([UIApplication sharedApplication],
context.URL,
[options toLaunchOptions])) {
->HandleSessionOpenURLContexts(self.sceneState.scene,
URLContextSet)) {
[URLsToOpen addObject:options];
}
}
......
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