# 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.

source_set("handoff") {
  if (is_mac || is_ios) {
    sources = [
      "handoff_manager.h",
      "handoff_manager.mm",
      "handoff_utility.h",
      "handoff_utility.mm",
    ]
    deps = [
      "//base",
      "//net",
      "//url",
    ]
  }
  if (is_ios) {
    sources += [
      "pref_names_ios.cc",
      "pref_names_ios.h",
    ]
    deps += [ "//components/pref_registry" ]
  }
}
