Sadly I did not manage to produce any successful build yet.
Instead I am reliably running into this bug:
https://code.google.com/p/chromium/issues/detail?id=508897

So now I am retrying with this patchset:
https://codereview.chromium.org/1236863006/#ps160001

Hopefully it works; attaching the patch jsut in case somebody else wants
to give building a try.
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc
@@ -50,6 +50,7 @@
 #include "ui/gfx/path.h"
 #include "ui/gfx/skia_util.h"
 #include "ui/gfx/text_elider.h"
+#include "ui/gfx/vector_icons_public.h"
 #include "ui/native_theme/native_theme.h"
 #include "ui/views/controls/button/blue_button.h"
 #include "ui/views/controls/button/image_button.h"
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -2921,6 +2921,9 @@
             }],
             ['OS!="mac"', {
               'sources': [ '<@(chrome_browser_ui_views_non_mac_sources)' ],
+              'dependencies': [
+                '../ui/gfx/gfx.gyp:gfx_vector_icons',
+              ],
               'conditions': [
                 ['enable_extensions==1', {
                   'sources': [ '<@(chrome_browser_ui_views_extensions_non_mac_sources)' ],
--- a/ui/gfx/gfx.gyp
+++ b/ui/gfx/gfx.gyp
@@ -408,41 +408,6 @@
             'text_utils_skia.cc',
           ],
         }, {  # desktop platforms
-          'variables': {
-            'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc',
-            'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h',
-          },
-          'include_dirs': [
-            '<(SHARED_INTERMEDIATE_DIR)',
-          ],
-          'sources': [
-            '<(vector_icons_cc_file)',
-            '<(vector_icons_public_h_file)',
-
-            'paint_vector_icon.cc',
-            'paint_vector_icon.h',
-            'vector_icons.h',
-          ],
-          'actions': [
-            {
-              # GN version: //ui/gfx:aggregate_vector_icons
-              'action_name': 'aggregate_vector_icons',
-              'inputs': [
-                'vector_icons/',
-              ],
-              'outputs': [
-                '<(vector_icons_cc_file)',
-                '<(vector_icons_public_h_file)',
-              ],
-              'action': [ 'python',
-                          'vector_icons/aggregate_vector_icons.py',
-                          '--working_directory=vector_icons/',
-                          '--output_cc=<(vector_icons_cc_file)',
-                          '--output_h=<(vector_icons_public_h_file)',
-              ],
-              'message': 'Aggregating vector resources.',
-            },
-          ],
         }],
         ['use_x11==1', {
           'dependencies': [
@@ -472,6 +437,55 @@
         }],
       ],
     },
+    # Separate from gfx to limit the impact of the hard_dependency.
+    {
+      'target_name': 'gfx_vector_icons',
+      'type': '<(component)',
+      'dependencies': [
+        '<(DEPTH)/base/base.gyp:base',
+        '<(DEPTH)/skia/skia.gyp:skia',
+        'gfx',
+        'gfx_geometry',
+      ],
+      'defines': [
+        'GFX_IMPLEMENTATION',
+      ],
+      'sources': [
+        'paint_vector_icon.cc',
+        'paint_vector_icon.h',
+        'vector_icons.h',
+      ],
+      'variables': {
+        'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc',
+        'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h',
+      },
+      'include_dirs': [
+        '<(SHARED_INTERMEDIATE_DIR)',
+      ],
+      'actions': [
+        {
+          # GN version: //ui/gfx:aggregate_vector_icons
+          'action_name': 'aggregate_vector_icons',
+          'inputs': [
+            'vector_icons/',
+          ],
+          'outputs': [
+            '<(vector_icons_cc_file)',
+            '<(vector_icons_public_h_file)',
+          ],
+          'action': [ 'python',
+                      'vector_icons/aggregate_vector_icons.py',
+                      '--working_directory=vector_icons/',
+                      '--output_cc=<(vector_icons_cc_file)',
+                      '--output_h=<(vector_icons_public_h_file)',
+          ],
+          'message': 'Aggregating vector resources.',
+          'process_outputs_as_sources': 1,
+        },
+      ],
+      # Export a hard dependency because of generated header files.
+      'hard_dependency': 1,
+    },
     {
       'target_name': 'gfx_test_support',
       'type': 'static_library',
--- a/ui/views/controls/image_view.cc
+++ b/ui/views/controls/image_view.cc
@@ -11,6 +11,7 @@
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/geometry/insets.h"
 #include "ui/gfx/paint_vector_icon.h"
+#include "ui/gfx/vector_icons_public.h"
 #include "ui/views/painter.h"
 
 namespace views {
--- a/ui/views/controls/image_view.h
+++ b/ui/views/controls/image_view.h
@@ -7,11 +7,11 @@
 
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/gfx/image/image_skia.h"
-#include "ui/gfx/vector_icons_public.h"
 #include "ui/views/view.h"
 
 namespace gfx {
 class Canvas;
+enum class VectorIconId;
 }
 
 namespace views {
--- a/ui/views/views.gyp
+++ b/ui/views/views.gyp
@@ -609,6 +609,7 @@
         '../events/platform/events_platform.gyp:events_platform',
         '../gfx/gfx.gyp:gfx',
         '../gfx/gfx.gyp:gfx_geometry',
+        '../gfx/gfx.gyp:gfx_vector_icons',
         '../native_theme/native_theme.gyp:native_theme',
         '../resources/ui_resources.gyp:ui_resources',
         '../strings/ui_strings.gyp:ui_strings',

Reply via email to