| Index: chrome/renderer/BUILD.gn
 | 
| diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
 | 
| index f91fa7fdedc4c77d822b3d98a46401ac7f1e039a..fe0d57d8eb3d4d81b946ca8224e36f8146a2b2bc 100644
 | 
| --- a/chrome/renderer/BUILD.gn
 | 
| +++ b/chrome/renderer/BUILD.gn
 | 
| @@ -5,11 +5,6 @@
 | 
|  import("//build/config/features.gni")
 | 
|  import("//tools/grit/grit_rule.gni")
 | 
|  
 | 
| -gypi_values = exec_script("//build/gypi_to_gn.py",
 | 
| -                          [ rebase_path("../chrome_renderer.gypi") ],
 | 
| -                          "scope",
 | 
| -                          [ "../chrome_renderer.gypi" ])
 | 
| -
 | 
|  # GYP version: chrome/chrome_resources.gyp:chrome_resources
 | 
|  # (generate_renderer_resources action)
 | 
|  grit("resources") {
 | 
| @@ -26,7 +21,68 @@ grit("resources") {
 | 
|  }
 | 
|  
 | 
|  static_library("renderer") {
 | 
| -  sources = rebase_path(gypi_values.chrome_renderer_sources, ".", "..")
 | 
| +  sources = [
 | 
| +    "app_categorizer.cc",
 | 
| +    "app_categorizer.h",
 | 
| +    "banners/app_banner_client.cc",
 | 
| +    "banners/app_banner_client.h",
 | 
| +    "benchmarking_extension.cc",
 | 
| +    "benchmarking_extension.h",
 | 
| +    "chrome_content_renderer_client.cc",
 | 
| +    "chrome_content_renderer_client.h",
 | 
| +    "chrome_render_frame_observer.cc",
 | 
| +    "chrome_render_frame_observer.h",
 | 
| +    "chrome_render_thread_observer.cc",
 | 
| +    "chrome_render_thread_observer.h",
 | 
| +    "chrome_render_view_observer.cc",
 | 
| +    "chrome_render_view_observer.h",
 | 
| +    "content_settings_observer.cc",
 | 
| +    "content_settings_observer.h",
 | 
| +    "custom_menu_commands.h",
 | 
| +    "instant_restricted_id_cache.h",
 | 
| +    "loadtimes_extension_bindings.cc",
 | 
| +    "loadtimes_extension_bindings.h",
 | 
| +    "media/chrome_key_systems.cc",
 | 
| +    "media/chrome_key_systems.h",
 | 
| +    "net/net_error_helper.cc",
 | 
| +    "net/net_error_helper.h",
 | 
| +    "net/net_error_page_controller.cc",
 | 
| +    "net/net_error_page_controller.h",
 | 
| +    "net_benchmarking_extension.cc",
 | 
| +    "net_benchmarking_extension.h",
 | 
| +    "page_load_histograms.cc",
 | 
| +    "page_load_histograms.h",
 | 
| +    "page_load_metrics/metrics_render_frame_observer.cc",
 | 
| +    "page_load_metrics/metrics_render_frame_observer.h",
 | 
| +    "page_load_metrics/page_timing_metrics_sender.cc",
 | 
| +    "page_load_metrics/page_timing_metrics_sender.h",
 | 
| +    "plugins/non_loadable_plugin_placeholder.cc",
 | 
| +    "plugins/non_loadable_plugin_placeholder.h",
 | 
| +    "plugins/plugin_uma.cc",
 | 
| +    "plugins/plugin_uma.h",
 | 
| +    "prerender/prerender_dispatcher.cc",
 | 
| +    "prerender/prerender_dispatcher.h",
 | 
| +    "prerender/prerender_extra_data.cc",
 | 
| +    "prerender/prerender_extra_data.h",
 | 
| +    "prerender/prerender_helper.cc",
 | 
| +    "prerender/prerender_helper.h",
 | 
| +    "prerender/prerenderer_client.cc",
 | 
| +    "prerender/prerenderer_client.h",
 | 
| +    "searchbox/search_bouncer.cc",
 | 
| +    "searchbox/search_bouncer.h",
 | 
| +    "searchbox/searchbox.cc",
 | 
| +    "searchbox/searchbox.h",
 | 
| +    "searchbox/searchbox_extension.cc",
 | 
| +    "searchbox/searchbox_extension.h",
 | 
| +    "security_filter_peer.cc",
 | 
| +    "security_filter_peer.h",
 | 
| +    "tts_dispatcher.cc",
 | 
| +    "tts_dispatcher.h",
 | 
| +    "web_apps.cc",
 | 
| +    "web_apps.h",
 | 
| +    "worker_content_settings_client_proxy.cc",
 | 
| +    "worker_content_settings_client_proxy.h",
 | 
| +  ]
 | 
|  
 | 
|    defines = []
 | 
|  
 | 
| @@ -86,8 +142,32 @@ static_library("renderer") {
 | 
|    }
 | 
|  
 | 
|    if (enable_plugins) {
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_plugin_sources, ".", "..")
 | 
| +    sources += [
 | 
| +      "pepper/chrome_renderer_pepper_host_factory.cc",
 | 
| +      "pepper/chrome_renderer_pepper_host_factory.h",
 | 
| +      "pepper/pepper_flash_drm_renderer_host.cc",
 | 
| +      "pepper/pepper_flash_drm_renderer_host.h",
 | 
| +      "pepper/pepper_flash_font_file_host.cc",
 | 
| +      "pepper/pepper_flash_font_file_host.h",
 | 
| +      "pepper/pepper_flash_fullscreen_host.cc",
 | 
| +      "pepper/pepper_flash_fullscreen_host.h",
 | 
| +      "pepper/pepper_flash_menu_host.cc",
 | 
| +      "pepper/pepper_flash_menu_host.h",
 | 
| +      "pepper/pepper_flash_renderer_host.cc",
 | 
| +      "pepper/pepper_flash_renderer_host.h",
 | 
| +      "pepper/pepper_helper.cc",
 | 
| +      "pepper/pepper_helper.h",
 | 
| +      "pepper/pepper_shared_memory_message_filter.cc",
 | 
| +      "pepper/pepper_shared_memory_message_filter.h",
 | 
| +      "pepper/pepper_uma_host.cc",
 | 
| +      "pepper/pepper_uma_host.h",
 | 
| +      "plugins/chrome_plugin_placeholder.cc",
 | 
| +      "plugins/chrome_plugin_placeholder.h",
 | 
| +      "plugins/plugin_preroller.cc",
 | 
| +      "plugins/plugin_preroller.h",
 | 
| +      "plugins/power_saver_info.cc",
 | 
| +      "plugins/power_saver_info.h",
 | 
| +    ]
 | 
|      deps += [
 | 
|        "//components/pdf/renderer",
 | 
|        "//components/strings",
 | 
| @@ -99,15 +179,31 @@ static_library("renderer") {
 | 
|    }
 | 
|  
 | 
|    if (safe_browsing_mode != 0) {
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_basic_safe_browsing_sources,
 | 
| -                    ".",
 | 
| -                    "..")
 | 
| +    sources += [
 | 
| +      "safe_browsing/threat_dom_details.cc",
 | 
| +      "safe_browsing/threat_dom_details.h",
 | 
| +    ]
 | 
|      if (safe_browsing_mode == 1) {
 | 
| -      sources +=
 | 
| -          rebase_path(gypi_values.chrome_renderer_full_safe_browsing_sources,
 | 
| -                      ".",
 | 
| -                      "..")
 | 
| +      sources += [
 | 
| +        "safe_browsing/feature_extractor_clock.cc",
 | 
| +        "safe_browsing/feature_extractor_clock.h",
 | 
| +        "safe_browsing/features.cc",
 | 
| +        "safe_browsing/features.h",
 | 
| +        "safe_browsing/murmurhash3_util.cc",
 | 
| +        "safe_browsing/murmurhash3_util.h",
 | 
| +        "safe_browsing/phishing_classifier.cc",
 | 
| +        "safe_browsing/phishing_classifier.h",
 | 
| +        "safe_browsing/phishing_classifier_delegate.cc",
 | 
| +        "safe_browsing/phishing_classifier_delegate.h",
 | 
| +        "safe_browsing/phishing_dom_feature_extractor.cc",
 | 
| +        "safe_browsing/phishing_dom_feature_extractor.h",
 | 
| +        "safe_browsing/phishing_term_feature_extractor.cc",
 | 
| +        "safe_browsing/phishing_term_feature_extractor.h",
 | 
| +        "safe_browsing/phishing_url_feature_extractor.cc",
 | 
| +        "safe_browsing/phishing_url_feature_extractor.h",
 | 
| +        "safe_browsing/scorer.cc",
 | 
| +        "safe_browsing/scorer.h",
 | 
| +      ]
 | 
|        deps += [
 | 
|          "//chrome/common/safe_browsing:proto",
 | 
|          "//third_party/smhasher:murmurhash3",
 | 
| @@ -116,8 +212,89 @@ static_library("renderer") {
 | 
|    }
 | 
|  
 | 
|    if (enable_extensions) {
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_extensions_sources, ".", "..")
 | 
| +    sources += [
 | 
| +      "extensions/app_bindings.cc",
 | 
| +      "extensions/app_bindings.h",
 | 
| +      "extensions/automation_internal_custom_bindings.cc",
 | 
| +      "extensions/automation_internal_custom_bindings.h",
 | 
| +      "extensions/chrome_extensions_dispatcher_delegate.cc",
 | 
| +      "extensions/chrome_extensions_dispatcher_delegate.h",
 | 
| +      "extensions/chrome_extensions_renderer_client.cc",
 | 
| +      "extensions/chrome_extensions_renderer_client.h",
 | 
| +      "extensions/chrome_v8_extension_handler.cc",
 | 
| +      "extensions/chrome_v8_extension_handler.h",
 | 
| +      "extensions/extension_localization_peer.cc",
 | 
| +      "extensions/extension_localization_peer.h",
 | 
| +      "extensions/file_browser_handler_custom_bindings.cc",
 | 
| +      "extensions/file_browser_handler_custom_bindings.h",
 | 
| +      "extensions/file_manager_private_custom_bindings.cc",
 | 
| +      "extensions/file_manager_private_custom_bindings.h",
 | 
| +      "extensions/media_galleries_custom_bindings.cc",
 | 
| +      "extensions/media_galleries_custom_bindings.h",
 | 
| +      "extensions/notifications_native_handler.cc",
 | 
| +      "extensions/notifications_native_handler.h",
 | 
| +      "extensions/page_capture_custom_bindings.cc",
 | 
| +      "extensions/page_capture_custom_bindings.h",
 | 
| +      "extensions/platform_keys_natives.cc",
 | 
| +      "extensions/platform_keys_natives.h",
 | 
| +      "extensions/renderer_permissions_policy_delegate.cc",
 | 
| +      "extensions/renderer_permissions_policy_delegate.h",
 | 
| +      "extensions/resource_request_policy.cc",
 | 
| +      "extensions/resource_request_policy.h",
 | 
| +      "extensions/sync_file_system_custom_bindings.cc",
 | 
| +      "extensions/sync_file_system_custom_bindings.h",
 | 
| +      "extensions/tabs_custom_bindings.cc",
 | 
| +      "extensions/tabs_custom_bindings.h",
 | 
| +      "extensions/webstore_bindings.cc",
 | 
| +      "extensions/webstore_bindings.h",
 | 
| +      "media/cast_ipc_dispatcher.cc",
 | 
| +      "media/cast_ipc_dispatcher.h",
 | 
| +      "media/cast_receiver_audio_valve.cc",
 | 
| +      "media/cast_receiver_audio_valve.h",
 | 
| +      "media/cast_receiver_session.cc",
 | 
| +      "media/cast_receiver_session.h",
 | 
| +      "media/cast_receiver_session_delegate.cc",
 | 
| +      "media/cast_receiver_session_delegate.h",
 | 
| +      "media/cast_rtp_stream.cc",
 | 
| +      "media/cast_rtp_stream.h",
 | 
| +      "media/cast_session.cc",
 | 
| +      "media/cast_session.h",
 | 
| +      "media/cast_session_delegate.cc",
 | 
| +      "media/cast_session_delegate.h",
 | 
| +      "media/cast_threads.cc",
 | 
| +      "media/cast_threads.h",
 | 
| +      "media/cast_transport_ipc.cc",
 | 
| +      "media/cast_transport_ipc.h",
 | 
| +      "media/cast_udp_transport.cc",
 | 
| +      "media/cast_udp_transport.h",
 | 
| +      "resources/extensions/app_custom_bindings.js",
 | 
| +      "resources/extensions/automation_custom_bindings.js",
 | 
| +      "resources/extensions/browser_action_custom_bindings.js",
 | 
| +      "resources/extensions/certificate_provider_custom_bindings.js",
 | 
| +      "resources/extensions/chrome_direct_setting.js",
 | 
| +      "resources/extensions/chrome_setting.js",
 | 
| +      "resources/extensions/content_setting.js",
 | 
| +      "resources/extensions/declarative_content_custom_bindings.js",
 | 
| +      "resources/extensions/enterprise_platform_keys_custom_bindings.js",
 | 
| +      "resources/extensions/feedback_private_custom_bindings.js",
 | 
| +      "resources/extensions/file_browser_handler_custom_bindings.js",
 | 
| +      "resources/extensions/file_entry_binding_util.js",
 | 
| +      "resources/extensions/file_manager_private_custom_bindings.js",
 | 
| +      "resources/extensions/file_system_custom_bindings.js",
 | 
| +      "resources/extensions/file_system_provider_custom_bindings.js",
 | 
| +      "resources/extensions/gcm_custom_bindings.js",
 | 
| +      "resources/extensions/identity_custom_bindings.js",
 | 
| +      "resources/extensions/image_writer_private_custom_bindings.js",
 | 
| +      "resources/extensions/input.ime_custom_bindings.js",
 | 
| +      "resources/extensions/log_private_custom_bindings.js",
 | 
| +      "resources/extensions/notifications_custom_bindings.js",
 | 
| +      "resources/extensions/omnibox_custom_bindings.js",
 | 
| +      "resources/extensions/page_action_custom_bindings.js",
 | 
| +      "resources/extensions/page_capture_custom_bindings.js",
 | 
| +      "resources/extensions/system_indicator_custom_bindings.js",
 | 
| +      "resources/extensions/tts_custom_bindings.js",
 | 
| +      "resources/extensions/tts_engine_custom_bindings.js",
 | 
| +    ]
 | 
|      deps += [
 | 
|        # TODO(hclam): See crbug.com/298380 for details.
 | 
|        # We should isolate the APIs needed by the renderer.
 | 
| @@ -138,26 +315,33 @@ static_library("renderer") {
 | 
|      }
 | 
|    }
 | 
|    if (enable_webrtc) {
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_webrtc_sources, ".", "..")
 | 
| +    sources += [
 | 
| +      "media/chrome_webrtc_log_message_delegate.cc",
 | 
| +      "media/chrome_webrtc_log_message_delegate.h",
 | 
| +      "media/webrtc_logging_message_filter.cc",
 | 
| +      "media/webrtc_logging_message_filter.h",
 | 
| +    ]
 | 
|    }
 | 
|    if (enable_extensions && enable_webrtc) {
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_webrtc_extensions_sources,
 | 
| -                    ".",
 | 
| -                    "..")
 | 
| +    sources += [
 | 
| +      "extensions/cast_streaming_native_handler.cc",
 | 
| +      "extensions/cast_streaming_native_handler.h",
 | 
| +    ]
 | 
|    }
 | 
|    if (enable_spellcheck) {
 | 
|      deps += [ "//components/spellcheck/renderer:renderer" ]
 | 
|    }
 | 
|    if (enable_basic_printing || enable_print_preview) {
 | 
|      deps += [ "//printing" ]
 | 
| -    sources +=
 | 
| -        rebase_path(gypi_values.chrome_renderer_printing_sources, ".", "..")
 | 
| +    sources += [
 | 
| +      "printing/chrome_print_web_view_helper_delegate.cc",
 | 
| +      "printing/chrome_print_web_view_helper_delegate.h",
 | 
| +    ]
 | 
|      if (enable_print_preview) {
 | 
| -      sources += rebase_path(gypi_values.chrome_renderer_full_printing_sources,
 | 
| -                             ".",
 | 
| -                             "..")
 | 
| +      sources += [
 | 
| +        "pepper/chrome_pdf_print_client.cc",
 | 
| +        "pepper/chrome_pdf_print_client.h",
 | 
| +      ]
 | 
|      }
 | 
|    }
 | 
|  
 | 
| 
 |