| Index: ui/gfx/BUILD.gn | 
| diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn | 
| index 9f1490f8357b41e82862f4b1d676f9b33fece3dd..10bea8487e46f33ccf7fe9b6cbd0d7dcfaca8b54 100644 | 
| --- a/ui/gfx/BUILD.gn | 
| +++ b/ui/gfx/BUILD.gn | 
| @@ -20,6 +20,9 @@ source_set("gfx_export") { | 
| ] | 
| } | 
|  | 
| +vector_icons_cc_file = "$target_gen_dir/vector_icons.cc" | 
| +vector_icons_public_h_file = "$target_gen_dir/vector_icons_public.h" | 
| + | 
| component("gfx") { | 
| sources = [ | 
| "android/device_display_info.cc", | 
| @@ -321,6 +324,18 @@ component("gfx") { | 
| sources -= [ "canvas_notimplemented.cc" ] | 
| } | 
|  | 
| +  # Desktop only. | 
| +  if (use_aura || (!is_ios && !is_android)) { | 
| +    sources += [ | 
| +      "paint_vector_icon.cc", | 
| +      "paint_vector_icon.h", | 
| +      "vector_icons.h", | 
| +      vector_icons_cc_file, | 
| +      vector_icons_public_h_file, | 
| +    ] | 
| +    deps += [ ":aggregate_vector_icons" ] | 
| +  } | 
| + | 
| # Windows. | 
| if (is_win) { | 
| cflags = [ "/wd4324" ]  # Structure was padded due to __declspec(align()), which is | 
| @@ -373,6 +388,24 @@ component("gfx") { | 
| } | 
| } | 
|  | 
| +# GYP version: ui/gfx/gfx.gyp:aggregate_vector_icons | 
| +action("aggregate_vector_icons") { | 
| +  script = "vector_icons/aggregate_vector_icons.py" | 
| +  sources = [ | 
| +    "vector_icons", | 
| +  ] | 
| +  outputs = [ | 
| +    vector_icons_cc_file, | 
| +    vector_icons_public_h_file, | 
| +  ] | 
| + | 
| +  args = [ | 
| +    "--working_directory=" + rebase_path("vector_icons/"), | 
| +    "--output_cc=" + rebase_path(vector_icons_cc_file, root_build_dir), | 
| +    "--output_h=" + rebase_path(vector_icons_public_h_file, root_build_dir), | 
| +  ] | 
| +} | 
| + | 
| # Looking for gfx_geometry? It's //ui/gfx/geometry:geometry | 
|  | 
| source_set("test_support") { | 
|  |