New issue
Advanced search Search tips

Issue 773275 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 7
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 746956



Sign in to add a comment

Support jumbo builds in ui/

Project Member Reported by brat...@opera.com, Oct 10 2017

Issue description

The libraries in /ui take about 45 CPU minutes to compile when you compile chrome+content_shell+blink_tests. That is about 5% of the compilation time of master with use_jumbo_build=true (and about 10% of my current WIP) so it's worth adding jumbo to /ui as well.

As for chrome and content, X11 headers will be an issue. They leak a lot of strange defines that collide with everything.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e96eee70c39a97ec01025de94e0eaae851ee68f1

commit e96eee70c39a97ec01025de94e0eaae851ee68f1
Author: Daniel Bratell <bratell@opera.com>
Date: Tue Oct 10 18:51:19 2017

Add include guards for client_surface_embedder.h

Found when experimenting with jumbo builds. Missing include guards
and multiple inclusion does not work well.

Bug:  773275 
Change-Id: Ibc327c1c969f15a1dd417bba075eda8aa19953c2
Reviewed-on: https://chromium-review.googlesource.com/708759
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#507729}
[modify] https://crrev.com/e96eee70c39a97ec01025de94e0eaae851ee68f1/ui/aura/mus/client_surface_embedder.h

Components: Build

Comment 3 by brat...@opera.com, Nov 22 2017

Cc: ericwilligers@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b31ea9740542b8a6033af99441238a370e699b0

commit 7b31ea9740542b8a6033af99441238a370e699b0
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Nov 22 21:06:36 2017

Rename one of two kThumbStroke in ui widget controls

Both the scrollbar and slider code have a kThumbStroke and
they are not the same. In jumbo builds those clash so this
patch renames the slider version to kSliderThumbStroke.

Bug:  773275 
Change-Id: I53f7720bc34a3d71c9a0bb7061e0d185e1c8e68c
Reviewed-on: https://chromium-review.googlesource.com/786235
Reviewed-by: Michael Wasserman <msw@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#518743}
[modify] https://crrev.com/7b31ea9740542b8a6033af99441238a370e699b0/ui/views/controls/slider.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b6d449c702c519ac85e9f7fd495ad7a3089e81b

commit 0b6d449c702c519ac85e9f7fd495ad7a3089e81b
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Nov 22 21:37:20 2017

Rename one of two "UseMd()" in ui/views

Both bubble/bubble_border.cc and controls/combobox/combobox.cc
have help functions "UseMd()" (that only calls
ui::MaterialDesignController::IsSecondaryUiMaterial() )

Since I cannot find a common location and the methods are small,
I just renamed one of them to UseMaterialDesign()
to avoid clashes in jumbo builds.

Bug:  773275 
Change-Id: Ic5a99af09044fe46ac9aab3f858914a53399ca24
Reviewed-on: https://chromium-review.googlesource.com/786234
Reviewed-by: Michael Wasserman <msw@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#518757}
[modify] https://crrev.com/0b6d449c702c519ac85e9f7fd495ad7a3089e81b/ui/views/bubble/bubble_border.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df3a3d5bd0f015cb79f2b2c050fa279acfc1de15

commit df3a3d5bd0f015cb79f2b2c050fa279acfc1de15
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Nov 27 11:34:36 2017

Gave two global instance variables unique names

in jumbo builds two files with global variables named
instance clashed. This renames them to
g_transient_window_client_instance and
g_window_stacking_client_instance

Bug:  773275 
Change-Id: I29dd9ef7e792959b128e99242b6ec6e13be183a8
Reviewed-on: https://chromium-review.googlesource.com/786236
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#519277}
[modify] https://crrev.com/df3a3d5bd0f015cb79f2b2c050fa279acfc1de15/ui/aura/client/transient_window_client.cc
[modify] https://crrev.com/df3a3d5bd0f015cb79f2b2c050fa279acfc1de15/ui/aura/client/window_stacking_client.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a

commit fcceef5d30a36ed29063cb6782e9f6c6006d5f3a
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Nov 27 21:46:37 2017

Renaming the Mac specific MenuController -> MenuControllerCocoa

There were two public classes, both in //ui, named MenuController
and they clashed in jumbo builds and probably contributed to
some confusion.

This patch renames the one for Mac MenuControllerCocoa

Bug:  773275 
Change-Id: I3d0d3e98a120c0df3da47cc691b48cdf89e51d6f
Reviewed-on: https://chromium-review.googlesource.com/791610
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519414}
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/app_menu/app_menu_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/app_menu/app_menu_controller.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/bookmarks/bookmark_context_menu_cocoa_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/bookmarks/bookmark_context_menu_cocoa_controller.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/download/download_shelf_context_menu_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/extensions/browser_action_button.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/extensions/browser_action_button.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/extensions/browser_action_button_interactive_uitest.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/extensions/media_gallery_list_entry_view.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/page_info/permission_selector_button.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/page_info/permission_selector_button.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/page_info/split_block_button.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/permission_bubble/permission_bubble_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/tabs/tab_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/chrome/browser/ui/cocoa/tabs/tab_controller.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/base/cocoa/menu_controller.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/base/cocoa/menu_controller.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/base/cocoa/menu_controller_unittest.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/views/controls/menu/menu_runner_cocoa_unittest.mm
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/views/controls/menu/menu_runner_impl_cocoa.h
[modify] https://crrev.com/fcceef5d30a36ed29063cb6782e9f6c6006d5f3a/ui/views/controls/menu/menu_runner_impl_cocoa.mm

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e181f932d32e0bda1ff64960b8d82c8b7145ec83

commit e181f932d32e0bda1ff64960b8d82c8b7145ec83
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Nov 29 23:18:45 2017

Add support for jumbo builds to ui/aura

Jumbo is unity build system for Chromium, where files are
merged before compilation. This gives a much lower resource
requirement for compiling since headers only have to be
compiled once and only one set of template instances has to
be generated (and because of some other reasons).

This is expected to lower the resource usage for compiling
chrome+content_shell+blink_tests by 0.5%.

Bug:  773275 
Change-Id: I1be67ab58e42ea8fbe8537f719b05ca3082aa3c5
Reviewed-on: https://chromium-review.googlesource.com/786470
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#520297}
[modify] https://crrev.com/e181f932d32e0bda1ff64960b8d82c8b7145ec83/ui/aura/BUILD.gn

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d

commit 0e33dbf71d05b6dbd997494c3152c7885d7c6d8d
Author: Daniel Bratell <bratell@opera.com>
Date: Tue Dec 05 20:18:47 2017

Declare //ui template instantiations so that all know about it

There were code in ui/views that didn't know about the class
property type specialization for gfx::Insets* and Views* so they
got the default template implementation.

In jumbo builds the compiler noticed that there was code
using the default implementation before the specialization
appeared and it triggered a compilation error.

The fix is to declare the specialization so that all code uses it.

Bug:  773275 
Change-Id: Ifa925a2002ba930af16dc6940a04b2a480721438
Reviewed-on: https://chromium-review.googlesource.com/786190
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#521803}
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/disconnected_app_handler.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/display/display_configuration_controller.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/frame/detached_title_area_renderer.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/public/cpp/window_properties.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/root_window_settings.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/test/ui_controls_factory_ash.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/touch/touch_uma.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/wm/move_event_handler.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/wm/non_client_frame_controller.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/wm/window_properties.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ash/wm/workspace/workspace_event_handler_mash.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/chrome/browser/ui/views/theme_profile_key.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/components/exo/surface.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/components/exo/wayland/server.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/accessibility/platform/aura_window_properties.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/aura_constants.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/capture_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/cursor_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/drag_drop_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/drag_drop_delegate.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/event_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/focus_change_observer.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/screen_position_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/visibility_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/client/window_parenting_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/mus/property_converter_unittest.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/aura/window_unittest.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/base/class_property.h
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/base/class_property_unittest.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/controls/native/native_view_host_aura.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/view_constants_aura.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/view_constants_aura.h
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/view_properties.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/view_properties.h
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/views/widget/native_widget_aura.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/core/shadow_controller.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/core/shadow_types.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/core/transient_window_manager.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/core/window_animations.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/activation_change_observer.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/activation_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/activation_delegate.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/animation_host.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/tooltip_client.cc
[modify] https://crrev.com/0e33dbf71d05b6dbd997494c3152c7885d7c6d8d/ui/wm/public/window_move_client.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0c1abf81da3639bb8da40ddbfda61e461097c9b

commit b0c1abf81da3639bb8da40ddbfda61e461097c9b
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Dec 08 06:36:47 2017

Add support for jumbo builds to ui/views

Jumbo is unity build system for Chromium, where files are
merged before compilation. This gives a much lower resource
requirement for compiling since headers only have to be
compiled once and only one set of template instances has to
be generated (and because of some other reasons).

This is expected to lower the resource usage for compiling
chrome+content_shell+blink_tests by 1%.

Bug:  773275 
Change-Id: I6db13afe6147a9186d48c6796b7331d502ea939c
Reviewed-on: https://chromium-review.googlesource.com/786471
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#522724}
[modify] https://crrev.com/b0c1abf81da3639bb8da40ddbfda61e461097c9b/ui/views/BUILD.gn
[modify] https://crrev.com/b0c1abf81da3639bb8da40ddbfda61e461097c9b/ui/views/mus/BUILD.gn

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7a0c21c4aaf3cc53bfaa96ec59e1e7b3bba30fa

commit a7a0c21c4aaf3cc53bfaa96ec59e1e7b3bba30fa
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 13 15:07:56 2017

Rename one of two ItemView classes

There is one ItemView class in notification_view_md.h so if that
header is in the same translation unit as notification_view.cc
then the local ItemView class will fail to compile. That happens
in jumbo builds.

Bug:  773275 
Change-Id: I2911c4cbcc73df186d9520d4182a186a76d2ce34
Reviewed-on: https://chromium-review.googlesource.com/824364
Commit-Queue: Daniel Bratell <bratell@opera.com>
Commit-Queue: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523774}
[modify] https://crrev.com/a7a0c21c4aaf3cc53bfaa96ec59e1e7b3bba30fa/ui/message_center/views/notification_view.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ecd1b5af57c7ed18e1f351976ee7ef513ba75a6b

commit ecd1b5af57c7ed18e1f351976ee7ef513ba75a6b
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 13 16:26:31 2017

Moved two kSlopEpsilon constants that clashed in jumbo builds

Both gesture_detector.cc and scale_gesture_detector.cc have
a local constant kSlopEpison with the same value. Since
I could find no suitable shared place for it, I moved them
into a tighter scope. That way they will not clash in jumbo
builds where several cc files share the same translation
unit.

Bug:  773275 
Change-Id: I22c6a452532fbe0b2be3fddb29388a2d65aa901a
Reviewed-on: https://chromium-review.googlesource.com/824241
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#523784}
[modify] https://crrev.com/ecd1b5af57c7ed18e1f351976ee7ef513ba75a6b/ui/events/gesture_detection/gesture_detector.cc
[modify] https://crrev.com/ecd1b5af57c7ed18e1f351976ee7ef513ba75a6b/ui/events/gesture_detection/scale_gesture_detector.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c566c6f9ca594c402c2a91e6407d3e68f3aec594

commit c566c6f9ca594c402c2a91e6407d3e68f3aec594
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 13 17:51:07 2017

Removing "using namespace" from ui/events code

using namespace includes a full other namespace into the
global scope and that doesn't work well with jumbo builds for two
reasons: Too many symbols, and "using namespace" isn't allowed
in something that is included.

It is also not allowed by the style guide.

This patch removes the using namespace and uses explicit
namespaces instead. It also changes some repetitive code
to use macros to make it less repetitive and easier to read.

Bug:  773275 
Change-Id: If45f81b435920bd9048567ec65f9b142046e86ea
Reviewed-on: https://chromium-review.googlesource.com/824843
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#523808}
[modify] https://crrev.com/c566c6f9ca594c402c2a91e6407d3e68f3aec594/ui/events/android/motion_event_android.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1024f84d91e7c2477a713138ee270bc8eca00b69

commit 1024f84d91e7c2477a713138ee270bc8eca00b69
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 13 22:13:44 2017

Declare //ui template instantiations so that all know about it

There were code in ui/views that didn't know about the class
property type specialization for ::wm::ShadowElevation. This was
solved by the linker later since there was other instances
of the right template.

In jumbo builds the compiler noticed that there was code
trying to access the template before the specialization was known
and that is a C++ error so the code did not compile.

The fix is to declare the specialization so that all code knows
about it.

Bug:  773275 
Change-Id: Ifa4bc0088a8525a7a9907037d746ecb542dfbf71
Reviewed-on: https://chromium-review.googlesource.com/824665
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#523903}
[modify] https://crrev.com/1024f84d91e7c2477a713138ee270bc8eca00b69/ui/wm/core/shadow_types.h

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ca275d328aefb56e2581e0558b5dd0cc91db6b4e

commit ca275d328aefb56e2581e0558b5dd0cc91db6b4e
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 14 09:02:02 2017

Renaming one of two g_linux_input_method_context_factory

Both the real and the testing version of
ui::LinuxInputMethodContextFactory were named
g_linux_input_method_context_factory which caused collisions
in jumbo builds. This renames the testing one to
g_linux_input_method_context_factory_for_testing

Bug:  773275 
Change-Id: Ia11a8a16ce5a40ef4a6469fe5bdcfeab2323e068
Reviewed-on: https://chromium-review.googlesource.com/826064
Reviewed-by: Yuichiro Hanada <yhanada@chromium.org>
Reviewed-by: Shu Chen <shuchen@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#524030}
[modify] https://crrev.com/ca275d328aefb56e2581e0558b5dd0cc91db6b4e/ui/base/ime/input_method_initializer.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Dec 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86df16e216911935b060c168940e205113c2ff0b

commit 86df16e216911935b060c168940e205113c2ff0b
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 14 15:15:56 2017

Deduplicate and rename some constants in X11 clipboard code

In jumbo builds symbols with the same name that end up in
the same translation unit might clash even if they don't
normally clash. That was the case with a couple of constants
in the ui/base clipboard code for X11.

This patch shares some of the constants (the ones with the same
value) and renames the remaining one.

Bug:  773275 
Change-Id: I718cecdf5e490de17217962767322f3c847a3e53
Reviewed-on: https://chromium-review.googlesource.com/824522
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#524067}
[modify] https://crrev.com/86df16e216911935b060c168940e205113c2ff0b/ui/base/clipboard/clipboard_aurax11.cc
[modify] https://crrev.com/86df16e216911935b060c168940e205113c2ff0b/ui/base/x/selection_owner.cc
[modify] https://crrev.com/86df16e216911935b060c168940e205113c2ff0b/ui/base/x/selection_owner.h
[modify] https://crrev.com/86df16e216911935b060c168940e205113c2ff0b/ui/base/x/selection_requestor.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf5ed35b3c9be361534548fe273682064b021ac5

commit cf5ed35b3c9be361534548fe273682064b021ac5
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Dec 18 18:32:48 2017

Deduplicated a kAnimationStartOrAfterHideOpacity constant

Both the floating keyboard container and the full width
keyboard container need kAnimationStartOrAfterHideOpacity
so instead of having two of them, this patch moves it to
container_behavior.h.

Bug:  773275 
Change-Id: I1196570016881bd58e9f3c73f33f3a674d8fc607
Reviewed-on: https://chromium-review.googlesource.com/824274
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#524746}
[modify] https://crrev.com/cf5ed35b3c9be361534548fe273682064b021ac5/ui/keyboard/container_behavior.h
[modify] https://crrev.com/cf5ed35b3c9be361534548fe273682064b021ac5/ui/keyboard/container_floating_behavior.cc
[modify] https://crrev.com/cf5ed35b3c9be361534548fe273682064b021ac5/ui/keyboard/container_full_width_behavior.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc394fb8130a1798a148bfa8899cda6fce28ef08

commit cc394fb8130a1798a148bfa8899cda6fce28ef08
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Dec 18 18:45:22 2017

Renaming one of the NOTIFY_OBSERVERS macros

ui/events/devices have two NOTIFY_OBSERVERS macros, similar but
not identical. This renames one of them NOTIFY_ANDROID_OBSERVERS
to avoid clashes in jumbo builds where they ended up in the
same translation unit.

Bug:  773275 
Change-Id: I626bf809be342993bc9f455aab977e4918538446
Reviewed-on: https://chromium-review.googlesource.com/824882
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#524752}
[modify] https://crrev.com/cc394fb8130a1798a148bfa8899cda6fce28ef08/ui/events/devices/input_device_observer_android.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4121a01d35e1f48f178f0920882da43903a825a

commit f4121a01d35e1f48f178f0920882da43903a825a
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 20 15:44:16 2017

Rename one of the two NOTIFY_OBSERVERS macros

There was still two NOTIFY_OBSERVERS macros and in jumbo builds
they triggered an error about macros being redeclared. This
patch renames the macro that implements observer handling
methods for Windows from NOTIFY_OBSERVERS to NOTIFY_OBSERVERS_METHOD.

Bug:  773275 
Change-Id: Ie58fd1793b144b694a0a34bfa552569db3f8a200
Reviewed-on: https://chromium-review.googlesource.com/836611
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#525333}
[modify] https://crrev.com/f4121a01d35e1f48f178f0920882da43903a825a/ui/events/devices/input_device_observer_win.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c424799458d5df9163c47837de58bde745ec0c6a

commit c424799458d5df9163c47837de58bde745ec0c6a
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 20 20:57:40 2017

Use differently named functions for each jpeg codec.

In ChromeOS there are two JPEG decoders. They have the same API
structure so the helper functions look the same. Unfortunately
they also have the same names so they clash in jumbo builds.

The methods are also unfortunately not reusable since they work
on different types (one work on libjpeg_turbo types, the other
on the IJG jpeg decoder types).

This patch adds the Ijg prefix to the types and functions used by
the "robust" codec.

Bug:  773275 
Change-Id: I73b44c019ca72adbc3db04011c61550a0034ec85
Reviewed-on: https://chromium-review.googlesource.com/836899
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525447}
[modify] https://crrev.com/c424799458d5df9163c47837de58bde745ec0c6a/ui/gfx/codec/chromeos/jpeg_codec_robust_slow.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/590cb6d07955bc31a0df5a4ef3530583f392ed5a

commit 590cb6d07955bc31a0df5a4ef3530583f392ed5a
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 20 23:30:27 2017

Rename one of two DisplayInfoLists in ui/display

There is a display::DisplayInfoList in
display_manager.h so creating another one by the same name
inside display is confusing. At least that is what the
compiler thinks in the jumbo project where they end up
being known in the same translation unit.

Bug:  773275 
Change-Id: I545cc9e8a64cbf3e61435da49c50cd72e360c61e
Reviewed-on: https://chromium-review.googlesource.com/837761
Reviewed-by: Dan Erat <derat@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#525512}
[modify] https://crrev.com/590cb6d07955bc31a0df5a4ef3530583f392ed5a/ui/display/manager/chromeos/touch_device_manager.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5a3f4874c5ee0e73179cd97ce4647e805118585

commit c5a3f4874c5ee0e73179cd97ce4647e805118585
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 21 11:59:23 2017

Give two different EnumMonitorCallback functions unique names

There are two classes in ui::display that enumerate monitors
to get information about them. They both used a local
callback named "EnumMonitorCallback" and those two functions
clashed in jumbo builds where they shared the same translation
unit.

Bug:  773275 
Change-Id: Ibb0889705d28c0169a210bc3e83411adb66216c7
Reviewed-on: https://chromium-review.googlesource.com/836560
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525672}
[modify] https://crrev.com/c5a3f4874c5ee0e73179cd97ce4647e805118585/ui/display/win/color_profile_reader.cc
[modify] https://crrev.com/c5a3f4874c5ee0e73179cd97ce4647e805118585/ui/display/win/screen_win.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6c0ab8c68fa438820ce09336298aaf9e037d416

commit b6c0ab8c68fa438820ce09336298aaf9e037d416
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 21 19:38:04 2017

Renamed two g_lock in ui/gfx to have more unique names

Recently a second g_lock joined the first g_lock in ui/gfx and
then they clashed in jumbo builds. This patch renames them
to match their use.

Bug:  773275 
Change-Id: I9b13a8f225d0ee22aca621fa32d4c6872429af0a
Reviewed-on: https://chromium-review.googlesource.com/839765
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#525771}
[modify] https://crrev.com/b6c0ab8c68fa438820ce09336298aaf9e037d416/ui/gfx/color_space.cc
[modify] https://crrev.com/b6c0ab8c68fa438820ce09336298aaf9e037d416/ui/gfx/icc_profile.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0170ecca023e78c5d084702e2b14e0dece3000a8

commit 0170ecca023e78c5d084702e2b14e0dece3000a8
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Thu Dec 21 19:57:18 2017

[jumbo] Support jumbo builds in parts of ui/

Update a number of ui/... directories to use jumbo.

BUG= 773275 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I3459eea5c7b34d85785af1e29490073aafeaacef
Reviewed-on: https://chromium-review.googlesource.com/754189
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525778}
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/base/x/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/compositor/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/display/manager/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/display/types/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/display/util/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/blink/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/devices/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/devices/x11/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/keycodes/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/platform/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/events/platform/x11/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/gfx/animation/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/gfx/codec/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/gfx/geometry/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/gfx/x/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/gl/init/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/latency/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/native_theme/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/shell_dialogs/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/snapshot/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/touch_selection/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/views/controls/webview/BUILD.gn
[modify] https://crrev.com/0170ecca023e78c5d084702e2b14e0dece3000a8/ui/web_dialogs/BUILD.gn

Project Member

Comment 25 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/84d938878a195f27f4664bd70bc86d55efb586f8

commit 84d938878a195f27f4664bd70bc86d55efb586f8
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 21 21:40:55 2017

Deduplicate kInchInMm so that they don't clash in jumbo builds

There is one kInchInMm in the anonymous namespace in
fake_display_snapshot.cc and one in
chromeos/display_change_observer.cc. In jumbo builds they
end up in the same translation unit and have the same
anonymous namespace.

Since the constant is needed in more than one place, an easy change
is to move it to display_util.h.

Bug:  773275 
Change-Id: I579a587786ea3fac5dd6dde85f51bd5ae1a62e69
Reviewed-on: https://chromium-review.googlesource.com/840024
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Dan Erat <derat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525814}
[modify] https://crrev.com/84d938878a195f27f4664bd70bc86d55efb586f8/ui/display/manager/chromeos/display_change_observer.cc
[modify] https://crrev.com/84d938878a195f27f4664bd70bc86d55efb586f8/ui/display/manager/fake_display_snapshot.cc
[modify] https://crrev.com/84d938878a195f27f4664bd70bc86d55efb586f8/ui/display/util/display_util.h

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90e67d6fbcee5b137245ae51bca4ad3d723a5af4

commit 90e67d6fbcee5b137245ae51bca4ad3d723a5af4
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Fri Dec 22 02:17:25 2017

[jumbo] Support jumbo builds in more of ui/

BUG= 773275 

Change-Id: I837bd8b82de9a66f961bcd596fabb3fcf619d0da
Reviewed-on: https://chromium-review.googlesource.com/840922
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525902}
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/ozone/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/platform_window/android/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/platform_window/mojo/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/platform_window/stub/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/platform_window/win/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/platform_window/x11/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/resources/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/surface/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/views/examples/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/views_content_client/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/wm/BUILD.gn
[modify] https://crrev.com/90e67d6fbcee5b137245ae51bca4ad3d723a5af4/ui/wm/public/BUILD.gn

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de93eadd0f868368da20e9011d33d8e287d5e059

commit de93eadd0f868368da20e9011d33d8e287d5e059
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Fri Dec 22 04:35:01 2017

[jumbo] Support jumbo builds in ui/gfx

BUG= 773275 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ifc67e69a34a048d0dd2b1d7be3ce42a38d6aee45
Reviewed-on: https://chromium-review.googlesource.com/840924
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525931}
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/ipc/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/ipc/color/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/ipc/geometry/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/ipc/skia/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/gfx/range/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/keyboard/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/message_center/BUILD.gn
[modify] https://crrev.com/de93eadd0f868368da20e9011d33d8e287d5e059/ui/message_center/public/cpp/BUILD.gn

Project Member

Comment 28 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1843c2f139e16b67fe990993c900d9f39489e322

commit 1843c2f139e16b67fe990993c900d9f39489e322
Author: Mostyn Bramley-Moore <mostynb@vewd.com>
Date: Fri Dec 22 09:31:22 2017

[jumbo] renaming to avoid jumbo errors in //ui/views/examples/

BUG= 773275 
TBR=sadrul@chromium.org

Change-Id: Ic62b5b68decea8a5605cceba77939da6a2e77d60
Reviewed-on: https://chromium-review.googlesource.com/842722
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525963}
[modify] https://crrev.com/1843c2f139e16b67fe990993c900d9f39489e322/ui/views/examples/label_example.cc
[modify] https://crrev.com/1843c2f139e16b67fe990993c900d9f39489e322/ui/views/examples/widget_example.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c2fecad5f712283a9862df2877459ae28a317441

commit c2fecad5f712283a9862df2877459ae28a317441
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Dec 22 18:43:53 2017

Giving two different kDefaultTransationDurationMs unique names

The animation code has two different
kDefaultTransationDurationMs depending on what code is used.
This caused issues with jumbo builds where one of them
shadowed the other one (scary). This renames them so that they
have unique names, and also moves them into the same scope to
keep things consistent.

Bug:  773275 
Change-Id: I77b5ab72e48a9c967105d8eb0b2610cfbd6f0b40
Reviewed-on: https://chromium-review.googlesource.com/841063
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#526028}
[modify] https://crrev.com/c2fecad5f712283a9862df2877459ae28a317441/ui/compositor/layer_animator.cc
[modify] https://crrev.com/c2fecad5f712283a9862df2877459ae28a317441/ui/compositor/scoped_layer_animation_settings.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Dec 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08f3551d8b86cd9fa308013a5234b0c6c403023a

commit 08f3551d8b86cd9fa308013a5234b0c6c403023a
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Sat Dec 23 00:57:12 2017

[jumbo] GamepadEvent constructor is now inline

The .cc file was referenced from two BUILD.gn files.

With the constructor inline, the .cc file is not needed, and
a duplicate definition error in jumbo builds is avoided.

BUG= 773275 

Change-Id: Ib95fb3c79be6818ef2680ff809b74ba4067bc648
Reviewed-on: https://chromium-review.googlesource.com/842524
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526116}
[modify] https://crrev.com/08f3551d8b86cd9fa308013a5234b0c6c403023a/components/exo/BUILD.gn
[modify] https://crrev.com/08f3551d8b86cd9fa308013a5234b0c6c403023a/components/exo/gaming_seat.cc
[modify] https://crrev.com/08f3551d8b86cd9fa308013a5234b0c6c403023a/ui/events/ozone/BUILD.gn
[modify] https://crrev.com/08f3551d8b86cd9fa308013a5234b0c6c403023a/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
[delete] https://crrev.com/497efd752862c762cccfe472e8e47f35c7d47933/ui/events/ozone/gamepad/gamepad_event.cc
[modify] https://crrev.com/08f3551d8b86cd9fa308013a5234b0c6c403023a/ui/events/ozone/gamepad/gamepad_event.h

Project Member

Comment 31 by bugdroid1@chromium.org, Dec 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e46bba9e343390cda0c4b4667e2bc9c34e165fc6

commit e46bba9e343390cda0c4b4667e2bc9c34e165fc6
Author: Dave Schuyler <dschuyler@chromium.org>
Date: Sat Dec 23 01:45:46 2017

Revert "[jumbo] GamepadEvent constructor is now inline"

This reverts commit 08f3551d8b86cd9fa308013a5234b0c6c403023a.

Reason for revert: Suspect (based on changing .gn in components) on this bot failing: https://ci.chromium.org/buildbot/chromium/Win/62147

Original change's description:
> [jumbo] GamepadEvent constructor is now inline
> 
> The .cc file was referenced from two BUILD.gn files.
> 
> With the constructor inline, the .cc file is not needed, and
> a duplicate definition error in jumbo builds is avoided.
> 
> BUG= 773275 
> 
> Change-Id: Ib95fb3c79be6818ef2680ff809b74ba4067bc648
> Reviewed-on: https://chromium-review.googlesource.com/842524
> Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526116}

TBR=ericwilligers@chromium.org,jochen@chromium.org

Change-Id: I88aee6a041718f9b1f8d0bf171ead40d08df1deb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  773275 
Reviewed-on: https://chromium-review.googlesource.com/843714
Reviewed-by: Dave Schuyler <dschuyler@chromium.org>
Commit-Queue: Dave Schuyler <dschuyler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526120}
[modify] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/components/exo/BUILD.gn
[modify] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/components/exo/gaming_seat.cc
[modify] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/ui/events/ozone/BUILD.gn
[modify] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
[add] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/ui/events/ozone/gamepad/gamepad_event.cc
[modify] https://crrev.com/e46bba9e343390cda0c4b4667e2bc9c34e165fc6/ui/events/ozone/gamepad/gamepad_event.h

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46702c5bb36219c48e1cc68c00d373b0482cd0b5

commit 46702c5bb36219c48e1cc68c00d373b0482cd0b5
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Dec 27 16:56:27 2017

Remove non-ios code from ui/base's ios build

Touch code isn't used by ios so should not be compiled.

In jumbo builds some touch symbols but not others ended up
in an object file and then the ios linker got unhappy. This
used to work by "luck" (i.e. if not a single symbol is used in
an object file, then it doesn't matter if that object file
refers to non-existing symbols).

Bug:  773275 
Change-Id: I08ea7005665a62728aeac1bf7cce16bca8be8402
Reviewed-on: https://chromium-review.googlesource.com/844714
Commit-Queue: Daniel Bratell <bratell@opera.com>
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526228}
[modify] https://crrev.com/46702c5bb36219c48e1cc68c00d373b0482cd0b5/ui/base/BUILD.gn

Project Member

Comment 33 by bugdroid1@chromium.org, Dec 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a42d305db256fca137316c16b93e39ea880de22c

commit a42d305db256fca137316c16b93e39ea880de22c
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 28 09:57:51 2017

Don't compile input_method_auralinux.cc in chromeos.

ChromeOS has an input_method_chromeos.cc which contains
for instance GetEngine(). With input_method_auralinux.cc
there will be two GetEngine() which is one too many.

Seen in jumbo builds where code ends up in the same translation
unit so that the compiler notices things like this.

Bug:  773275 
Change-Id: I64598e346e0dcbbac5348bd6ec9d903d2041d298
Reviewed-on: https://chromium-review.googlesource.com/844676
Reviewed-by: Shu Chen <shuchen@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#526284}
[modify] https://crrev.com/a42d305db256fca137316c16b93e39ea880de22c/ui/base/ime/BUILD.gn

Project Member

Comment 34 by bugdroid1@chromium.org, Dec 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9d58d82e26410c86839693c2d7dc7995db4ac1c

commit d9d58d82e26410c86839693c2d7dc7995db4ac1c
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Dec 28 10:05:31 2017

Move kWebURLsWithTitlesPboardType from global scope in ui/base

There is a kWebURLsWithTitlesPboardType in
third_party/mozilla/NSPasteBoard+Utils.h which causes confusion
with the kWebURLsWithTitlesPboardType in ui/base. This code
moves the definition to a tighter scope which makes symbol lookup
obvious to the compiler.

This caused issues with jumbo builds. Most likely the Mozilla
header doesn't get included in the same translation unit as
clipboard_util_mac.mm in non-jumbo builds.

Bug:  773275 
Change-Id: I77e9cc6c7a3beaa600cb620bddc000b1846ab985
Reviewed-on: https://chromium-review.googlesource.com/844697
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526287}
[modify] https://crrev.com/d9d58d82e26410c86839693c2d7dc7995db4ac1c/ui/base/clipboard/clipboard_util_mac.mm

Project Member

Comment 35 by bugdroid1@chromium.org, Dec 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b5957a4d17d4024829738ff07e7b150021d6c2d

commit 5b5957a4d17d4024829738ff07e7b150021d6c2d
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Dec 29 04:13:21 2017

Be explicit about base::Time to not mix it up with X11 Time.

There is an X11 typedef for a type called ::Time so if becomes
complicated if code imports another type named Time into the
global namespace with "using base::Time". Better is to just
write base::Time whenever you mean base::Time.

This was an issue that hit the jumbo project, implementing
unity builds for Chromium.

Bug:  773275 
Change-Id: Ic06f701eba210ef43899d0dc47ba5c891cb71866
Reviewed-on: https://chromium-review.googlesource.com/844695
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526360}
[modify] https://crrev.com/5b5957a4d17d4024829738ff07e7b150021d6c2d/ui/base/l10n/time_format.cc

Project Member

Comment 36 by bugdroid1@chromium.org, Jan 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e13fbc20b58153586c4112b7c9b411357c17d28

commit 2e13fbc20b58153586c4112b7c9b411357c17d28
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Jan 03 15:10:17 2018

Undefine Win32 macros IsMinimized, IsRestored, IsMaximized

Names used in the BaseWindow class are also windows.h macros.
That the names are the same as in the Windows API is
no coincidence but for now we don't want the Windows macros
to interfere so we undef them.

There are already undefs in widgets.h but depending on the order
of includes they might not be effective.

Bug:  773275 
Change-Id: I2be80c8a3f64f4741163def9c27e386c95753a40
Reviewed-on: https://chromium-review.googlesource.com/845582
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#526694}
[modify] https://crrev.com/2e13fbc20b58153586c4112b7c9b411357c17d28/ui/base/base_window.h

Project Member

Comment 37 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97

commit a3ba62ce1075de9b6c9a4db48cd12d001ca24b97
Author: Eric Willigers <ericwilligers@chromium.org>
Date: Tue Jan 09 22:38:02 2018

[jumbo] Single defn for input_method GetEngine()

Each of the implementation files for InputMethodBase derived classes
defined a GetEngine() method.

As these are now replaced with a single definition, jumbo builds
no longer fail.

BUG= 773275 

Change-Id: Ib3ee8d20779db24c1bbd14682f672cf275354821
Reviewed-on: https://chromium-review.googlesource.com/842607
Reviewed-by: Yuichiro Hanada <yhanada@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528141}
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/BUILD.gn
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/input_method_auralinux.cc
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/input_method_base.cc
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/input_method_base.h
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/input_method_chromeos.cc
[modify] https://crrev.com/a3ba62ce1075de9b6c9a4db48cd12d001ca24b97/ui/base/ime/input_method_win.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72962669e7a180d6f80c807adf5887e70378a572

commit 72962669e7a180d6f80c807adf5887e70378a572
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Mar 02 17:54:25 2018

Use a more unique variable name than g_display

In ui/gl there are three different global variables named
g_display. As a preparatory change for jumbo support this patch
renames them g_glx_display, g_egl_display, g_wgl_display.

Bug:  773275 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ic469a886632be8bc711bec8359aa5e4fae5ea6a4
Reviewed-on: https://chromium-review.googlesource.com/939479
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#540552}
[modify] https://crrev.com/72962669e7a180d6f80c807adf5887e70378a572/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/72962669e7a180d6f80c807adf5887e70378a572/ui/gl/gl_surface_glx.cc
[modify] https://crrev.com/72962669e7a180d6f80c807adf5887e70378a572/ui/gl/gl_surface_wgl.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4

commit 17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Mar 02 17:54:29 2018

Made some ui/gl ValidFormat functions into static methods

gl_image_memory.cc and gl_image_native_pixmap.cc would compile
together in a ui/gl jumbo build (not yet supported) and then the
ValidFormat methods would clash and prevent compilation.

This patch moves the functions into the classes that use them.

Bug:  773275 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I6f031d0897fd0ef96c536e3e4c97245aa108a024
Reviewed-on: https://chromium-review.googlesource.com/939475
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#540553}
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_glx.cc
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_glx.h
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_io_surface.h
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_io_surface.mm
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_memory.cc
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_memory.h
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/17b2f0603c1a4b942c84c0b281d9e8b859bfa4b4/ui/gl/gl_image_native_pixmap.h

Project Member

Comment 40 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61e7099ded7aa099e266c933516aa6e13998e939

commit 61e7099ded7aa099e266c933516aa6e13998e939
Author: Daniel Bratell <bratell@opera.com>
Date: Tue Jun 12 10:32:37 2018

Cut down the number of kIconSize variables

In jumbo build experiments, one obstacle for using jumbo for
chrome/ui is that there are too many kIconSize is the global
anonymous namespace. This patch renames them according to their
use, but other options are available (and are used) such as
moving the constants into the functions where they are used or
into a less global namespace.

Bug:  773275 
Change-Id: I62db42da677cffc53087aede879deaf5245b3640
Reviewed-on: https://chromium-review.googlesource.com/1076237
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#566377}
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/libgtkui/nav_button_provider_gtk3.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/page_info/page_info_ui.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/arc_app_dialog_view.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/extensions/extension_installed_bubble_view.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/ime/ime_window_frame_view.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.cc
[modify] https://crrev.com/61e7099ded7aa099e266c933516aa6e13998e939/chrome/browser/ui/webui/fileicon_source.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/895c6191d376029ffc5a7ae6b040cf68a6f3768c

commit 895c6191d376029ffc5a7ae6b040cf68a6f3768c
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Jun 13 19:46:34 2018

Rename some kBorderThickness constants to make them unique

In jumbo all files are merged into a single (or many) larger
translation units and then a couple of kBorderThickness variables
end up in same anonymous namespace so that they clash.

This patch gives those constants unique names, matching their
individual use.

Bug:  773275 
Change-Id: I1d81153af042c27927902b648fd7271a13f47c92
Reviewed-on: https://chromium-review.googlesource.com/1079168
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#566956}
[modify] https://crrev.com/895c6191d376029ffc5a7ae6b040cf68a6f3768c/chrome/browser/ui/views/ime/ime_window_frame_view.cc
[modify] https://crrev.com/895c6191d376029ffc5a7ae6b040cf68a6f3768c/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/895c6191d376029ffc5a7ae6b040cf68a6f3768c/chrome/browser/ui/views/try_chrome_dialog_win/try_chrome_dialog.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f99933e03c2e88089d5d6826e802d7d0b877bb6b

commit f99933e03c2e88089d5d6826e802d7d0b877bb6b
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Jun 13 19:46:58 2018

Rename some kButtonPadding constants to make them unique

In jumbo all files are merged into a single (or many) larger
translation unit and then a couple of kButtonPadding variables
end up in same anonymous namespace so that they clash.

This patch gives those constants unique names, matching their
individual use.

Bug:  773275 
Change-Id: I9d8be1076552b7ffaa095bb4d50d3fa3d5845274
Reviewed-on: https://chromium-review.googlesource.com/1078816
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#566957}
[modify] https://crrev.com/f99933e03c2e88089d5d6826e802d7d0b877bb6b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
[modify] https://crrev.com/f99933e03c2e88089d5d6826e802d7d0b877bb6b/chrome/browser/ui/views/download/download_item_view.cc

Project Member

Comment 43 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c099f68f4105a3c6ac9fe9041e4483a7e72be714

commit c099f68f4105a3c6ac9fe9041e4483a7e72be714
Author: Daniel Bratell <bratell@opera.com>
Date: Wed Jun 13 22:31:51 2018

Rename some kBackgroundColor constants to make them unique

In jumbo experiments in chrome/browser/ui, one of the problems
is that there are many kBackgroundColor variables in anonymous
namespaces that become the same anonymous namespaces in jumbo.

This patch gives those constants unique names, matching their
individual use.

Bug:  773275 
Change-Id: I8746a88a32f64a0645fd88e850e39d22bc635e19
Reviewed-on: https://chromium-review.googlesource.com/1078814
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567021}
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/cocoa/bubble_sync_promo_controller.mm
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/fullscreen_control/fullscreen_control_view.cc
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/ime/ime_window_frame_view.cc
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/infobars/infobar_view.cc
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/subtle_notification_view.cc
[modify] https://crrev.com/c099f68f4105a3c6ac9fe9041e4483a7e72be714/chrome/browser/ui/views/try_chrome_dialog_win/try_chrome_dialog.cc

Project Member

Comment 44 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb26394ee48ecccf0a00f38120a6130c1f71aa33

commit fb26394ee48ecccf0a00f38120a6130c1f71aa33
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jun 15 15:50:42 2018

Rename enums to avoid conflict (chrome/browser/ui)

The enums ColumnSetType are defined in both
views/passwords/password_pending_view.cc
and views/passwords/password_items_view.cc.
When building using Jumbo both declaration
ends up in the same namespace, causing a
conflict. This commits resolves the issue
by renaming the enums to something more
file specific.

Bug:  773275 
Change-Id: I8f48b68df53166e910ab0beaf13ba80af63e40ae
Reviewed-on: https://chromium-review.googlesource.com/1102432
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#567661}
[modify] https://crrev.com/fb26394ee48ecccf0a00f38120a6130c1f71aa33/chrome/browser/ui/views/passwords/password_items_view.cc
[modify] https://crrev.com/fb26394ee48ecccf0a00f38120a6130c1f71aa33/chrome/browser/ui/views/passwords/password_pending_view.cc

Project Member

Comment 45 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08b5d5225f2b04bfe08e17306f30981cb158bbe0

commit 08b5d5225f2b04bfe08e17306f30981cb158bbe0
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jun 15 15:52:54 2018

Resolve namespace scope issue (chrome/browser/ui)

When building using Jumbo files gets merged.
This results in a conflict with the namespace prefs in
webui/media_router/media_router_webui_message_handler.cc.
This commit solves this by specifying that the global
namespace should be used, by adding the "::" prefix.

Bug:  773275 
Change-Id: I504984ef83db8cc23561f1f16ce99cdbee89721e
Reviewed-on: https://chromium-review.googlesource.com/1102419
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#567665}
[modify] https://crrev.com/08b5d5225f2b04bfe08e17306f30981cb158bbe0/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Jun 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0b20f774b23bc231b386f3c845228fa76be1512

commit f0b20f774b23bc231b386f3c845228fa76be1512
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jun 18 08:04:58 2018

Rename kDialogWidth constants to make them unique

When building with Jumbo, kDialog in
webui/signin/signin_email_confirmation_dialog.cc and
views/webshare/webshare_target_picker_view.cc conflict.
This commits solves the issue by renaming the constant
to something more file specific.

Bug:  773275 
Change-Id: Iea327ab1948297fac97d3e7aaab9cb27a3631a30
Reviewed-on: https://chromium-review.googlesource.com/1102474
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567945}
[modify] https://crrev.com/f0b20f774b23bc231b386f3c845228fa76be1512/chrome/browser/ui/views/webshare/webshare_target_picker_view.cc
[modify] https://crrev.com/f0b20f774b23bc231b386f3c845228fa76be1512/chrome/browser/ui/webui/signin/signin_email_confirmation_dialog.cc

Project Member

Comment 47 by bugdroid1@chromium.org, Jun 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b1a7bd534af9e4a162e459132e6bcc0e621052a

commit 6b1a7bd534af9e4a162e459132e6bcc0e621052a
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jun 25 07:15:58 2018

Rename kNameField to be unique (browser/ui)

When building using Jumbo unnamed namespaces gets merged
and variables with the same name conflict. This happens
for the variables kNameField in webui/certficates_handler.cc
and webui/inspect_ui.cc.

This commit solves the issue by renaming the variables to
something more file specific. It also renames other variables
in the same namespace, so the naming is locally consistent.

Bug:  773275 
Change-Id: I0b900803f4f84c058c43e1b5b3f395c8e14774f9
Reviewed-on: https://chromium-review.googlesource.com/1107929
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Reviewed-by: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569975}
[modify] https://crrev.com/6b1a7bd534af9e4a162e459132e6bcc0e621052a/chrome/browser/ui/webui/certificates_handler.cc
[modify] https://crrev.com/6b1a7bd534af9e4a162e459132e6bcc0e621052a/chrome/browser/ui/webui/inspect_ui.cc

Project Member

Comment 48 by bugdroid1@chromium.org, Jun 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d35d0f75f86cdb5efcea97c8e64009f68f776eb2

commit d35d0f75f86cdb5efcea97c8e64009f68f776eb2
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jun 25 07:33:07 2018

Rename kAvatarIconSize to be unique (browser/ui)

When building using Jumbo unnamed namespaces gets merged
and variables with the same name conflict. This happens
for the variables kAvatarIconSize in
views/profiles/dice_accounts_menu.cc and
webui/signin/user_manager_screen_handler.cc.

This commit solves the issue by renaming the variables to
something more file specific.

Bug:  773275 
Change-Id: Ibb0aa4bf8c65fcdc70d5b747cccea336ab77ca9b
Reviewed-on: https://chromium-review.googlesource.com/1107708
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#569977}
[modify] https://crrev.com/d35d0f75f86cdb5efcea97c8e64009f68f776eb2/chrome/browser/ui/views/profiles/dice_accounts_menu.cc
[modify] https://crrev.com/d35d0f75f86cdb5efcea97c8e64009f68f776eb2/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc

Project Member

Comment 49 by bugdroid1@chromium.org, Jun 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/656c9ee27409c128c62f834e42e6f1d8ee712191

commit 656c9ee27409c128c62f834e42e6f1d8ee712191
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jun 25 07:42:37 2018

Move kResizeAreaCornerSize from namespace

When building with Jumbo, kResizeAreaCorner in
views/frame/opaque_browser_frame_view.cc and
views/overlay/overlay_window_views.cc conflict.
This commit solves the issue by moving the
constants from the namespace to the place where
it is used.

Bug:  773275 
Change-Id: I87195fe6f650088e7aaa6117ad44e9e919d17cc9
Reviewed-on: https://chromium-review.googlesource.com/1102499
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569978}
[modify] https://crrev.com/656c9ee27409c128c62f834e42e6f1d8ee712191/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
[modify] https://crrev.com/656c9ee27409c128c62f834e42e6f1d8ee712191/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

Comment 50 by bugdroid1@chromium.org, Jun 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72299e9fabd5eacef495374d696d005acdf41784

commit 72299e9fabd5eacef495374d696d005acdf41784
Author: Oscar Johansson <oscarj@opera.com>
Date: Tue Jun 26 17:18:19 2018

Resolve namespace scope issue (chrome/browser/ui)

When building using Jumbo files gets merged.
This results in a conflict with the namespace prefs in
views/media_router/cloud_services_dialog_view.cc.
This commit solves this by specifying that the global
namespace should be used, by adding the "::" prefix.

Bug:  773275 
Change-Id: I4803ef96e32ae8a1d9f4c54b3cf95780ecedb6e5
Reviewed-on: https://chromium-review.googlesource.com/1114838
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570439}
[modify] https://crrev.com/72299e9fabd5eacef495374d696d005acdf41784/chrome/browser/ui/views/media_router/cloud_services_dialog_view.cc

Project Member

Comment 51 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9f66abfa7e0f3bb1284907e83ccb1b8ef673564

commit f9f66abfa7e0f3bb1284907e83ccb1b8ef673564
Author: Oscar Johansson <oscarj@opera.com>
Date: Thu Jun 28 10:10:36 2018

Resolve LocationBarDecoration conflict(browser/ui)

LocationBarDecoration is defined as a struct in
chrome/browser/ui/views/location_bar/location_bar_layout.h
and as a class in
chrome/browser/ui/views/location_bar/location_bar_layout.h.
When building using jumbo this causes a conflict.

This commit solves the issue by renaming the struct to
DecorationInfo.

Bug:  773275 
Change-Id: Iaeece5319fe66b335cf1dcda01f3d984f0cc5f7a
Reviewed-on: https://chromium-review.googlesource.com/1116797
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#571063}
[modify] https://crrev.com/f9f66abfa7e0f3bb1284907e83ccb1b8ef673564/chrome/browser/ui/views/location_bar/location_bar_layout.cc
[modify] https://crrev.com/f9f66abfa7e0f3bb1284907e83ccb1b8ef673564/chrome/browser/ui/views/location_bar/location_bar_layout.h

Project Member

Comment 52 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9132753ae3f82df4866f94309f80dbc1bc31b83b

commit 9132753ae3f82df4866f94309f80dbc1bc31b83b
Author: Oscar Johansson <oscarj@opera.com>
Date: Thu Jun 28 17:59:29 2018

Move kTitleIconSize to class member (browser/ui)

When building using Jumbo unnamed namespaces gets merged
and variables with the same name conflict. This happens
for the variables kTitleIconSize in
views/ime/ime_window_frame_view.cc,
views/relaunch_notification/relaunch_recommended_bubble_view.cc
and views/relaunch_notification/relaunch_required_dialog_view.cc.

This commit solves the issue by moving the variables from
the namespace to the class. It also moves other variables
in the same namespace, to keep the files locally consistent.

Bug:  773275 
Change-Id: I0ec9b735f6f6c579bebe61ab6a1a8cfcac876f56
Reviewed-on: https://chromium-review.googlesource.com/1107619
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571196}
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/ime/ime_window_frame_view.cc
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/ime/ime_window_frame_view.h
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.cc
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.h
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc
[modify] https://crrev.com/9132753ae3f82df4866f94309f80dbc1bc31b83b/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.h

Project Member

Comment 53 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/515ed0734e52658fc58dcee0963f853f7cd3fb89

commit 515ed0734e52658fc58dcee0963f853f7cd3fb89
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jul 02 15:19:42 2018

Rename local kColor constants (browser/ui)

When building using jumbo unnamed namespaces gets merged
and variables with the same name conflict. This happens
for the variables kFooterBackgroundColor and kSeparatorColor
in ui/views/autofill/autofill_popup_view_native_views.cc and
ui/views/passwords/password_generation_popup_view_views.cc.

This commit solves the issue by renaming the constants to
something more file specific. It also renames other variables
in the same namespace, so the naming is locally consistent.

Bug:  773275 
Change-Id: I3f71efeaa29eccdbe646e7c2fb512f218c2f010a
Reviewed-on: https://chromium-review.googlesource.com/1118260
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#571897}
[modify] https://crrev.com/515ed0734e52658fc58dcee0963f853f7cd3fb89/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
[modify] https://crrev.com/515ed0734e52658fc58dcee0963f853f7cd3fb89/chrome/browser/ui/views/passwords/password_generation_popup_view_views.cc

Project Member

Comment 54 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/754d53793e93af0e2dc575ec0c4dd37bf3ffc48f

commit 754d53793e93af0e2dc575ec0c4dd37bf3ffc48f
Author: Oscar Johansson <oscarj@opera.com>
Date: Mon Jul 02 15:39:42 2018

Move constants from namespace to class (browser/ui)

When building using Jumbo unnamed namespaces gets merged
and variables with the same name conflict. This happens
for the variables kStartPadding and kEndPadding in
chrome/browser/ui/views/download/download_item_view.cc
and chrome/browser/ui/views/download/download_shelf_view.cc.

This commit solves the issue by moving the variables from
the namespace to the class. It also moves other variables
in the same namespace, to keep the files locally consistent.

Bug:  773275 
Change-Id: I8d23ae9999fe404d253a3a189e6d17d81786939d
Reviewed-on: https://chromium-review.googlesource.com/1107063
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#571901}
[modify] https://crrev.com/754d53793e93af0e2dc575ec0c4dd37bf3ffc48f/chrome/browser/ui/views/download/download_item_view.cc
[modify] https://crrev.com/754d53793e93af0e2dc575ec0c4dd37bf3ffc48f/chrome/browser/ui/views/download/download_item_view.h
[modify] https://crrev.com/754d53793e93af0e2dc575ec0c4dd37bf3ffc48f/chrome/browser/ui/views/download/download_shelf_view.cc
[modify] https://crrev.com/754d53793e93af0e2dc575ec0c4dd37bf3ffc48f/chrome/browser/ui/views/download/download_shelf_view.h

Owner: brat...@opera.com
Status: Started (was: Untriaged)
Project Member

Comment 56 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16

commit ff4a5a9d5d21a724b090cd90524fe7f071aa2c16
Author: Daniel Bratell <bratell@opera.com>
Date: Fri Sep 07 09:31:38 2018

Add support for jumbo compilations to the rest of //ui

Jumbo is the Chromium implementation of a Unity build system aimed at
dramatically lowering the compilation times, especially for those
without access to goma.

In reference testing, this patch reduces the effort to compile
content_shell+chrome+blink_tests by about 9 CPU minutes, 1-2% of the
total effort. Earlier patches saved more so the total build effort
reduction in //ui is about 41 CPU minutes.

There is still some code in ui that doesn't use jumbo. Specifically
most of the tests.

Bug:  773275 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ie59fec4b67fc1e3d6855d04a4b9a1088e0a08768
Reviewed-on: https://chromium-review.googlesource.com/834348
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#589473}
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/accessibility/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/base/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/base/ime/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/compositor/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/display/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/events/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/gfx/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/gl/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/web_dialogs/BUILD.gn
[modify] https://crrev.com/ff4a5a9d5d21a724b090cd90524fe7f071aa2c16/ui/wm/BUILD.gn

Status: Fixed (was: Started)
Enough done in //ui to consider this fixed.

The last numbers I have is that without jumbo, //ui compiles in 64 CPU minutes. With jumbo and jumbo chunks of up to 50 files, it needs 12 CPU minutes, saving about 6 wall clock minutes (80%) on an 8 core machine for each full compilation.




Sign in to add a comment