Home | History | Annotate | Download | only in base
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9   'targets': [
     10     {
     11       # GN version: //ui/base
     12       'target_name': 'ui_base',
     13       'type': '<(component)',
     14       'dependencies': [
     15         '../../base/base.gyp:base',
     16         '../../base/base.gyp:base_i18n',
     17         '../../base/base.gyp:base_static',
     18         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     19         '../../net/net.gyp:net',
     20         '../../skia/skia.gyp:skia',
     21         '../../third_party/icu/icu.gyp:icui18n',
     22         '../../third_party/icu/icu.gyp:icuuc',
     23         '../../url/url.gyp:url_lib',
     24         '../events/events.gyp:events',
     25         '../events/events.gyp:events_base',
     26         '../events/platform/events_platform.gyp:events_platform',
     27         '../gfx/gfx.gyp:gfx',
     28         '../gfx/gfx.gyp:gfx_geometry',
     29         '../resources/ui_resources.gyp:ui_resources',
     30         '../strings/ui_strings.gyp:ui_strings',
     31       ],
     32       'defines': [
     33         'UI_BASE_IMPLEMENTATION',
     34       ],
     35       'export_dependent_settings': [
     36         '../../net/net.gyp:net',
     37         '../gfx/gfx.gyp:gfx',
     38       ],
     39       'sources' : [
     40         # Note: file list duplicated in GN build.
     41         'accelerators/accelerator.cc',
     42         'accelerators/accelerator.h',
     43         'accelerators/accelerator_manager.cc',
     44         'accelerators/accelerator_manager.h',
     45         'accelerators/menu_label_accelerator_util_linux.cc',
     46         'accelerators/menu_label_accelerator_util_linux.h',
     47         'accelerators/platform_accelerator.h',
     48         'accelerators/platform_accelerator_cocoa.h',
     49         'accelerators/platform_accelerator_cocoa.mm',
     50         'android/system_ui_resource_manager.h',
     51         'android/ui_base_jni_registrar.cc',
     52         'android/ui_base_jni_registrar.h',
     53         'android/view_android.cc',
     54         'android/view_android.h',
     55         'android/window_android.cc',
     56         'android/window_android.h',
     57         'android/window_android_compositor.h',
     58         'android/window_android_observer.h',
     59         'base_window.cc',
     60         'base_window.h',
     61         'clipboard/clipboard.cc',
     62         'clipboard/clipboard.h',
     63         'clipboard/clipboard_android.cc',
     64         'clipboard/clipboard_android_initialization.h',
     65         'clipboard/clipboard_aura.cc',
     66         'clipboard/clipboard_aurax11.cc',
     67         'clipboard/clipboard_constants.cc',
     68         'clipboard/clipboard_mac.mm',
     69         'clipboard/clipboard_types.h',
     70         'clipboard/clipboard_util_win.cc',
     71         'clipboard/clipboard_util_win.h',
     72         'clipboard/clipboard_win.cc',
     73         'clipboard/custom_data_helper.cc',
     74         'clipboard/custom_data_helper.h',
     75         'clipboard/custom_data_helper_linux.cc',
     76         'clipboard/custom_data_helper_mac.mm',
     77         'clipboard/scoped_clipboard_writer.cc',
     78         'clipboard/scoped_clipboard_writer.h',
     79         'cocoa/animation_utils.h',
     80         'cocoa/appkit_utils.h',
     81         'cocoa/appkit_utils.mm',
     82         'cocoa/base_view.h',
     83         'cocoa/base_view.mm',
     84         'cocoa/cocoa_base_utils.h',
     85         'cocoa/cocoa_base_utils.mm',
     86         'cocoa/controls/blue_label_button.h',
     87         'cocoa/controls/blue_label_button.mm',
     88         'cocoa/controls/hover_image_menu_button.h',
     89         'cocoa/controls/hover_image_menu_button.mm',
     90         'cocoa/controls/hover_image_menu_button_cell.h',
     91         'cocoa/controls/hover_image_menu_button_cell.mm',
     92         'cocoa/controls/hyperlink_button_cell.h',
     93         'cocoa/controls/hyperlink_button_cell.mm',
     94         'cocoa/controls/hyperlink_text_view.h',
     95         'cocoa/controls/hyperlink_text_view.mm',
     96         'cocoa/find_pasteboard.h',
     97         'cocoa/find_pasteboard.mm',
     98         'cocoa/flipped_view.h',
     99         'cocoa/flipped_view.mm',
    100         'cocoa/focus_tracker.h',
    101         'cocoa/focus_tracker.mm',
    102         'cocoa/focus_window_set.h',
    103         'cocoa/focus_window_set.mm',
    104         'cocoa/fullscreen_window_manager.h',
    105         'cocoa/fullscreen_window_manager.mm',
    106         'cocoa/hover_button.h',
    107         'cocoa/hover_button.mm',
    108         'cocoa/hover_image_button.h',
    109         'cocoa/hover_image_button.mm',
    110         'cocoa/menu_controller.h',
    111         'cocoa/menu_controller.mm',
    112         'cocoa/nib_loading.h',
    113         'cocoa/nib_loading.mm',
    114         'cocoa/nsgraphics_context_additions.h',
    115         'cocoa/nsgraphics_context_additions.mm',
    116         'cocoa/nsview_additions.h',
    117         'cocoa/nsview_additions.mm',
    118         'cocoa/remote_layer_api.h',
    119         'cocoa/remote_layer_api.mm',
    120         'cocoa/tracking_area.h',
    121         'cocoa/tracking_area.mm',
    122         'cocoa/underlay_opengl_hosting_window.h',
    123         'cocoa/underlay_opengl_hosting_window.mm',
    124         'cocoa/view_description.h',
    125         'cocoa/view_description.mm',
    126         'cocoa/window_size_constants.h',
    127         'cocoa/window_size_constants.mm',
    128         'cursor/cursor.cc',
    129         'cursor/cursor.h',
    130         'cursor/cursor_android.cc',
    131         'cursor/cursor_loader.h',
    132         'cursor/cursor_loader_ozone.cc',
    133         'cursor/cursor_loader_ozone.h',
    134         'cursor/cursor_loader_win.cc',
    135         'cursor/cursor_loader_win.h',
    136         'cursor/cursor_loader_x11.cc',
    137         'cursor/cursor_loader_x11.h',
    138         'cursor/cursor_ozone.cc',
    139         'cursor/cursor_util.cc',
    140         'cursor/cursor_util.h',
    141         'cursor/cursor_win.cc',
    142         'cursor/cursor_x11.cc',
    143         'cursor/cursors_aura.cc',
    144         'cursor/cursors_aura.h',
    145         'cursor/image_cursors.cc',
    146         'cursor/image_cursors.h',
    147         'cursor/ozone/bitmap_cursor_factory_ozone.cc',
    148         'cursor/ozone/bitmap_cursor_factory_ozone.h',
    149         'default_theme_provider.cc',
    150         'default_theme_provider.h',
    151         'default_theme_provider_mac.mm',
    152         'device_form_factor_android.cc',
    153         'device_form_factor_android.h',
    154         'device_form_factor_desktop.cc',
    155         'device_form_factor_ios.mm',
    156         'device_form_factor.h',
    157         'dragdrop/cocoa_dnd_util.h',
    158         'dragdrop/cocoa_dnd_util.mm',
    159         'dragdrop/drag_drop_types.h',
    160         'dragdrop/drag_drop_types_win.cc',
    161         'dragdrop/drag_source_win.cc',
    162         'dragdrop/drag_source_win.h',
    163         'dragdrop/drag_utils.cc',
    164         'dragdrop/drag_utils.h',
    165         'dragdrop/drag_utils_aura.cc',
    166         'dragdrop/drag_utils_mac.mm',
    167         'dragdrop/drag_utils_win.cc',
    168         'dragdrop/drop_target_event.cc',
    169         'dragdrop/drop_target_event.h',
    170         'dragdrop/drop_target_win.cc',
    171         'dragdrop/drop_target_win.h',
    172         'dragdrop/file_info.cc',
    173         'dragdrop/file_info.h',
    174         'dragdrop/os_exchange_data.cc',
    175         'dragdrop/os_exchange_data.h',
    176         'dragdrop/os_exchange_data_provider_aura.cc',
    177         'dragdrop/os_exchange_data_provider_aura.h',
    178         'dragdrop/os_exchange_data_provider_aurax11.cc',
    179         'dragdrop/os_exchange_data_provider_aurax11.h',
    180         'dragdrop/os_exchange_data_provider_mac.h',
    181         'dragdrop/os_exchange_data_provider_mac.mm',
    182         'dragdrop/os_exchange_data_provider_win.cc',
    183         'dragdrop/os_exchange_data_provider_win.h',
    184         'hit_test.h',
    185         'ime/candidate_window.cc',
    186         'ime/candidate_window.h',
    187         'ime/chromeos/character_composer.cc',
    188         'ime/chromeos/character_composer.h',
    189         'ime/chromeos/ime_bridge.cc',
    190         'ime/chromeos/ime_bridge.h',
    191         'ime/chromeos/ime_keymap.cc',
    192         'ime/chromeos/ime_keymap.h',
    193         'ime/chromeos/mock_ime_candidate_window_handler.cc',
    194         'ime/chromeos/mock_ime_candidate_window_handler.h',
    195         'ime/chromeos/mock_ime_engine_handler.cc',
    196         'ime/chromeos/mock_ime_engine_handler.h',
    197         'ime/chromeos/mock_ime_input_context_handler.cc',
    198         'ime/chromeos/mock_ime_input_context_handler.h',
    199         'ime/composition_text.cc',
    200         'ime/composition_text.h',
    201         'ime/composition_text_util_pango.cc',
    202         'ime/composition_text_util_pango.h',
    203         'ime/composition_underline.h',
    204         'ime/dummy_input_method_delegate.cc',
    205         'ime/dummy_input_method_delegate.h',
    206         'ime/infolist_entry.cc',
    207         'ime/infolist_entry.h',
    208         'ime/input_method.h',
    209         'ime/input_method_auralinux.cc',
    210         'ime/input_method_auralinux.h',
    211         'ime/input_method_base.cc',
    212         'ime/input_method_base.h',
    213         'ime/input_method_chromeos.cc',
    214         'ime/input_method_chromeos.h',
    215         'ime/input_method_delegate.h',
    216         'ime/input_method_factory.cc',
    217         'ime/input_method_factory.h',
    218         'ime/input_method_initializer.cc',
    219         'ime/input_method_initializer.h',
    220         'ime/input_method_mac.h',
    221         'ime/input_method_mac.mm',
    222         'ime/input_method_minimal.cc',
    223         'ime/input_method_minimal.h',
    224         'ime/input_method_observer.h',
    225         'ime/input_method_win.cc',
    226         'ime/input_method_win.h',
    227         'ime/linux/fake_input_method_context.cc',
    228         'ime/linux/fake_input_method_context.h',
    229         'ime/linux/fake_input_method_context_factory.cc',
    230         'ime/linux/fake_input_method_context_factory.h',
    231         'ime/linux/linux_input_method_context.h',
    232         'ime/linux/linux_input_method_context_factory.cc',
    233         'ime/linux/linux_input_method_context_factory.h',
    234         'ime/mock_input_method.cc',
    235         'ime/mock_input_method.h',
    236         'ime/remote_input_method_delegate_win.h',
    237         'ime/remote_input_method_win.cc',
    238         'ime/remote_input_method_win.h',
    239         'ime/text_input_client.cc',
    240         'ime/text_input_client.h',
    241         'ime/text_input_focus_manager.cc',
    242         'ime/text_input_focus_manager.h',
    243         'ime/text_input_type.h',
    244         'ime/win/imm32_manager.cc',
    245         'ime/win/imm32_manager.h',
    246         'ime/win/tsf_input_scope.cc',
    247         'ime/win/tsf_input_scope.h',
    248         'l10n/formatter.cc',
    249         'l10n/formatter.h',
    250         'l10n/l10n_font_util.cc',
    251         'l10n/l10n_font_util.h',
    252         'l10n/l10n_util.cc',
    253         'l10n/l10n_util.h',
    254         'l10n/l10n_util_android.cc',
    255         'l10n/l10n_util_android.h',
    256         'l10n/l10n_util_collator.h',
    257         'l10n/l10n_util_mac.h',
    258         'l10n/l10n_util_mac.mm',
    259         'l10n/l10n_util_plurals.cc',
    260         'l10n/l10n_util_plurals.h',
    261         'l10n/l10n_util_posix.cc',
    262         'l10n/l10n_util_win.cc',
    263         'l10n/l10n_util_win.h',
    264         'l10n/time_format.cc',
    265         'l10n/time_format.h',
    266         'layout.cc',
    267         'layout.h',
    268         'layout_mac.mm',
    269         'models/button_menu_item_model.cc',
    270         'models/button_menu_item_model.h',
    271         'models/combobox_model.cc',
    272         'models/combobox_model.h',
    273         'models/combobox_model_observer.h',
    274         'models/dialog_model.cc',
    275         'models/dialog_model.h',
    276         'models/list_model.h',
    277         'models/list_model_observer.h',
    278         'models/list_selection_model.cc',
    279         'models/list_selection_model.h',
    280         'models/menu_model.cc',
    281         'models/menu_model.h',
    282         'models/menu_model_delegate.h',
    283         'models/menu_separator_types.h',
    284         'models/simple_combobox_model.cc',
    285         'models/simple_combobox_model.h',
    286         'models/simple_menu_model.cc',
    287         'models/simple_menu_model.h',
    288         'models/table_model.cc',
    289         'models/table_model.h',
    290         'models/table_model_observer.h',
    291         'models/tree_model.cc',
    292         'models/tree_model.h',
    293         'models/tree_node_iterator.h',
    294         'models/tree_node_model.h',
    295         'nine_image_painter_factory.cc',
    296         'nine_image_painter_factory.h',
    297         'page_transition_types.cc',
    298         'page_transition_types.h',
    299         'page_transition_types_list.h',
    300         'resource/data_pack.cc',
    301         'resource/data_pack.h',
    302         'resource/resource_bundle.cc',
    303         'resource/resource_bundle.h',
    304         'resource/resource_bundle_android.cc',
    305         'resource/resource_bundle_auralinux.cc',
    306         'resource/resource_bundle_ios.mm',
    307         'resource/resource_bundle_mac.mm',
    308         'resource/resource_bundle_win.cc',
    309         'resource/resource_bundle_win.h',
    310         'resource/resource_data_dll_win.cc',
    311         'resource/resource_data_dll_win.h',
    312         'resource/resource_handle.h',
    313         'text/bytes_formatting.cc',
    314         'text/bytes_formatting.h',
    315         'theme_provider.cc',
    316         'theme_provider.h',
    317         'touch/touch_device.cc',
    318         'touch/touch_device.h',
    319         'touch/touch_device_android.cc',
    320         'touch/touch_device_aurax11.cc',
    321         'touch/touch_device_ozone.cc',
    322         'touch/touch_device_win.cc',
    323         'touch/touch_editing_controller.cc',
    324         'touch/touch_editing_controller.h',
    325         'touch/touch_enabled.cc',
    326         'touch/touch_enabled.h',
    327         'ui_base_export.h',
    328         'ui_base_exports.cc',
    329         'ui_base_paths.cc',
    330         'ui_base_paths.h',
    331         'ui_base_switches.cc',
    332         'ui_base_switches.h',
    333         'ui_base_switches_util.cc',
    334         'ui_base_switches_util.h',
    335         'ui_base_types.cc',
    336         'ui_base_types.h',
    337         'view_prop.cc',
    338         'view_prop.h',
    339         'webui/jstemplate_builder.cc',
    340         'webui/jstemplate_builder.h',
    341         'webui/web_ui_util.cc',
    342         'webui/web_ui_util.h',
    343         'win/accessibility_ids_win.h',
    344         'win/accessibility_misc_utils.cc',
    345         'win/accessibility_misc_utils.h',
    346         'win/atl_module.h',
    347         'win/dpi_setup.cc',
    348         'win/dpi_setup.h',
    349         'win/foreground_helper.cc',
    350         'win/foreground_helper.h',
    351         'win/hidden_window.cc',
    352         'win/hidden_window.h',
    353         'win/hwnd_subclass.cc',
    354         'win/hwnd_subclass.h',
    355         'win/internal_constants.cc',
    356         'win/internal_constants.h',
    357         'win/lock_state.cc',
    358         'win/lock_state.h',
    359         'win/message_box_win.cc',
    360         'win/message_box_win.h',
    361         'win/mouse_wheel_util.cc',
    362         'win/mouse_wheel_util.h',
    363         'win/open_file_name_win.cc',
    364         'win/open_file_name_win.h',
    365         'win/scoped_ole_initializer.cc',
    366         'win/scoped_ole_initializer.h',
    367         'win/shell.cc',
    368         'win/shell.h',
    369         'win/touch_input.cc',
    370         'win/touch_input.h',
    371         'win/window_event_target.cc',
    372         'win/window_event_target.h',
    373         'window_open_disposition.cc',
    374         'window_open_disposition.h',
    375         'work_area_watcher_observer.h',
    376         'x/selection_owner.cc',
    377         'x/selection_owner.h',
    378         'x/selection_requestor.cc',
    379         'x/selection_requestor.h',
    380         'x/selection_utils.cc',
    381         'x/selection_utils.h',
    382         'x/x11_foreign_window_manager.cc',
    383         'x/x11_foreign_window_manager.h',
    384         'x/x11_menu_list.cc',
    385         'x/x11_menu_list.h',
    386         'x/x11_util.cc',
    387         'x/x11_util.h',
    388         'x/x11_util_internal.h',
    389       ],
    390       'target_conditions': [
    391         ['OS == "ios"', {
    392           'sources/': [
    393             ['include', '^l10n/l10n_util_mac\\.mm$'],
    394           ],
    395         }],
    396       ],
    397       'conditions': [
    398         ['OS=="ios"', {
    399           # iOS only uses a subset of UI.
    400           'sources/': [
    401             ['exclude', '\\.(cc|mm)$'],
    402             ['include', '_ios\\.(cc|mm)$'],
    403             ['include', '(^|/)ios/'],
    404             ['include', '^l10n/'],
    405             ['include', '^layout'],
    406             ['include', '^resource/'],
    407             ['include', '^ui_base_'],
    408           ],
    409           'link_settings': {
    410             'libraries': [
    411               '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
    412             ],
    413           },
    414         }],
    415         ['use_aura==1', {
    416           'sources/': [
    417             ['exclude', 'clipboard/clipboard_mac.mm'],
    418             ['exclude', 'layout_mac.mm'],
    419             ['exclude', 'work_area_watcher_observer.h'],
    420           ],
    421         }, {  # use_aura!=1
    422           'sources!': [
    423             'cursor/cursor.cc',
    424             'cursor/cursor.h',
    425             'cursor/cursor_loader_x11.cc',
    426             'cursor/cursor_loader_x11.h',
    427             'cursor/cursor_win.cc',
    428             'cursor/cursor_x11.cc',
    429             'x/selection_owner.cc',
    430             'x/selection_owner.h',
    431             'x/selection_requestor.cc',
    432             'x/selection_requestor.h',
    433             'x/selection_utils.cc',
    434             'x/selection_utils.h',
    435           ]
    436         }],
    437         ['use_aura==0 or OS!="linux"', {
    438           'sources!': [
    439             'resource/resource_bundle_auralinux.cc',
    440           ],
    441         }],
    442         ['use_ozone==1', {
    443           'dependencies': [
    444             '../ozone/ozone.gyp:ozone_base',
    445           ],
    446         }],
    447         ['use_aura==1 and OS=="win"', {
    448           'sources/': [
    449             ['exclude', 'dragdrop/drag_utils_aura.cc'],
    450           ],
    451         }],
    452         ['use_glib == 1', {
    453           'dependencies': [
    454             '../../build/linux/system.gyp:fontconfig',
    455             '../../build/linux/system.gyp:glib',
    456           ],
    457         }],
    458         ['desktop_linux == 1 or chromeos == 1', {
    459           'conditions': [
    460             ['toolkit_views==0 and use_aura==0', {
    461               # Note: because of gyp predence rules this has to be defined as
    462               # 'sources/' rather than 'sources!'.
    463               'sources/': [
    464                 ['exclude', '^dragdrop/drag_utils.cc'],
    465                 ['exclude', '^dragdrop/drag_utils.h'],
    466               ],
    467             }, {
    468               'sources/': [
    469                 ['include', '^dragdrop/os_exchange_data.cc'],
    470                 ['include', '^dragdrop/os_exchange_data.h'],
    471                 ['include', '^nine_image_painter_factory.cc'],
    472                 ['include', '^nine_image_painter_factory.h'],
    473               ],
    474             }],
    475           ],
    476         }],
    477         ['use_pango==1', {
    478           'dependencies': [
    479             '../../build/linux/system.gyp:pangocairo',
    480           ],
    481         }],
    482         ['OS=="win" or use_clipboard_aurax11==1', {
    483           'sources!': [
    484             'clipboard/clipboard_aura.cc',
    485           ],
    486         }, {
    487           'sources!': [
    488             'clipboard/clipboard_aurax11.cc',
    489           ],
    490         }],
    491         ['chromeos==1 or (use_aura==1 and OS=="linux" and use_x11==0)', {
    492           'sources!': [
    493             'dragdrop/os_exchange_data_provider_aurax11.cc',
    494             'touch/touch_device.cc',
    495           ],
    496         }, {
    497           'sources!': [
    498             'dragdrop/os_exchange_data_provider_aura.cc',
    499             'dragdrop/os_exchange_data_provider_aura.h',
    500             'touch/touch_device_aurax11.cc',
    501           ],
    502         }],
    503         ['OS=="win"', {
    504           'sources!': [
    505             'touch/touch_device.cc',
    506           ],
    507           'include_dirs': [
    508             '../..',
    509             '../../third_party/wtl/include',
    510           ],
    511           # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
    512           # C4324 is structure was padded due to __declspec(align()), which is
    513           # uninteresting.
    514           'msvs_disabled_warnings': [ 4267, 4324 ],
    515           'msvs_settings': {
    516             'VCLinkerTool': {
    517               'DelayLoadDLLs': [
    518                 'd2d1.dll',
    519                 'd3d10_1.dll',
    520                 'dwmapi.dll',
    521               ],
    522               'AdditionalDependencies': [
    523                 'd2d1.lib',
    524                 'd3d10_1.lib',
    525                 'dwmapi.lib',
    526               ],
    527             },
    528           },
    529           'link_settings': {
    530             'libraries': [
    531               '-limm32.lib',
    532               '-ld2d1.lib',
    533               '-ldwmapi.lib',
    534               '-loleacc.lib',
    535             ],
    536           },
    537         },{  # OS!="win"
    538           'conditions': [
    539             ['use_aura==0', {
    540               'sources!': [
    541                 'view_prop.cc',
    542                 'view_prop.h',
    543               ],
    544             }],
    545           ],
    546         }],
    547         ['OS=="mac"', {
    548           'dependencies': [
    549             '../../third_party/mozilla/mozilla.gyp:mozilla',
    550           ],
    551           'sources!': [
    552             'cursor/image_cursors.cc',
    553             'cursor/image_cursors.h',
    554             'dragdrop/drag_utils.cc',
    555             'dragdrop/drag_utils.h',
    556           ],
    557           'link_settings': {
    558             'libraries': [
    559               '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
    560               '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
    561               '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
    562             ],
    563           },
    564         }],
    565         ['use_x11==1', {
    566           'all_dependent_settings': {
    567             'ldflags': [
    568               '-L<(PRODUCT_DIR)',
    569             ],
    570           },
    571           'dependencies': [
    572             '../../build/linux/system.gyp:x11',
    573             '../../build/linux/system.gyp:xcursor',
    574             '../../build/linux/system.gyp:xext',
    575             '../../build/linux/system.gyp:xfixes',
    576             '../../build/linux/system.gyp:xrender',  # For XRender* function calls in x11_util.cc.
    577             '../events/platform/x11/x11_events_platform.gyp:x11_events_platform',
    578           ],
    579         }],
    580         ['toolkit_views==0', {
    581           'sources!': [
    582             'dragdrop/drag_drop_types.h',
    583             'dragdrop/drop_target_event.cc',
    584             'dragdrop/drop_target_event.h',
    585             'dragdrop/os_exchange_data.cc',
    586             'dragdrop/os_exchange_data.h',
    587             'nine_image_painter_factory.cc',
    588             'nine_image_painter_factory.h',
    589           ],
    590         }],
    591         ['OS=="android"', {
    592           'sources!': [
    593             'cursor/image_cursors.cc',
    594             'cursor/image_cursors.h',
    595             'default_theme_provider.cc',
    596             'dragdrop/drag_utils.cc',
    597             'dragdrop/drag_utils.h',
    598             'l10n/l10n_font_util.cc',
    599             'models/button_menu_item_model.cc',
    600             'models/dialog_model.cc',
    601             'theme_provider.cc',
    602             'touch/touch_device.cc',
    603             'touch/touch_editing_controller.cc',
    604             'ui_base_types.cc',
    605           ],
    606           'dependencies': [
    607             'ui_base_jni_headers',
    608           ],
    609           'link_settings': {
    610             'libraries': [
    611               '-ljnigraphics',
    612             ],
    613           },
    614         }],
    615         ['OS=="android" and android_webview_build==0', {
    616           'dependencies': [
    617             '../android/ui_android.gyp:ui_java',
    618           ],
    619         }],
    620         ['OS=="android" and use_aura==0', {
    621           'sources!': [
    622             'cursor/cursor_android.cc'
    623           ],
    624         }],
    625         ['OS=="android" and use_aura==1', {
    626           'sources!': [
    627             'clipboard/clipboard_aura.cc'
    628           ],
    629         }],
    630         ['OS=="android" or OS=="ios"', {
    631           'sources!': [
    632             'device_form_factor_desktop.cc'
    633           ],
    634         }],
    635         ['OS=="linux"', {
    636           'libraries': [
    637             '-ldl',
    638           ],
    639         }],
    640         ['use_system_icu==1', {
    641           # When using the system icu, the icu targets generate shim headers
    642           # which are included by public headers in the ui target, so we need
    643           # ui to be a hard dependency for all its users.
    644           'hard_dependency': 1,
    645         }],
    646         ['toolkit_views==0 and use_aura==0', {
    647           'sources!': [
    648             'ime/input_method_factory.cc',
    649             'ime/input_method_factory.h',
    650             'ime/input_method_minimal.cc',
    651             'ime/input_method_minimal.h',
    652           ],
    653         }],
    654         ['chromeos==0', {
    655           'sources!': [
    656             'ime/input_method_chromeos.cc',
    657             'ime/input_method_chromeos.h',
    658           ],
    659         }],
    660         ['chromeos==1', {
    661           'dependencies': [
    662             '../../chromeos/chromeos.gyp:chromeos',
    663           ],
    664         }],
    665         ['OS!="win"', {
    666           'sources!': [
    667             'ime/input_method_imm32.cc',
    668             'ime/input_method_imm32.h',
    669           ],
    670         }],
    671         ['use_aura==0 or (desktop_linux==0 and use_ozone==0)', {
    672           'sources!': [
    673             'ime/input_method_auralinux.cc',
    674             'ime/input_method_auralinux.h',
    675             'ime/linux/fake_input_method_context.cc',
    676             'ime/linux/fake_input_method_context.h',
    677             'ime/linux/fake_input_method_context_factory.cc',
    678             'ime/linux/fake_input_method_context_factory.h',
    679             'ime/linux/linux_input_method_context.h',
    680             'ime/linux/linux_input_method_context_factory.cc',
    681             'ime/linux/linux_input_method_context_factory.h',
    682           ],
    683         }],
    684         ['use_x11==0', {
    685           'sources!': [
    686             'ime/composition_text_util_pango.cc',
    687             'ime/composition_text_util_pango.h',
    688           ],
    689         }],
    690       ],
    691     },
    692     {
    693       # GN version: //ui/base:test_support
    694       'target_name': 'ui_base_test_support',
    695       'dependencies': [
    696         '../../base/base.gyp:base',
    697         '../../skia/skia.gyp:skia',
    698         '../../testing/gtest.gyp:gtest',
    699         '../gfx/gfx.gyp:gfx',
    700         '../gfx/gfx.gyp:gfx_geometry',
    701       ],
    702       'sources': [
    703         # Note: file list duplicated in GN build.
    704         'test/ui_controls.h',
    705         'test/ui_controls_aura.cc',
    706         'test/ui_controls_internal_win.cc',
    707         'test/ui_controls_internal_win.h',
    708         'test/ui_controls_mac.mm',
    709         'test/ui_controls_win.cc',
    710       ],
    711       'include_dirs': [
    712         '../..',
    713       ],
    714       'conditions': [
    715         ['OS!="ios"', {
    716           'type': 'static_library',
    717             'sources': [
    718               'ime/dummy_input_method.cc',
    719               'ime/dummy_input_method.h',
    720               'ime/dummy_text_input_client.cc',
    721               'ime/dummy_text_input_client.h',
    722             ],
    723         }, {  # OS=="ios"
    724           # None of the sources in this target are built on iOS, resulting in
    725           # link errors when building targets that depend on this target
    726           # because the static library isn't found. If this target is changed
    727           # to have sources that are built on iOS, the target should be changed
    728           # to be of type static_library on all platforms.
    729           'type': 'none',
    730         }],
    731         ['use_aura==1', {
    732           'sources!': [
    733             'test/ui_controls_mac.mm',
    734             'test/ui_controls_win.cc',
    735           ],
    736         }],
    737       ],
    738     },
    739   ],
    740   'conditions': [
    741     ['OS=="android"' , {
    742        'targets': [
    743          {
    744            # GN version: //ui/base:ui_base_jni_headers
    745            'target_name': 'ui_base_jni_headers',
    746            'type': 'none',
    747            'sources': [
    748              # Note: file list duplicated in GN build.
    749              '../android/java/src/org/chromium/ui/base/Clipboard.java',
    750              '../android/java/src/org/chromium/ui/base/DeviceFormFactor.java',
    751              '../android/java/src/org/chromium/ui/base/LocalizationUtils.java',
    752              '../android/java/src/org/chromium/ui/base/ResourceBundle.java',
    753              '../android/java/src/org/chromium/ui/base/SelectFileDialog.java',
    754              '../android/java/src/org/chromium/ui/base/TouchDevice.java',
    755              '../android/java/src/org/chromium/ui/base/ViewAndroid.java',
    756              '../android/java/src/org/chromium/ui/base/WindowAndroid.java',
    757            ],
    758            'variables': {
    759              'jni_gen_package': 'ui',
    760            },
    761            'includes': [ '../../build/jni_generator.gypi' ],
    762          },
    763        ],
    764     }],
    765   ],
    766 }
    767