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 import("//build/config/ui.gni") 6 7 if (is_android) { 8 import("//build/config/android/config.gni") 9 import("//build/config/android/rules.gni") 10 } 11 12 build_ime = !is_ios 13 14 component("base") { 15 output_name = "ui_base" 16 sources = [ 17 "accelerators/accelerator.cc", 18 "accelerators/accelerator.h", 19 "accelerators/accelerator_manager.cc", 20 "accelerators/accelerator_manager.h", 21 "accelerators/menu_label_accelerator_util_linux.cc", 22 "accelerators/menu_label_accelerator_util_linux.h", 23 "accelerators/platform_accelerator.h", 24 "accelerators/platform_accelerator_cocoa.h", 25 "accelerators/platform_accelerator_cocoa.mm", 26 "android/system_ui_resource_manager.h", 27 "android/ui_base_jni_registrar.cc", 28 "android/ui_base_jni_registrar.h", 29 "android/view_android.cc", 30 "android/view_android.h", 31 "android/window_android.cc", 32 "android/window_android.h", 33 "android/window_android_compositor.h", 34 "android/window_android_observer.h", 35 "base_window.cc", 36 "base_window.h", 37 "clipboard/clipboard.cc", 38 "clipboard/clipboard.h", 39 "clipboard/clipboard_android.cc", 40 "clipboard/clipboard_android_initialization.h", 41 "clipboard/clipboard_constants.cc", 42 "clipboard/clipboard_mac.mm", 43 "clipboard/clipboard_types.h", 44 "clipboard/clipboard_util_win.cc", 45 "clipboard/clipboard_util_win.h", 46 "clipboard/clipboard_win.cc", 47 "clipboard/custom_data_helper.cc", 48 "clipboard/custom_data_helper.h", 49 "clipboard/custom_data_helper_linux.cc", 50 "clipboard/custom_data_helper_mac.mm", 51 "clipboard/scoped_clipboard_writer.cc", 52 "clipboard/scoped_clipboard_writer.h", 53 "cocoa/animation_utils.h", 54 "cocoa/appkit_utils.h", 55 "cocoa/appkit_utils.mm", 56 "cocoa/base_view.h", 57 "cocoa/base_view.mm", 58 "cocoa/cocoa_base_utils.h", 59 "cocoa/cocoa_base_utils.mm", 60 "cocoa/controls/blue_label_button.h", 61 "cocoa/controls/blue_label_button.mm", 62 "cocoa/controls/hover_image_menu_button.h", 63 "cocoa/controls/hover_image_menu_button.mm", 64 "cocoa/controls/hover_image_menu_button_cell.h", 65 "cocoa/controls/hover_image_menu_button_cell.mm", 66 "cocoa/controls/hyperlink_button_cell.h", 67 "cocoa/controls/hyperlink_button_cell.mm", 68 "cocoa/controls/hyperlink_text_view.h", 69 "cocoa/controls/hyperlink_text_view.mm", 70 "cocoa/find_pasteboard.h", 71 "cocoa/find_pasteboard.mm", 72 "cocoa/flipped_view.h", 73 "cocoa/flipped_view.mm", 74 "cocoa/focus_tracker.h", 75 "cocoa/focus_tracker.mm", 76 "cocoa/focus_window_set.h", 77 "cocoa/focus_window_set.mm", 78 "cocoa/fullscreen_window_manager.h", 79 "cocoa/fullscreen_window_manager.mm", 80 "cocoa/hover_button.h", 81 "cocoa/hover_button.mm", 82 "cocoa/hover_image_button.h", 83 "cocoa/hover_image_button.mm", 84 "cocoa/menu_controller.h", 85 "cocoa/menu_controller.mm", 86 "cocoa/nib_loading.h", 87 "cocoa/nib_loading.mm", 88 "cocoa/nsgraphics_context_additions.h", 89 "cocoa/nsgraphics_context_additions.mm", 90 "cocoa/nsview_additions.h", 91 "cocoa/nsview_additions.mm", 92 "cocoa/remote_layer_api.h", 93 "cocoa/remote_layer_api.mm", 94 "cocoa/tracking_area.h", 95 "cocoa/tracking_area.mm", 96 "cocoa/underlay_opengl_hosting_window.h", 97 "cocoa/underlay_opengl_hosting_window.mm", 98 "cocoa/view_description.h", 99 "cocoa/view_description.mm", 100 "cocoa/window_size_constants.h", 101 "cocoa/window_size_constants.mm", 102 "cursor/cursor.cc", 103 "cursor/cursor.h", 104 "cursor/cursor_android.cc", 105 "cursor/cursor_loader.h", 106 "cursor/cursor_util.cc", 107 "cursor/cursor_util.h", 108 "cursor/cursor_win.cc", 109 "cursor/cursors_aura.cc", 110 "cursor/cursors_aura.h", 111 "cursor/image_cursors.cc", 112 "cursor/image_cursors.h", 113 "default_theme_provider.cc", 114 "default_theme_provider.h", 115 "default_theme_provider_mac.mm", 116 "device_form_factor_android.cc", 117 "device_form_factor_android.h", 118 "device_form_factor_desktop.cc", 119 "device_form_factor_ios.mm", 120 "device_form_factor.h", 121 "dragdrop/cocoa_dnd_util.h", 122 "dragdrop/cocoa_dnd_util.mm", 123 "dragdrop/drag_drop_types.h", 124 "dragdrop/drag_drop_types_win.cc", 125 "dragdrop/drag_source_win.cc", 126 "dragdrop/drag_source_win.h", 127 "dragdrop/drag_utils.cc", 128 "dragdrop/drag_utils.h", 129 "dragdrop/drag_utils_aura.cc", 130 "dragdrop/drag_utils_mac.mm", 131 "dragdrop/drag_utils_win.cc", 132 "dragdrop/drop_target_event.cc", 133 "dragdrop/drop_target_event.h", 134 "dragdrop/drop_target_win.cc", 135 "dragdrop/drop_target_win.h", 136 "dragdrop/file_info.cc", 137 "dragdrop/file_info.h", 138 "dragdrop/os_exchange_data.cc", 139 "dragdrop/os_exchange_data.h", 140 "dragdrop/os_exchange_data_provider_mac.h", 141 "dragdrop/os_exchange_data_provider_mac.mm", 142 "dragdrop/os_exchange_data_provider_win.cc", 143 "dragdrop/os_exchange_data_provider_win.h", 144 "hit_test.h", 145 "l10n/formatter.cc", 146 "l10n/formatter.h", 147 "l10n/l10n_font_util.cc", 148 "l10n/l10n_font_util.h", 149 "l10n/l10n_util.cc", 150 "l10n/l10n_util.h", 151 "l10n/l10n_util_android.cc", 152 "l10n/l10n_util_android.h", 153 "l10n/l10n_util_collator.h", 154 "l10n/l10n_util_mac.h", 155 "l10n/l10n_util_mac.mm", 156 "l10n/l10n_util_plurals.cc", 157 "l10n/l10n_util_plurals.h", 158 "l10n/l10n_util_posix.cc", 159 "l10n/l10n_util_win.cc", 160 "l10n/l10n_util_win.h", 161 "l10n/time_format.cc", 162 "l10n/time_format.h", 163 "layout.cc", 164 "layout.h", 165 "layout_mac.mm", 166 "models/button_menu_item_model.cc", 167 "models/button_menu_item_model.h", 168 "models/combobox_model.cc", 169 "models/combobox_model.h", 170 "models/combobox_model_observer.h", 171 "models/dialog_model.cc", 172 "models/dialog_model.h", 173 "models/list_model.h", 174 "models/list_model_observer.h", 175 "models/list_selection_model.cc", 176 "models/list_selection_model.h", 177 "models/menu_model.cc", 178 "models/menu_model.h", 179 "models/menu_model_delegate.h", 180 "models/menu_separator_types.h", 181 "models/simple_combobox_model.cc", 182 "models/simple_combobox_model.h", 183 "models/simple_menu_model.cc", 184 "models/simple_menu_model.h", 185 "models/table_model.cc", 186 "models/table_model.h", 187 "models/table_model_observer.h", 188 "models/tree_model.cc", 189 "models/tree_model.h", 190 "models/tree_node_iterator.h", 191 "models/tree_node_model.h", 192 "nine_image_painter_factory.cc", 193 "nine_image_painter_factory.h", 194 "page_transition_types.cc", 195 "page_transition_types.h", 196 "page_transition_types_list.h", 197 "resource/data_pack.cc", 198 "resource/data_pack.h", 199 "resource/resource_bundle.cc", 200 "resource/resource_bundle.h", 201 "resource/resource_bundle_android.cc", 202 "resource/resource_bundle_auralinux.cc", 203 "resource/resource_bundle_ios.mm", 204 "resource/resource_bundle_mac.mm", 205 "resource/resource_bundle_win.cc", 206 "resource/resource_bundle_win.h", 207 "resource/resource_data_dll_win.cc", 208 "resource/resource_data_dll_win.h", 209 "resource/resource_handle.h", 210 "text/bytes_formatting.cc", 211 "text/bytes_formatting.h", 212 "theme_provider.cc", 213 "theme_provider.h", 214 "touch/touch_device.h", 215 "touch/touch_editing_controller.cc", 216 "touch/touch_editing_controller.h", 217 "touch/touch_enabled.cc", 218 "touch/touch_enabled.h", 219 "ui_base_export.h", 220 "ui_base_exports.cc", 221 "ui_base_paths.cc", 222 "ui_base_paths.h", 223 "ui_base_switches.cc", 224 "ui_base_switches.h", 225 "ui_base_switches_util.cc", 226 "ui_base_switches_util.h", 227 "ui_base_types.cc", 228 "ui_base_types.h", 229 "view_prop.cc", 230 "view_prop.h", 231 "webui/jstemplate_builder.cc", 232 "webui/jstemplate_builder.h", 233 "webui/web_ui_util.cc", 234 "webui/web_ui_util.h", 235 "win/accessibility_ids_win.h", 236 "win/accessibility_misc_utils.cc", 237 "win/accessibility_misc_utils.h", 238 "win/atl_module.h", 239 "win/dpi_setup.cc", 240 "win/dpi_setup.h", 241 "win/foreground_helper.cc", 242 "win/foreground_helper.h", 243 "win/hidden_window.cc", 244 "win/hidden_window.h", 245 "win/hwnd_subclass.cc", 246 "win/hwnd_subclass.h", 247 "win/internal_constants.cc", 248 "win/internal_constants.h", 249 "win/lock_state.cc", 250 "win/lock_state.h", 251 "win/open_file_name_win.cc", 252 "win/open_file_name_win.h", 253 "win/message_box_win.cc", 254 "win/message_box_win.h", 255 "win/mouse_wheel_util.cc", 256 "win/mouse_wheel_util.h", 257 "win/scoped_ole_initializer.cc", 258 "win/scoped_ole_initializer.h", 259 "win/shell.cc", 260 "win/shell.h", 261 "win/touch_input.cc", 262 "win/touch_input.h", 263 "win/window_event_target.cc", 264 "win/window_event_target.h", 265 "window_open_disposition.cc", 266 "window_open_disposition.h", 267 "work_area_watcher_observer.h", 268 ] 269 270 if (is_win) { 271 sources += [ "touch/touch_device_win.cc" ] 272 } else if (is_android) { 273 sources += [ "touch/touch_device_android.cc" ] 274 } else if (use_ozone) { 275 sources += [ "touch/touch_device_ozone.cc" ] 276 } else if (use_aura && use_x11) { 277 sources += [ "touch/touch_device_aurax11.cc" ] 278 } else { 279 # Empty implementation for all other cases. 280 sources += [ "touch/touch_device.cc" ] 281 } 282 283 defines = [ "UI_BASE_IMPLEMENTATION" ] 284 285 public_deps = [ 286 "//base", 287 "//skia", 288 "//ui/events/platform", 289 "//ui/events:events_base", 290 "//ui/gfx", 291 "//ui/gfx/geometry", 292 ] 293 deps = [ 294 "//base/third_party/dynamic_annotations", 295 "//base:base_static", 296 "//base:i18n", 297 "//net", 298 "//third_party/icu", 299 "//ui/resources", 300 "//ui/strings", 301 "//url", 302 ] 303 304 if (build_ime) { 305 if (!is_android) { 306 deps += [ 307 "//ui/events", 308 ] 309 } 310 311 sources += [ 312 "ime/candidate_window.cc", 313 "ime/candidate_window.h", 314 "ime/chromeos/character_composer.cc", 315 "ime/chromeos/character_composer.h", 316 "ime/chromeos/ime_bridge.cc", 317 "ime/chromeos/ime_bridge.h", 318 "ime/chromeos/ime_keymap.cc", 319 "ime/chromeos/ime_keymap.h", 320 "ime/chromeos/mock_ime_candidate_window_handler.cc", 321 "ime/chromeos/mock_ime_candidate_window_handler.h", 322 "ime/chromeos/mock_ime_engine_handler.cc", 323 "ime/chromeos/mock_ime_engine_handler.h", 324 "ime/chromeos/mock_ime_input_context_handler.cc", 325 "ime/chromeos/mock_ime_input_context_handler.h", 326 "ime/composition_text.cc", 327 "ime/composition_text.h", 328 "ime/composition_text_util_pango.cc", 329 "ime/composition_text_util_pango.h", 330 "ime/composition_underline.h", 331 "ime/dummy_input_method_delegate.cc", 332 "ime/dummy_input_method_delegate.h", 333 "ime/infolist_entry.cc", 334 "ime/infolist_entry.h", 335 "ime/input_method.h", 336 "ime/input_method_auralinux.cc", 337 "ime/input_method_auralinux.h", 338 "ime/input_method_base.cc", 339 "ime/input_method_base.h", 340 "ime/input_method_chromeos.cc", 341 "ime/input_method_chromeos.h", 342 "ime/input_method_delegate.h", 343 "ime/input_method_factory.cc", 344 "ime/input_method_factory.h", 345 "ime/input_method_initializer.cc", 346 "ime/input_method_initializer.h", 347 "ime/input_method_mac.h", 348 "ime/input_method_mac.mm", 349 "ime/input_method_minimal.cc", 350 "ime/input_method_minimal.h", 351 "ime/input_method_observer.h", 352 "ime/input_method_win.cc", 353 "ime/input_method_win.h", 354 "ime/linux/fake_input_method_context.cc", 355 "ime/linux/fake_input_method_context.h", 356 "ime/linux/fake_input_method_context_factory.cc", 357 "ime/linux/fake_input_method_context_factory.h", 358 "ime/linux/linux_input_method_context.h", 359 "ime/linux/linux_input_method_context_factory.cc", 360 "ime/linux/linux_input_method_context_factory.h", 361 "ime/mock_input_method.cc", 362 "ime/mock_input_method.h", 363 "ime/remote_input_method_delegate_win.h", 364 "ime/remote_input_method_win.cc", 365 "ime/remote_input_method_win.h", 366 "ime/text_input_client.cc", 367 "ime/text_input_client.h", 368 "ime/text_input_focus_manager.cc", 369 "ime/text_input_focus_manager.h", 370 "ime/text_input_type.h", 371 "ime/win/imm32_manager.cc", 372 "ime/win/imm32_manager.h", 373 "ime/win/tsf_input_scope.cc", 374 "ime/win/tsf_input_scope.h", 375 ] 376 377 if (!use_aura || (!is_linux && !use_ozone)) { 378 sources -= [ 379 "ime/input_method_auralinux.cc", 380 "ime/input_method_auralinux.h", 381 ] 382 } 383 384 if (!toolkit_views && !use_aura) { 385 sources -= [ 386 "ime/input_method_factory.cc", 387 "ime/input_method_factory.h", 388 "ime/input_method_minimal.cc", 389 "ime/input_method_minimal.h", 390 ] 391 } 392 393 if (is_chromeos) { 394 deps += [ 395 "//chromeos", 396 ] 397 } 398 399 if (use_pango) { 400 configs += [ "//build/config/linux:pangocairo" ] 401 } else { 402 sources -= [ 403 "ime/composition_text_util_pango.cc", 404 "ime/composition_text_util_pango.h", 405 ] 406 } 407 } 408 409 if (is_ios) { 410 sources += [ 411 "l10n/l10n_util_mac.h", 412 "l10n/l10n_util_mac.mm", 413 ] 414 } 415 416 if (toolkit_views) { 417 deps += [ 418 "//ui/events", 419 ] 420 } 421 422 if (use_x11 && use_aura) { 423 sources += [ 424 "x/selection_owner.cc", 425 "x/selection_owner.h", 426 "x/selection_requestor.cc", 427 "x/selection_requestor.h", 428 "x/selection_utils.cc", 429 "x/selection_utils.h", 430 ] 431 } 432 433 if (use_aura) { 434 deps += [ 435 "//ui/events", 436 ] 437 } else { 438 sources -= [ 439 "cursor/cursor.cc", 440 "cursor/cursor.h", 441 "dragdrop/drag_utils_aura.cc", 442 ] 443 } 444 if (use_x11) { 445 sources += [ 446 "x/x11_foreign_window_manager.cc", 447 "x/x11_foreign_window_manager.h", 448 "x/x11_menu_list.cc", 449 "x/x11_menu_list.h", 450 "x/x11_util.cc", 451 "x/x11_util.h", 452 "x/x11_util_internal.h", 453 ] 454 deps += [ "//ui/gfx/x" ] 455 } 456 457 if (!use_aura || !is_linux) { 458 sources -= [ 459 "resource/resource_bundle_auralinux.cc", 460 ] 461 } 462 463 if (use_aura && is_win) { 464 sources -= [ 465 "dragdrop/drag_utils_aura.cc", 466 ] 467 } 468 469 if (is_linux) { 470 configs += [ 471 "//build/config/linux:fontconfig", 472 "//build/config/linux:glib", 473 ] 474 } 475 476 if ((is_linux && !is_chromeos) || is_chromeos) { 477 if (!toolkit_views && !use_aura) { 478 sources -= [ 479 "dragdrop/drag_utils.cc", 480 "dragdrop/drag_utils.h", 481 ] 482 } 483 } 484 485 if (is_chromeos || (use_aura && is_linux && !use_x11)) { 486 sources += [ 487 "dragdrop/os_exchange_data_provider_aura.cc", 488 "dragdrop/os_exchange_data_provider_aura.h", 489 ] 490 } 491 492 libs = [] 493 if (is_win) { 494 sources += [ 495 "cursor/cursor_loader_win.cc", 496 "cursor/cursor_loader_win.h", 497 ] 498 deps += [ 499 "//third_party/wtl", 500 ] 501 cflags = [ 502 "/wd4267", # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int. 503 "/wd4324", # Structure was padded due to __declspec(align()), which is 504 # uninteresting. 505 ] 506 ldflags = [ 507 "/DELAYLOAD:d2d1.dll", 508 "/DELAYLOAD:d3d10_1.dll", 509 "/DELAYLOAD:dwmapi.dll", 510 ] 511 libs += [ 512 "d2d1.lib", 513 "d3d10_1.lib", 514 "dwmapi.lib", 515 "imm32.lib", 516 "d2d1.lib", 517 "dwmapi.lib", 518 "oleacc.lib", 519 ] 520 } else { 521 if (!use_aura) { 522 sources -= [ 523 "view_prop.cc", 524 "view_prop.h", 525 ] 526 } 527 } 528 529 if (is_mac) { 530 deps += [ 531 "//third_party/mozilla", 532 ] 533 534 sources -= [ 535 "cursor/image_cursors.cc", 536 "cursor/image_cursors.h", 537 "dragdrop/drag_utils.cc", 538 "dragdrop/drag_utils.h", 539 ] 540 541 libs += [ 542 "Accelerate.framework", 543 "AudioUnit.framework", 544 "CoreVideo.framework", 545 ] 546 } 547 548 if (use_x11) { 549 #'all_dependent_settings': { 550 #'ldflags': [ 551 #'-L<(PRODUCT_DIR)', 552 #], 553 #}, 554 configs += [ 555 "//build/config/linux:x11" 556 ] 557 } 558 559 if (use_aura) { 560 if (use_x11) { 561 sources += [ 562 "cursor/cursor_loader_x11.cc", 563 "cursor/cursor_loader_x11.h", 564 "cursor/cursor_x11.cc", 565 ] 566 if (!is_chromeos) { 567 # These Aura X11 files aren't used on ChromeOS. 568 sources += [ 569 "dragdrop/os_exchange_data_provider_aurax11.cc", 570 "dragdrop/os_exchange_data_provider_aurax11.h", 571 ] 572 } 573 } 574 } 575 if (use_ozone) { 576 sources += [ 577 "cursor/cursor_loader_ozone.cc", 578 "cursor/cursor_loader_ozone.h", 579 "cursor/cursor_ozone.cc", 580 "cursor/ozone/bitmap_cursor_factory_ozone.cc", 581 "cursor/ozone/bitmap_cursor_factory_ozone.h", 582 ] 583 584 deps += [ 585 "//ui/ozone:ozone_base", 586 ] 587 } 588 589 if (!toolkit_views) { 590 sources -= [ 591 "dragdrop/drag_drop_types.h", 592 "dragdrop/drop_target_event.cc", 593 "dragdrop/drop_target_event.h", 594 "dragdrop/os_exchange_data.cc", 595 "dragdrop/os_exchange_data.h", 596 "nine_image_painter_factory.cc", 597 "nine_image_painter_factory.h", 598 ] 599 } 600 601 if (is_android) { 602 sources -= [ 603 "default_theme_provider.cc", 604 "dragdrop/drag_utils.cc", 605 "dragdrop/drag_utils.h", 606 "l10n/l10n_font_util.cc", 607 "models/button_menu_item_model.cc", 608 "models/dialog_model.cc", 609 "theme_provider.cc", 610 "touch/touch_editing_controller.cc", 611 "ui_base_types.cc", 612 ] 613 614 deps += [ 615 ":ui_base_jni_headers", 616 ] 617 618 libs += [ 619 "jnigraphics", 620 ] 621 } 622 623 if (is_android && is_android_webview_build) { 624 deps += [ 625 #TODO(GYP): port this component to GN. 626 #"//ui/android:ui_java", 627 ] 628 } 629 630 if (is_android && !use_aura) { 631 sources -= [ 632 "cursor/cursor_android.cc", 633 ] 634 } 635 636 # Aura clipboard. 637 if (use_aura) { 638 if (use_x11) { 639 sources += [ "clipboard/clipboard_aurax11.cc" ] 640 } else if (!is_win) { 641 # This file is used for all non-X11, non-Windows aura Builds. 642 sources += [ "clipboard/clipboard_aura.cc" ] 643 } 644 } 645 646 if (is_android || is_ios) { 647 sources -= [ 648 "device_form_factor_desktop.cc", 649 ] 650 } 651 } 652 653 source_set("test_support") { 654 testonly = true 655 sources = [ 656 "test/ui_controls.h", 657 "test/ui_controls_aura.cc", 658 "test/ui_controls_internal_win.cc", 659 "test/ui_controls_internal_win.h", 660 "test/ui_controls_mac.mm", 661 "test/ui_controls_win.cc", 662 ] 663 664 public_deps = [ 665 ":base", 666 ] 667 deps = [ 668 "//base", 669 "//skia", 670 "//testing/gtest", 671 "//ui/events:events_base", 672 "//ui/gfx", 673 "//ui/gfx/geometry", 674 ] 675 676 if (build_ime) { 677 sources += [ 678 "ime/dummy_input_method.cc", 679 "ime/dummy_input_method.h", 680 "ime/dummy_text_input_client.cc", 681 "ime/dummy_text_input_client.h", 682 ] 683 } 684 } 685 686 if (is_android) { 687 generate_jni("ui_base_jni_headers") { 688 sources = [ 689 "../android/java/src/org/chromium/ui/base/Clipboard.java", 690 "../android/java/src/org/chromium/ui/base/DeviceFormFactor.java", 691 "../android/java/src/org/chromium/ui/base/LocalizationUtils.java", 692 "../android/java/src/org/chromium/ui/base/ResourceBundle.java", 693 "../android/java/src/org/chromium/ui/base/SelectFileDialog.java", 694 "../android/java/src/org/chromium/ui/base/TouchDevice.java", 695 "../android/java/src/org/chromium/ui/base/ViewAndroid.java", 696 "../android/java/src/org/chromium/ui/base/WindowAndroid.java", 697 ] 698 jni_package = "base" 699 } 700 } 701 702 # TODO(GYP): Make this work on Android and reenable it. 703 if (!is_android) { 704 # GYP version: ui/base/ui_base_tests.gyp:ui_unittests 705 test("unittests") { 706 # TODO(tfarina): Rename this target to ui_base_unittests. 707 # In order to do this we will need to keep this target, add a dummy 708 # ui_base_unittests target that just points to ui_unittests, change 709 # buildbot code to reference the new 'ui_base_unittests' target. 710 # After buildbot is updated, we can make the changes in Chromium and 711 # remove 'ui_unittests' target. crbug.com/331829 712 output_name = "ui_unittests" 713 sources = [ 714 "l10n/l10n_util_mac_unittest.mm", 715 "l10n/l10n_util_unittest.cc", 716 "l10n/l10n_util_win_unittest.cc", 717 "l10n/time_format_unittest.cc", 718 "layout_unittest.cc", 719 "models/tree_node_iterator_unittest.cc", 720 "resource/data_pack_literal.cc", 721 "resource/data_pack_unittest.cc", 722 "resource/resource_bundle_unittest.cc", 723 "test/run_all_unittests.cc", 724 ] 725 726 if (is_ios) { 727 # Compile this Mac file on iOS as well. 728 set_sources_assignment_filter([]) 729 sources += [ "l10n/l10n_util_mac_unittest.mm" ] 730 set_sources_assignment_filter(sources_assignment_filter) 731 } else { # !is_ios 732 sources += [ 733 "accelerators/accelerator_manager_unittest.cc", 734 "accelerators/menu_label_accelerator_util_linux_unittest.cc", 735 "clipboard/custom_data_helper_unittest.cc", 736 "cocoa/base_view_unittest.mm", 737 "cocoa/cocoa_base_utils_unittest.mm", 738 "cocoa/controls/blue_label_button_unittest.mm", 739 "cocoa/controls/hover_image_menu_button_unittest.mm", 740 "cocoa/controls/hyperlink_button_cell_unittest.mm", 741 "cocoa/controls/hyperlink_text_view_unittest.mm", 742 "cocoa/focus_tracker_unittest.mm", 743 "cocoa/fullscreen_window_manager_unittest.mm", 744 "cocoa/hover_image_button_unittest.mm", 745 "cocoa/menu_controller_unittest.mm", 746 "cocoa/nsgraphics_context_additions_unittest.mm", 747 "cocoa/nsview_additions_unittest.mm", 748 "cocoa/tracking_area_unittest.mm", 749 "dragdrop/os_exchange_data_provider_aurax11_unittest.cc", 750 "models/list_model_unittest.cc", 751 "models/list_selection_model_unittest.cc", 752 "models/tree_node_model_unittest.cc", 753 "test/data/resource.h", 754 "text/bytes_formatting_unittest.cc", 755 "view_prop_unittest.cc", 756 "webui/web_ui_util_unittest.cc", 757 "x/selection_requestor_unittest.cc", 758 ] 759 760 if (!use_x11) { 761 if (is_chromeos) { 762 # These were already removed in the chromeos case. 763 sources -= [ 764 "ime/chromeos/character_composer_unittest.cc", 765 "ime/input_method_chromeos_unittest.cc", 766 ] 767 } 768 } 769 } 770 771 if (build_ime) { 772 sources += [ 773 "ime/candidate_window_unittest.cc", 774 "ime/chromeos/character_composer_unittest.cc", 775 "ime/input_method_base_unittest.cc", 776 "ime/input_method_chromeos_unittest.cc", 777 "ime/remote_input_method_win_unittest.cc", 778 "ime/win/imm32_manager_unittest.cc", 779 "ime/win/tsf_input_scope_unittest.cc", 780 ] 781 if (use_x11) { 782 sources += [ "ime/composition_text_util_pango_unittest.cc" ] 783 } 784 } 785 786 deps = [ 787 "//base", 788 "//base/allocator", 789 "//base/test:test_support", 790 "//net", 791 "//skia", 792 "//testing/gmock", 793 "//testing/gtest", 794 "//third_party/icu", 795 "//ui/base", 796 "//ui/base:test_support", 797 "//ui/events:events_base", 798 "//ui/events:test_support", 799 "//ui/gfx:test_support", 800 "//ui/resources", 801 "//ui/resources:ui_test_pak", 802 "//ui/strings", 803 "//url", 804 ] 805 806 if (is_ios) { 807 # TODO(GYP) lots of iOS-only steps for ui_unittests 808 } 809 810 if (is_win) { 811 sources += [ 812 "dragdrop/os_exchange_data_win_unittest.cc", 813 "win/hwnd_subclass_unittest.cc", 814 "win/open_file_name_win_unittest.cc", 815 ] 816 817 ldflags = [ 818 "/DELAYLOAD:d2d1.dll", 819 "/DELAYLOAD:d3d10_1.dll", 820 ] 821 libs = [ 822 "d2d1.lib", 823 "d3d10_1.lib", 824 "imm32.lib", 825 "oleacc.lib", 826 ] 827 828 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 829 cflags = [ "/wd4267" ] 830 } 831 832 if (is_android) { 833 deps += [ 834 #"testing/android/native_test.gyp:native_test_native_code" TODO(GYP) 835 ] 836 } 837 838 if (use_pango) { 839 configs += [ 840 "//build/config/linux:pangocairo" 841 ] 842 } 843 844 if (use_x11) { 845 sources += [ 846 "cursor/cursor_loader_x11_unittest.cc" 847 ] 848 849 configs += [ 850 "//build/config/linux:x11" 851 ] 852 853 deps += [ 854 "//ui/events/platform/x11", 855 "//ui/gfx/x", 856 ] 857 858 datadeps = [ 859 "//tools/xdisplaycheck" 860 ] 861 } 862 863 if (!is_win || !use_aura) { 864 sources -= [ 865 "view_prop_unittest.cc" 866 ] 867 } 868 869 if (is_mac) { 870 deps += [ 871 "//third_party/mozilla", 872 #'ui_unittests_bundle', TODO(GYP) 873 ] 874 } 875 876 if (use_aura || toolkit_views) { 877 sources += [ 878 "dragdrop/os_exchange_data_unittest.cc" 879 ] 880 881 deps += [ 882 "//ui/events", 883 "//ui/events/platform", 884 ] 885 } 886 887 if (is_chromeos) { 888 sources += [ 889 "../chromeos/touch_exploration_controller_unittest.cc", 890 ] 891 sources -= [ 892 "dragdrop/os_exchange_data_provider_aurax11_unittest.cc", 893 "x/selection_requestor_unittest.cc", 894 ] 895 deps += [ 896 "//ui/aura:test_support", 897 "//ui/events:gesture_detection", 898 #'../chromeos/chromeos.gyp:chromeos', TODO(GYP) 899 #'chromeos/ui_chromeos.gyp:ui_chromeos', 900 ] 901 } 902 } 903 } 904 # TODO(GYP) Mac (ui_unittest_bundle) and Android (ui_unittests_apk). 905