| # 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.cc", |
| "ios_chrome_tab_restore_service_factory.h", |
| "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/tab_groups", |
| "//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", |
| "//ios/web/public/session", |
| ] |
| } |
| |
| 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/common:features", |
| "//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", |
| "//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/main/model", |
| "//ios/chrome/browser/ntp/model", |
| "//ios/chrome/browser/sessions/model/proto", |
| "//ios/chrome/browser/shared/model/browser", |
| "//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", |
| "//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" ] |
| |
| # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and |
| # enable the diagnostic by removing this line. |
| configs += [ "//build/config/compiler:no_exit_time_destructors" ] |
| } |