chromium/ios/web/shell/BUILD.gn

# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/ios/rules.gni")
import("//ios/build/config.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//tools/grit/grit_rule.gni")

ios_app_bundle("ios_web_shell") {
  info_plist = "Info.plist"
  bundle_identifier = shared_bundle_id_for_test_apps

  deps = [ ":shell" ]

  assert_no_deps = ios_assert_no_deps
}

bundle_data("shell_bundle_data") {
  visibility = [ ":shell" ]
  sources = [
    "Default.png",
    "[email protected]",
    "[email protected]",
    "[email protected]",
  ]
  outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}

# The scene startup flow (which is needed for multi-window) requires both
# additional plist entries (handled in ../BUILD.gn) and an additional storyboard
# file.
bundle_data_ib_file("base_scene_storyboard") {
  source = "BaseScene.storyboard"
}

bundle_data_ib_file("launchscreen_xib") {
  source = "LaunchScreen.xib"
}

mojom("shell_interfaces") {
  sources = [ "web_usage_controller.mojom" ]
}

source_set("shell") {
  sources = [
    "app_delegate.h",
    "app_delegate.mm",
    "scene_delegate.h",
    "scene_delegate.mm",
    "shell_browser_state.h",
    "shell_browser_state.mm",
    "shell_main_delegate.h",
    "shell_main_delegate.mm",
    "shell_url_request_context_getter.h",
    "shell_url_request_context_getter.mm",
    "shell_web_client.h",
    "shell_web_client.mm",
    "shell_web_main_parts.h",
    "shell_web_main_parts.mm",
    "view_controller.h",
    "view_controller.mm",
    "web_exe_main.mm",
  ]

  deps = [
    ":base_scene_storyboard",
    ":launchscreen_xib",
    ":shell_bundle_data",
    ":shell_interfaces",
    "//base",
    "//ios/net",
    "//ios/web",
    "//ios/web/common:user_agent",
    "//ios/web/public",
    "//ios/web/public/browsing_data",
    "//ios/web/public/init",
    "//net",
    "//net:extras",
    "//ui/base",
    "//ui/display",
  ]

  frameworks = [
    "CoreGraphics.framework",
    "CoreFoundation.framework",
    "Foundation.framework",
    "UIKit.framework",
    "UniformTypeIdentifiers.framework",
  ]
}