# 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. assert(is_linux, "This file should only be referenced on Linux") import("//build/config/features.gni") import("//build/config/linux/gtk/gtk.gni") import("//printing/buildflags/buildflags.gni") component("libgtkui") { sources = [ "app_indicator_icon.cc", "app_indicator_icon.h", "app_indicator_icon_menu.cc", "app_indicator_icon_menu.h", "chrome_gtk_menu_subclasses.cc", "chrome_gtk_menu_subclasses.h", "gtk_background_painter.cc", "gtk_background_painter.h", "gtk_event_loop.cc", "gtk_event_loop.h", "gtk_key_bindings_handler.cc", "gtk_key_bindings_handler.h", "gtk_signal.h", "gtk_ui.cc", "gtk_ui.h", "gtk_util.cc", "gtk_util.h", "libgtkui_export.h", "menu_util.cc", "menu_util.h", "native_theme_gtk.cc", "native_theme_gtk.h", "nav_button_provider_gtk.cc", "nav_button_provider_gtk.h", "print_dialog_gtk.cc", "print_dialog_gtk.h", "printing_gtk_util.cc", "printing_gtk_util.h", "select_file_dialog_impl.cc", "select_file_dialog_impl.h", "select_file_dialog_impl_gtk.cc", "select_file_dialog_impl_gtk.h", "select_file_dialog_impl_kde.cc", "settings_provider.h", "settings_provider_gtk.cc", "settings_provider_gtk.h", "skia_utils_gtk.cc", "skia_utils_gtk.h", "unity_service.cc", "unity_service.h", "x11_input_method_context_impl_gtk.cc", "x11_input_method_context_impl_gtk.h", ] if (gtk_version <= 3) { sources += [ "gtk_status_icon.cc", "gtk_status_icon.h", ] } configs += [ "//build/config/linux/pangocairo", "//build/config/linux:x11", ] if (use_gio) { sources += [ "settings_provider_gsettings.cc", "settings_provider_gsettings.h", ] configs += [ "//build/linux:gio_config" ] } if (use_cups) { configs += [ "//printing:cups" ] } defines = [ "LIBGTKUI_IMPLEMENTATION" ] deps = [ "//base", "//base:i18n", "//base/third_party/dynamic_annotations", "//build/config/linux/gtk", "//build/config/linux/gtk:gtkprint", "//cc/paint", "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", "//chrome/app:command_ids", "//chrome/app/theme:theme_resources", "//chrome/browser/ui/views", "//chrome/common:buildflags", "//chrome/common:constants", "//components/prefs", "//components/resources", "//content/public/browser", "//printing", "//skia", # GTK pulls pangoft2, which requires HarfBuzz symbols. When linking # our own HarfBuzz avoid mixing symbols from system HarfBuzz and # our own through the indirect dependency to harfbuzz-ng here. "//third_party:freetype_harfbuzz", "//ui/aura", "//ui/base", "//ui/base/ime", "//ui/display", "//ui/events", "//ui/events:dom_keyboard_layout", "//ui/events:dom_keycode_converter", "//ui/events:events_base", "//ui/events/platform/x11", "//ui/gfx", "//ui/gfx/geometry", "//ui/gfx/x", "//ui/native_theme", "//ui/resources", "//ui/shell_dialogs", "//ui/strings", "//ui/views", ] public_deps = [ "//chrome/browser:theme_properties", ] }