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

import("//build/config/ui.gni")

static_library("renderer_context_menu") {
  sources = [
    "context_menu_content_type.cc",
    "context_menu_content_type.h",
    "context_menu_delegate.cc",
    "context_menu_delegate.h",
    "render_view_context_menu_base.cc",
    "render_view_context_menu_base.h",
    "render_view_context_menu_observer.cc",
    "render_view_context_menu_observer.h",
    "render_view_context_menu_proxy.h",
  ]

  if (toolkit_views) {
    sources += [
      "views/toolkit_delegate_views.cc",
      "views/toolkit_delegate_views.h",
    ]
  }

  deps = [
    "//base",
    "//content/public/browser",
    "//components/search_engines",
    "//third_party/WebKit/public:blink_headers",
  ]
}
