# Copyright 2016 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. source_set("model") { sources = [ "ios_chrome_tab_restore_browser_agent.h", "ios_chrome_tab_restore_browser_agent.mm", "ios_chrome_tab_restore_service_client.h", "ios_chrome_tab_restore_service_client.mm", "ios_chrome_tab_restore_service_factory.h", "ios_chrome_tab_restore_service_factory.mm", "live_tab_context_browser_agent.h", "live_tab_context_browser_agent.mm", ] public_deps = [ "//components/sessions", "//ui/base/mojom:ui_base_types", ] deps = [ ":serialisation", ":session_restoration_service", ":session_restoration_service_factory", ":session_util", "//base", "//components/split_tabs", "//components/tab_groups", "//ios/chrome/browser/shared/model/application_context", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/tabs/model", ] frameworks = [ "UIKit.framework" ] } source_set("features") { sources = [ "features.cc", "features.h", ] deps = [ "//base" ] } source_set("restoration_observer") { sources = [ "session_restoration_observer.h" ] public_deps = [ "//base" ] } source_set("serialisation") { visibility = [ ":*" ] sources = [ "tab_group_util.h", "tab_group_util.mm", "web_state_list_serialization.h", "web_state_list_serialization.mm", ] deps = [ ":features", ":session_constants", "//base", "//components/sessions:session_id", "//components/tab_groups", "//ios/chrome/browser/sessions/model/proto", "//ios/chrome/browser/shared/model/url", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/start_surface/ui_bundled:feature_flags", "//ios/web/public", "//ios/web/public/navigation", ] } source_set("session_util") { sources = [ "session_util.h", "session_util.mm", ] deps = [ "//base", "//components/sessions", "//ios/chrome/browser/shared/coordinator/scene:scene_state_header", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/web/public", "//ios/web/public/navigation", ] } source_set("session_saving") { sources = [ "session_saving_scene_agent.h", "session_saving_scene_agent.mm", ] deps = [ ":session_restoration_service", ":session_restoration_service_factory", "//ios/chrome/app/profile", "//ios/chrome/browser/shared/coordinator/scene:observing_scene_agent", "//ios/chrome/browser/shared/model/profile", ] } source_set("session_io") { visibility = [ ":session_restoration_service_impl", ":unit_tests", ] sources = [ "session_io_request.h", "session_io_request.mm", "session_loading.h", "session_loading.mm", ] deps = [ ":session_constants", ":session_internal_util", "//base", "//ios/chrome/browser/shared/model/web_state_list", "//ios/web/public", "//third_party/protobuf:protobuf_lite", ] public_deps = [ "//ios/chrome/browser/sessions/model/proto", "//ios/web/public/session/proto", ] } source_set("session_restoration_service") { sources = [ "session_restoration_service.h", "session_restoration_service_tmpl.h", ] deps = [ "//base", "//components/keyed_service/core", "//ios/web/public", ] public_deps = [ "//ios/web/public/session/proto" ] } source_set("session_restoration_service_impl") { visibility = [ ":session_restoration_service_factory", ":unit_tests", ] sources = [ "session_restoration_scroll_observer.h", "session_restoration_scroll_observer.mm", "session_restoration_service_impl.h", "session_restoration_service_impl.mm", "session_restoration_web_state_list_observer.h", "session_restoration_web_state_list_observer.mm", "session_restoration_web_state_observer.h", "session_restoration_web_state_observer.mm", ] deps = [ ":restoration_observer", ":serialisation", ":session_constants", ":session_internal_util", ":session_io", ":session_restoration_service", "//base", "//ios/chrome/browser/sessions/model/proto", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/web_state_list", "//ios/web/public", "//ios/web/public:web_state_observer", "//ios/web/public/js_messaging", "//ios/web/public/navigation", "//ios/web/public/session/proto", "//ios/web/public/ui", ] } source_set("session_restoration_service_factory") { sources = [ "session_restoration_service_factory.h", "session_restoration_service_factory.mm", ] deps = [ ":session_restoration_service_impl", "//base", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", "//ios/chrome/browser/shared/public/features", ] } source_set("session_constants") { sources = [ "session_constants.h", "session_constants.mm", ] deps = [ "//base" ] } source_set("session_internal_util") { visibility = [ ":*" ] sources = [ "session_internal_util.h", "session_internal_util.mm", ] deps = [ ":serialisation", "//base", "//third_party/protobuf:protobuf_lite", ] } source_set("test_support") { testonly = true sources = [ "proto_util.cc", "proto_util.h", "test_session_restoration_observer.h", "test_session_restoration_observer.mm", "test_session_restoration_service.h", "test_session_restoration_service.mm", ] deps = [ ":restoration_observer", ":session_restoration_service", "//base", "//components/keyed_service/core", "//ios/chrome/browser/sessions/model/proto", "//ios/chrome/browser/shared/model/browser", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", "//ios/web/public", "//ios/web/public/session/proto", "//third_party/protobuf:protobuf_lite", ] } source_set("fake") { testonly = true sources = [ "fake_tab_restore_service.h", "fake_tab_restore_service.mm", ] deps = [ "//base", "//components/sessions", "//components/split_tabs", "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", ] } source_set("unit_tests") { testonly = true sources = [ "proto_util_unittest.cc", "session_internal_util_unittest.mm", "session_io_request_unittest.mm", "session_loading_unittest.mm", "session_restoration_scroll_observer_unittest.mm", "session_restoration_service_factory_unittest.mm", "session_restoration_service_impl_unittest.mm", "session_restoration_web_state_list_observer_unittest.mm", "session_restoration_web_state_observer_unittest.mm", "tab_group_util_unittest.mm", "web_state_list_serialization_unittest.mm", ] deps = [ ":fake", ":features", ":model", ":restoration_observer", ":serialisation", ":session_constants", ":session_internal_util", ":session_io", ":session_restoration_service", ":session_restoration_service_factory", ":session_restoration_service_impl", ":test_support", "//base", "//base/test:test_support", "//components/prefs", "//components/sessions:session_id", "//components/tab_groups", "//ios/chrome/browser/ntp/model", "//ios/chrome/browser/sessions/model/proto", "//ios/chrome/browser/shared/model/browser/test:test_support", "//ios/chrome/browser/shared/model/paths", "//ios/chrome/browser/shared/model/profile/test", "//ios/chrome/browser/shared/model/url:constants", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/model/web_state_list/test:test_support", "//ios/chrome/browser/signin/model:authentication_service_factory", "//ios/chrome/browser/signin/model:test_support", "//ios/chrome/browser/start_surface/ui_bundled:feature_flags", "//ios/chrome/browser/tips_manager/model:factory", "//ios/chrome/browser/web/model:web_internal", "//ios/chrome/test:test_support", "//ios/web/common:user_agent", "//ios/web/navigation:wk_navigation_util", "//ios/web/public/navigation", "//ios/web/public/session/proto", "//ios/web/public/session/proto:proto_test_util", "//ios/web/public/session/proto:proto_util", "//ios/web/public/test", "//ios/web/public/test/fakes", "//ios/web/public/thread", "//ios/web/public/ui", "//testing/gtest", "//third_party/ocmock", "//url", ] frameworks = [ "Foundation.framework" ] }