| # 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("sessions") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "ios_chrome_session_tab_helper.h", |
| "ios_chrome_session_tab_helper.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" ] |
| deps = [ |
| ":scene_util", |
| ":serialisation", |
| "//base", |
| "//components/keyed_service/core", |
| "//components/keyed_service/ios", |
| "//components/tab_groups", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/browser", |
| "//ios/chrome/browser/shared/model/browser_state", |
| "//ios/chrome/browser/shared/model/url:constants", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/tabs", |
| "//ios/web", |
| "//ios/web/public/security", |
| "//ios/web/public/session", |
| "//net", |
| "//url", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("scene_util") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "scene_util.h", |
| "scene_util.mm", |
| ] |
| deps = [ "//base" ] |
| frameworks = [ |
| "Foundation.framework", |
| "UIKit.framework", |
| ] |
| } |
| |
| source_set("scene_util_test_support") { |
| testonly = true |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "scene_util_test_support.h", |
| "scene_util_test_support.mm", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("restoration_observer") { |
| sources = [ "session_restoration_observer.h" ] |
| deps = [ "//base" ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| } |
| |
| source_set("restoration_agent") { |
| sources = [ |
| "session_restoration_browser_agent.h", |
| "session_restoration_browser_agent.mm", |
| ] |
| deps = [ |
| ":restoration_observer", |
| ":serialisation", |
| ":session_service", |
| "//components/favicon/ios", |
| "//components/previous_session_info", |
| "//ios/chrome/browser/shared/model/browser", |
| "//ios/chrome/browser/shared/model/browser_state", |
| "//ios/chrome/browser/shared/model/url:constants", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/web:feature_flags", |
| "//ios/chrome/browser/web:page_placeholder", |
| "//ios/chrome/browser/web/session_state", |
| "//ios/chrome/browser/web_state_list", |
| "//ios/chrome/browser/web_state_list/web_usage_enabler", |
| "//ios/web/public/security", |
| "//ios/web/public/session", |
| ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| } |
| |
| source_set("session_service") { |
| sources = [ |
| "session_ios_factory.h", |
| "session_ios_factory.mm", |
| "session_service_ios.h", |
| "session_service_ios.mm", |
| ] |
| deps = [ |
| ":scene_util", |
| ":serialisation", |
| "//base", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/web_state_list", |
| "//ios/web/public", |
| "//ios/web/public/session", |
| ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| } |
| |
| source_set("serialisation") { |
| sources = [ |
| "NSCoder+Compatibility.h", |
| "NSCoder+Compatibility.mm", |
| "session_ios.h", |
| "session_ios.mm", |
| "session_util.h", |
| "session_util.mm", |
| "session_window_ios.h", |
| "session_window_ios.mm", |
| ] |
| deps = [ |
| "//base", |
| "//components/sessions", |
| "//ios/chrome/browser/shared/model/browser_state", |
| "//ios/web", |
| "//ios/web/public/session", |
| ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| } |
| |
| source_set("session_saving") { |
| sources = [ |
| "session_saving_scene_agent.h", |
| "session_saving_scene_agent.mm", |
| ] |
| deps = [ |
| ":restoration_agent", |
| "//ios/chrome/browser/shared/coordinator/scene:observing_scene_agent", |
| "//ios/chrome/browser/shared/model/browser", |
| "//ios/chrome/browser/shared/model/browser_state", |
| "//ios/chrome/browser/shared/model/web_state_list", |
| "//ios/chrome/browser/snapshots", |
| "//ios/chrome/browser/web_state_list/web_usage_enabler", |
| ] |
| configs += [ "//build/config/compiler:enable_arc" ] |
| } |
| |
| source_set("test_support") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "test_session_service.h", |
| "test_session_service.mm", |
| ] |
| deps = [ |
| ":serialisation", |
| ":session_service", |
| "//base", |
| ] |
| } |
| |
| source_set("fake") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "fake_tab_restore_service.h", |
| "fake_tab_restore_service.mm", |
| ] |
| deps = [ "//components/sessions" ] |
| } |
| |
| source_set("unit_tests") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "scene_util_unittest.mm", |
| "session_restoration_browser_agent_unittest.mm", |
| "session_service_ios_unittest.mm", |
| "session_window_ios_unittest.mm", |
| ] |
| deps = [ |
| ":resources_unit_tests", |
| ":restoration_agent", |
| ":restoration_observer", |
| ":scene_util", |
| ":scene_util_test_support", |
| ":serialisation", |
| ":session_service", |
| ":sessions", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//ios/chrome/browser/main", |
| "//ios/chrome/browser/ntp", |
| "//ios/chrome/browser/shared/model/paths", |
| "//ios/chrome/browser/shared/model/browser/test:test_support", |
| "//ios/chrome/browser/shared/model/browser_state:test_support", |
| "//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:signin", |
| "//ios/chrome/browser/signin:test_support", |
| "//ios/chrome/browser/tabs:features", |
| "//ios/chrome/browser/web:web_internal", |
| "//ios/chrome/browser/web_state_list/web_usage_enabler", |
| "//ios/chrome/test:test_support", |
| "//ios/web", |
| "//ios/web/public/session", |
| "//ios/web/public/test", |
| "//ios/web/public/test/fakes", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| } |
| |
| bundle_data("resources_unit_tests") { |
| visibility = [ ":unit_tests" ] |
| testonly = true |
| sources = [ |
| "//ios/chrome/test/data/sessions/corrupted.plist", |
| "//ios/chrome/test/data/sessions/session_m57.plist", |
| "//ios/chrome/test/data/sessions/session_m58.plist", |
| ] |
| outputs = [ "{{bundle_resources_dir}}/ios/chrome/test/data/sessions/{{source_file_part}}" ] |
| } |