Commit 44d25f34 authored by Stepan Khapugin's avatar Stepan Khapugin Committed by Commit Bot

[multiball] Deliver scene-level events on iOS 12.

Deliver AppDelegate events to SceneState. Also splits out
scene target for easier deps management in the future.

Change-Id: Ida5f9d620c7a5999cd71306a9123ef7be976b033
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1826878Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Commit-Queue: Stepan Khapugin <stkhapugin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#700216}
parent b8a3fc56
......@@ -227,6 +227,7 @@ source_set("app_internal") {
"//ios/chrome/browser/ui/first_run",
"//ios/chrome/browser/ui/history",
"//ios/chrome/browser/ui/main",
"//ios/chrome/browser/ui/main:scene",
"//ios/chrome/browser/ui/promos",
"//ios/chrome/browser/ui/settings",
"//ios/chrome/browser/ui/settings:settings_root",
......
......@@ -124,6 +124,10 @@
}
- (void)applicationDidBecomeActive:(UIApplication*)application {
if (!IsMultiwindowSupported()) {
self.sceneState.activationLevel = SceneActivationLevelForegroundActive;
}
startup_loggers::RegisterAppDidBecomeActiveTime();
if ([_appState isInSafeMode])
return;
......@@ -133,6 +137,10 @@
}
- (void)applicationWillResignActive:(UIApplication*)application {
if (!IsMultiwindowSupported()) {
self.sceneState.activationLevel = SceneActivationLevelForegroundInactive;
}
if ([_appState isInSafeMode])
return;
......@@ -142,6 +150,10 @@
// Called when going into the background. iOS already broadcasts, so
// stakeholders can register for it directly.
- (void)applicationDidEnterBackground:(UIApplication*)application {
if (!IsMultiwindowSupported()) {
self.sceneState.activationLevel = SceneActivationLevelBackground;
}
[_appState
applicationDidEnterBackground:application
memoryHelper:_memoryHelper
......@@ -150,6 +162,10 @@
// Called when returning to the foreground.
- (void)applicationWillEnterForeground:(UIApplication*)application {
if (!IsMultiwindowSupported()) {
self.sceneState.activationLevel = SceneActivationLevelForegroundInactive;
}
[_appState applicationWillEnterForeground:application
metricsMediator:_metricsMediator
memoryHelper:_memoryHelper
......
......@@ -4,14 +4,9 @@
import("//ios/build/chrome_build.gni")
source_set("main") {
source_set("scene") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"browser_interface_provider.h",
"browser_view_wrangler.h",
"browser_view_wrangler.mm",
"bvc_container_view_controller.h",
"bvc_container_view_controller.mm",
"scene_controller.h",
"scene_controller.mm",
"scene_delegate.h",
......@@ -19,6 +14,27 @@ source_set("main") {
"scene_state.h",
"scene_state.mm",
]
deps = [
":main",
"//base",
"//ios/chrome/browser/tabs:tabs",
"//ios/chrome/browser/ui/commands:commands",
"//ios/chrome/browser/ui/tab_grid",
]
libs = [ "UIKit.framework" ]
}
source_set("main") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"browser_interface_provider.h",
"browser_view_wrangler.h",
"browser_view_wrangler.mm",
"bvc_container_view_controller.h",
"bvc_container_view_controller.mm",
]
deps = [
"//base",
"//components/translate/core/browser",
......@@ -78,6 +94,7 @@ source_set("unit_tests") {
]
deps = [
":main",
":scene",
"//base",
"//base/test:test_support",
"//components/bookmarks/test",
......
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