| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| } |
| |
| config("implementation") { |
| defines = [ "SESSIONS_IMPLEMENTATION" ] |
| } |
| |
| if (!is_ios) { |
| # GYP version: components/sessions.gypi:sessions_content |
| component("sessions") { |
| sources = [ |
| "content/content_live_tab.cc", |
| "content/content_live_tab.h", |
| "content/content_platform_specific_tab_data.cc", |
| "content/content_platform_specific_tab_data.h", |
| "content/content_serialized_navigation_builder.cc", |
| "content/content_serialized_navigation_builder.h", |
| "content/content_serialized_navigation_driver.cc", |
| "content/content_serialized_navigation_driver.h", |
| ] |
| |
| configs += [ ":implementation" ] |
| |
| public_deps = [ |
| ":shared", |
| "//content/public/browser", |
| ] |
| |
| deps = [ |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//content/public/common", |
| "//ui/base", |
| "//url", |
| ] |
| } |
| } else { |
| source_set("sessions") { |
| sources = [ |
| "ios/ios_live_tab.h", |
| "ios/ios_live_tab.mm", |
| "ios/ios_serialized_navigation_builder.h", |
| "ios/ios_serialized_navigation_builder.mm", |
| "ios/ios_serialized_navigation_driver.cc", |
| "ios/ios_serialized_navigation_driver.h", |
| ] |
| |
| public_deps = [ |
| ":shared", |
| "//ios/web", |
| ] |
| |
| deps = [ |
| "//base", |
| ] |
| } |
| } |
| |
| # Sources shared between the content and iOS implementations. |
| source_set("shared") { |
| visibility = [ ":*" ] |
| |
| sources = [ |
| "core/base_session_service.cc", |
| "core/base_session_service.h", |
| "core/base_session_service_commands.cc", |
| "core/base_session_service_commands.h", |
| "core/base_session_service_delegate.h", |
| "core/live_tab.cc", |
| "core/live_tab.h", |
| "core/live_tab_context.h", |
| "core/serialized_navigation_driver.h", |
| "core/serialized_navigation_entry.cc", |
| "core/serialized_navigation_entry.h", |
| "core/session_backend.cc", |
| "core/session_backend.h", |
| "core/session_command.cc", |
| "core/session_command.h", |
| "core/session_constants.cc", |
| "core/session_constants.h", |
| "core/session_id.cc", |
| "core/session_id.h", |
| "core/session_service_commands.cc", |
| "core/session_service_commands.h", |
| "core/session_types.cc", |
| "core/session_types.h", |
| "core/tab_restore_service.cc", |
| "core/tab_restore_service.h", |
| "core/tab_restore_service_client.cc", |
| "core/tab_restore_service_client.h", |
| "core/tab_restore_service_helper.cc", |
| "core/tab_restore_service_helper.h", |
| "core/tab_restore_service_observer.h", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "core/in_memory_tab_restore_service.cc", |
| "core/in_memory_tab_restore_service.h", |
| ] |
| } else { |
| sources += [ |
| "core/persistent_tab_restore_service.cc", |
| "core/persistent_tab_restore_service.h", |
| ] |
| } |
| |
| configs += [ ":implementation" ] |
| |
| public_deps = [ |
| "//components/keyed_service/core", |
| "//sync/protocol", |
| ] |
| |
| deps = [ |
| "//base", |
| "//components/keyed_service/core", |
| "//components/variations", |
| "//skia", |
| "//sync", |
| "//ui/base", |
| "//ui/gfx", |
| "//url", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| sources = [ |
| "core/serialized_navigation_entry_test_helper.cc", |
| "core/serialized_navigation_entry_test_helper.h", |
| ] |
| |
| public_deps = [ |
| ":sessions", |
| ] |
| deps = [ |
| "//base", |
| "//skia", |
| "//sync", |
| "//testing/gtest", |
| "//ui/base", # For page_transition_types.h. |
| "//url", |
| ] |
| |
| if (!is_android && !is_ios) { |
| sources += [ |
| "core/base_session_service_test_helper.cc", |
| "core/base_session_service_test_helper.h", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "core/serialized_navigation_entry_unittest.cc", |
| "core/session_backend_unittest.cc", |
| "core/session_types_unittest.cc", |
| "ios/ios_serialized_navigation_builder_unittest.mm", |
| "ios/ios_serialized_navigation_driver_unittest.cc", |
| ] |
| |
| if (!is_ios) { |
| sources += [ |
| "content/content_serialized_navigation_builder_unittest.cc", |
| "content/content_serialized_navigation_driver_unittest.cc", |
| ] |
| } |
| |
| public_deps = [ |
| ":sessions", |
| ] |
| |
| deps = [ |
| ":test_support", |
| "//base/test:test_support", |
| "//sync", |
| "//testing/gtest", |
| "//ui/base", # For page transition types. |
| "//url", |
| ] |
| |
| if (!is_ios) { |
| deps += [ "//content/public/common" ] |
| } |
| } |