From 3cc539b506a31711a6fcf82b93c723d175279dcb Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Wed, 13 Jul 2016 21:35:07 -0400 Subject: [PATCH] Depend directly on chrome targets and unfork code (issue #1947) --- BUILD.gn | 250 ++------------- cef.gyp | 256 ++------------- cef.gypi | 5 - cef_repack_locales.gni | 4 + libcef/browser/browser_host_impl.cc | 8 +- libcef/browser/browser_main_win.cc | 2 +- libcef/browser/chrome_profile_stub.cc | 78 ----- libcef/browser/content_browser_client.cc | 2 +- libcef/browser/devtools_delegate.cc | 4 +- .../streams_private/streams_private_api.cc | 31 +- .../api/streams_private/streams_private_api.h | 31 +- ...browser_context_keyed_service_factories.cc | 2 +- .../component_extension_resource_manager.cc | 2 +- .../extensions/event_router_forwarder.cc | 18 +- .../extensions/event_router_forwarder.h | 13 +- .../extensions/extensions_api_client.cc | 2 +- .../extensions/extensions_browser_client.cc | 4 +- .../extensions/extensions_browser_client.h | 2 +- .../browser/extensions/pdf_extension_util.cc | 2 +- libcef/browser/menu_manager.cc | 3 +- .../browser/native/file_dialog_runner_mac.mm | 2 +- .../browser/native/file_dialog_runner_win.cc | 2 +- libcef/browser/native/menu_runner_win.cc | 2 +- libcef/browser/native/menu_runner_win.h | 2 +- libcef/browser/native/native_menu_win.cc | 108 ++++--- libcef/browser/native/native_menu_win.h | 21 +- libcef/browser/net/chrome_scheme_handler.cc | 4 +- libcef/browser/net/devtools_scheme_handler.cc | 2 +- .../osr/render_widget_host_view_osr_win.cc | 2 +- libcef/browser/pepper/device_id_fetcher.cc | 218 ------------- libcef/browser/prefs/browser_prefs.cc | 18 +- libcef/browser/printing/print_view_manager.cc | 36 +-- libcef/browser/printing/print_view_manager.h | 13 +- .../printing/print_view_manager_base.cc | 58 ++-- .../printing/print_view_manager_base.h | 12 +- .../printing/printing_message_filter.cc | 39 +-- .../printing/printing_message_filter.h | 8 +- libcef/browser/proxy_stubs.cc | 24 -- .../resource_dispatcher_host_delegate.cc | 4 +- libcef/common/cef_message_generator.h | 7 - libcef/common/extensions/api/BUILD.gn | 4 +- libcef/common/extensions/api/schemas.gni | 4 +- libcef/common/extensions/api/schemas.gypi | 5 +- libcef/common/extensions/extensions_client.cc | 10 +- libcef/renderer/content_renderer_client.cc | 11 +- libcef/renderer/content_renderer_client.h | 3 - libcef/renderer/media/cef_key_systems.cc | 8 +- libcef/renderer/pepper/pepper_uma_host.cc | 222 ------------- .../plugins/cef_plugin_placeholder.cc | 1 + libcef/renderer/plugins/plugin_preroller.cc | 1 + libcef/renderer/render_message_filter.cc | 40 +++ libcef/renderer/render_message_filter.h | 3 + libcef/renderer/v8_impl.cc | 10 +- libcef/resources/cef_resources.grd | 19 -- libcef/resources/cef_strings.grd | 301 ------------------ .../grit_stub/chrome/grit/browser_resources.h | 2 - .../chrome/grit/generated_resources.h | 2 - .../grit_stub/chrome/grit/locale_settings.h | 2 - patch/patch.cfg | 55 ++-- patch/patches/browser_web_contents_1257.patch | 50 --- patch/patches/chrome_browser_1257.patch | 30 -- patch/patches/chrome_crashpad_mac.patch | 41 +++ patch/patches/chrome_widevine.patch | 14 + patch/patches/extensions_1257.patch | 30 -- patch/patches/gn_config.patch | 13 - patch/patches/gyp_build_627924.patch | 17 + .../print_header_footer_1478_1565.patch | 66 ++-- patch/patches/public_browser_1257.patch | 83 ----- patch/patches/ui_webview_1257.patch | 30 -- patch/patches/web_contents_1257.patch | 283 ++++++++++++++++ tools/repack_locales.py | 10 + 71 files changed, 811 insertions(+), 1860 deletions(-) delete mode 100644 libcef/browser/pepper/device_id_fetcher.cc delete mode 100644 libcef/browser/proxy_stubs.cc delete mode 100644 libcef/renderer/pepper/pepper_uma_host.cc delete mode 100644 libcef/resources/grit_stub/chrome/grit/browser_resources.h delete mode 100644 libcef/resources/grit_stub/chrome/grit/generated_resources.h delete mode 100644 libcef/resources/grit_stub/chrome/grit/locale_settings.h delete mode 100644 patch/patches/browser_web_contents_1257.patch delete mode 100644 patch/patches/chrome_browser_1257.patch create mode 100644 patch/patches/chrome_crashpad_mac.patch create mode 100644 patch/patches/chrome_widevine.patch delete mode 100644 patch/patches/extensions_1257.patch create mode 100644 patch/patches/gyp_build_627924.patch delete mode 100644 patch/patches/public_browser_1257.patch delete mode 100644 patch/patches/ui_webview_1257.patch create mode 100644 patch/patches/web_contents_1257.patch diff --git a/BUILD.gn b/BUILD.gn index 114833f23..9fcbb7872 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -98,6 +98,7 @@ # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md # +import("//build/config/allocator.gni") import("//build/config/features.gni") import("//build/config/locales.gni") import("//build/config/sanitizers/sanitizers.gni") @@ -139,14 +140,6 @@ if (is_clang) { assert(!clang_use_chrome_plugins) } -if (is_linux) { - # Disable theme support on Linux so we don't need to implement - # ThemeService[Factory] classes. - assert(!enable_themes) -} else { - assert(enable_themes) -} - # # Local variables. @@ -351,7 +344,6 @@ static_library("libcef_static") { "libcef/browser/pepper/pepper_flash_browser_host.h", "libcef/browser/pepper/pepper_isolated_file_system_message_filter.cc", "libcef/browser/pepper/pepper_isolated_file_system_message_filter.h", - "libcef/browser/pepper/device_id_fetcher.cc", "libcef/browser/permissions/permission_context.cc", "libcef/browser/permissions/permission_context.h", "libcef/browser/permissions/permission_manager.cc", @@ -375,7 +367,6 @@ static_library("libcef_static") { "libcef/browser/printing/print_view_manager_base.cc", "libcef/browser/printing/print_view_manager_base.h", "libcef/browser/process_util_impl.cc", - "libcef/browser/proxy_stubs.cc", "libcef/browser/resource_context.cc", "libcef/browser/resource_context.h", "libcef/browser/resource_dispatcher_host_delegate.cc", @@ -485,7 +476,6 @@ static_library("libcef_static") { "libcef/renderer/media/cef_key_systems.h", "libcef/renderer/pepper/pepper_helper.cc", "libcef/renderer/pepper/pepper_helper.h", - "libcef/renderer/pepper/pepper_uma_host.cc", "libcef/renderer/pepper/renderer_pepper_host_factory.cc", "libcef/renderer/pepper/renderer_pepper_host_factory.h", "libcef/renderer/plugins/cef_plugin_placeholder.cc", @@ -508,186 +498,14 @@ static_library("libcef_static") { "libcef/utility/content_utility_client.cc", "libcef/utility/content_utility_client.h", - # Include sources for chrome command-line switches. - "//chrome/common/chrome_switches.cc", - "//chrome/common/chrome_switches.h", - - # Include sources for proxy support. - "//chrome/browser/net/proxy_service_factory.cc", - "//chrome/browser/net/proxy_service_factory.h", - "//chrome/browser/net/utility_process_mojo_proxy_resolver_factory.cc", - "//chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h", - "//components/data_reduction_proxy/core/common/data_reduction_proxy_switches.cc", - "//components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h", - "//components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc", - "//components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h", - - # Include sources for the loadtimes V8 extension. - "//chrome/renderer/loadtimes_extension_bindings.h", - "//chrome/renderer/loadtimes_extension_bindings.cc", - - # Include sources for printing. - "//chrome/browser/printing/print_job.cc", - "//chrome/browser/printing/print_job.h", - "//chrome/browser/printing/print_job_manager.cc", - "//chrome/browser/printing/print_job_manager.h", - "//chrome/browser/printing/print_job_worker.cc", - "//chrome/browser/printing/print_job_worker.h", - "//chrome/browser/printing/print_job_worker_owner.cc", - "//chrome/browser/printing/print_job_worker_owner.h", - "//chrome/browser/printing/printer_query.cc", - "//chrome/browser/printing/printer_query.h", - "//chrome/common/extensions/extension_constants.cc", - "//chrome/common/extensions/extension_constants.h", - - # Include header for stub creation (BrowserProcess) so print_job_worker can - # determine the current locale. - "//chrome/browser/browser_process.cc", - "//chrome/browser/browser_process.h", - - # Include sources for spell checking support. - "//chrome/browser/spellchecker/feedback.cc", - "//chrome/browser/spellchecker/feedback.h", - "//chrome/browser/spellchecker/feedback_sender.cc", - "//chrome/browser/spellchecker/feedback_sender.h", - "//chrome/browser/spellchecker/misspelling.cc", - "//chrome/browser/spellchecker/misspelling.h", - "//chrome/browser/spellchecker/spellcheck_action.cc", - "//chrome/browser/spellchecker/spellcheck_action.h", - "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc", - "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h", - "//chrome/browser/spellchecker/spellcheck_factory.cc", - "//chrome/browser/spellchecker/spellcheck_factory.h", - "//chrome/browser/spellchecker/spellcheck_host_metrics.cc", - "//chrome/browser/spellchecker/spellcheck_host_metrics.h", - "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc", - "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", - "//chrome/browser/spellchecker/spellcheck_message_filter.cc", - "//chrome/browser/spellchecker/spellcheck_message_filter.h", - "//chrome/browser/spellchecker/spellcheck_service.cc", - "//chrome/browser/spellchecker/spellcheck_service.h", - "//chrome/browser/spellchecker/spelling_service_client.cc", - "//chrome/browser/spellchecker/spelling_service_client.h", - "//chrome/browser/spellchecker/word_trimmer.cc", - "//chrome/browser/spellchecker/word_trimmer.h", - "//chrome/common/chrome_constants.cc", - "//chrome/common/chrome_constants.h", - "//chrome/common/spellcheck_common.cc", - "//chrome/common/spellcheck_common.h", - "//chrome/common/spellcheck_marker.h", - "//chrome/common/spellcheck_messages.h", - "//chrome/common/spellcheck_result.h", - "//chrome/renderer/spellchecker/custom_dictionary_engine.cc", - "//chrome/renderer/spellchecker/custom_dictionary_engine.h", - "//chrome/renderer/spellchecker/hunspell_engine.cc", - "//chrome/renderer/spellchecker/hunspell_engine.h", - "//chrome/renderer/spellchecker/spellcheck.cc", - "//chrome/renderer/spellchecker/spellcheck.h", - "//chrome/renderer/spellchecker/spellcheck_language.cc", - "//chrome/renderer/spellchecker/spellcheck_language.h", - "//chrome/renderer/spellchecker/spellcheck_provider.cc", - "//chrome/renderer/spellchecker/spellcheck_provider.h", - "//chrome/renderer/spellchecker/spellcheck_worditerator.cc", - "//chrome/renderer/spellchecker/spellcheck_worditerator.h", - "//chrome/renderer/spellchecker/spelling_engine.h", - - # Include sources for pepper flash support. - "//chrome/common/pepper_flash.cc", - "//chrome/common/pepper_flash.h", - "//chrome/common/ppapi_utils.cc", - "//chrome/common/ppapi_utils.h", - "//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc", - "//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h", - "//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc", - "//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.h", - "//chrome/renderer/pepper/pepper_flash_drm_renderer_host.cc", - "//chrome/renderer/pepper/pepper_flash_drm_renderer_host.h", - "//chrome/renderer/pepper/pepper_flash_font_file_host.cc", - "//chrome/renderer/pepper/pepper_flash_font_file_host.h", - "//chrome/renderer/pepper/pepper_flash_fullscreen_host.cc", - "//chrome/renderer/pepper/pepper_flash_fullscreen_host.h", - "//chrome/renderer/pepper/pepper_flash_menu_host.cc", - "//chrome/renderer/pepper/pepper_flash_menu_host.h", - "//chrome/renderer/pepper/pepper_flash_renderer_host.cc", - "//chrome/renderer/pepper/pepper_flash_renderer_host.h", - - # Include sources required by chrome_utility_messages.h. - "//chrome/common/safe_browsing/zip_analyzer_results.h", - "//chrome/common/safe_browsing/zip_analyzer_results.cc", - - # Include sources for pepper PDF support. - "//chrome/child/pdf_child_init.cc", - "//chrome/child/pdf_child_init.h", + # Part of //chrome/renderer. Not included by that target because CEF builds + # with enable_print_preview=0. "//chrome/renderer/pepper/chrome_pdf_print_client.cc", "//chrome/renderer/pepper/chrome_pdf_print_client.h", - # Include sources for extensions support. - "//chrome/common/extensions/chrome_manifest_url_handlers.cc", - "//chrome/common/extensions/chrome_manifest_url_handlers.h", - "//chrome/common/extensions/extension_process_policy.cc", - "//chrome/common/extensions/extension_process_policy.h", - "//chrome/common/pepper_permission_util.cc", - "//chrome/common/pepper_permission_util.h", - "//chrome/common/url_constants.cc", - "//chrome/common/url_constants.h", - "//chrome/renderer/extensions/resource_request_policy.cc", - "//chrome/renderer/extensions/resource_request_policy.h", - "//extensions/shell/browser/shell_display_info_provider.cc", - "//extensions/shell/browser/shell_display_info_provider.h", - "//extensions/shell/browser/shell_web_contents_modal_dialog_manager.cc", - - # Include sources for component-updater support. - "//chrome/browser/component_updater/widevine_cdm_component_installer.cc", - "//chrome/browser/component_updater/widevine_cdm_component_installer.h", - - # Include sources for widevine support. - "//chrome/common/widevine_cdm_constants.cc", - "//chrome/common/widevine_cdm_constants.h", - - # Include sources for plugin placeholder support. - "//chrome/browser/plugins/plugin_finder.cc", - "//chrome/browser/plugins/plugin_finder.h", - "//chrome/browser/plugins/plugin_metadata.cc", - "//chrome/browser/plugins/plugin_metadata.h", - "//chrome/renderer/plugins/power_saver_info.cc", - "//chrome/renderer/plugins/power_saver_info.h", - "//components/nacl/common/nacl_constants.cc", - "//components/nacl/common/nacl_constants.h", - - # Include sources for preferences support. - "//chrome/browser/accessibility/animation_policy_prefs.cc", - "//chrome/browser/accessibility/animation_policy_prefs.h", - "//chrome/browser/character_encoding.cc", - "//chrome/browser/character_encoding.h", - "//chrome/browser/defaults.cc", - "//chrome/browser/defaults.h", - "//chrome/browser/extensions/extension_webkit_preferences.cc", - "//chrome/browser/extensions/extension_webkit_preferences.h", - "//chrome/browser/font_family_cache.cc", - "//chrome/browser/font_family_cache.h", - "//chrome/browser/prefs/command_line_pref_store.cc", - "//chrome/browser/prefs/command_line_pref_store.h", - "//chrome/browser/renderer_preferences_util.cc", - "//chrome/browser/renderer_preferences_util.h", - "//chrome/browser/ui/prefs/prefs_tab_helper.cc", - "//chrome/browser/ui/prefs/prefs_tab_helper.h", - "//chrome/browser/ui/zoom/chrome_zoom_level_prefs.cc", - "//chrome/browser/ui/zoom/chrome_zoom_level_prefs.h", - "//chrome/common/pref_font_webkit_names.h", - "//chrome/common/pref_names.cc", - "//chrome/common/pref_names.h", - "//chrome/common/pref_names_util.cc", - "//chrome/common/pref_names_util.h", + # Part of //components/prefs:test_support which is testingonly. "//components/prefs/testing_pref_store.cc", "//components/prefs/testing_pref_store.h", - - # Include sources for permissions support. - "//chrome/browser/permissions/permission_request_id.h", - "//chrome/browser/permissions/permission_request_id.cc", - - # Include sources for SafeSearch support. - "//chrome/browser/net/safe_search_util.cc", - "//chrome/browser/net/safe_search_util.h", ] configs += [ @@ -710,15 +528,6 @@ static_library("libcef_static") { # we include Blink headers. "//third_party/WebKit/public/platform", "//third_party/WebKit/public/web", - - # CEF references resources from the specified chrome targets in - # cef_strings.grd and/or cef_resources.grd. Include grit stub headers with - # the expected name that redirect to cef_resources.h/cef_strings.h. - # //chrome/app:generated_resources -> generated_resources.h - # //chrome/app/resources:locale_settings -> locale_settings.h - # //chrome/browser:resources -> browser_resources.h - "libcef/resources/grit_stub", - "libcef/resources/grit_stub/chrome", ] deps = [ @@ -730,10 +539,6 @@ static_library("libcef_static") { ":pak_extensions", ":repack_locales_pack", - # Grit deps that generate .cc files must be listed both here and in the - # repack() target. - "//chrome/browser/resources:component_extension_resources", - # Generate API bindings for extensions. "libcef/common/extensions/api", "libcef/common/extensions/api:api_registration", @@ -743,6 +548,10 @@ static_library("libcef_static") { "//base:base_static", "//base/third_party/dynamic_annotations", "//cc", + "//chrome/browser", + "//chrome/child", + "//chrome/common", + "//chrome/renderer", "//components/cdm/renderer", "//components/component_updater", "//components/content_settings/core/browser", @@ -818,18 +627,6 @@ static_library("libcef_static") { "//ui/gl", "//url", "//v8", - - # Generate chrome/common/safe_browsing/csd.pb.h required by - # zip_analyzer_results.h via chrome_utility_messages.h - "//chrome/common/safe_browsing:proto", - - # Generate chrome/common/features.h required by Chrome code that uses - # the BUILDFLAG() macro. - "//chrome/common:features", - - # Generate chrome/common/chrome_version.h required by - # chrome/common/chrome_contants.cc - "//chrome/common:version_header", ] if (!is_mac) { @@ -856,12 +653,8 @@ static_library("libcef_static") { "libcef/browser/osr/browser_platform_delegate_osr_win.cc", "libcef/browser/osr/browser_platform_delegate_osr_win.h", "libcef/browser/osr/render_widget_host_view_osr_win.cc", - # Include sources for printing using PDF. "libcef/utility/printing_handler.cc", "libcef/utility/printing_handler.h", - "//chrome/browser/printing/pdf_to_emf_converter.cc", - "//chrome/browser/printing/pdf_to_emf_converter.h", - "//chrome/common/chrome_utility_printing_messages.h", ] } @@ -903,16 +696,6 @@ static_library("libcef_static") { "libcef/browser/osr/text_input_client_osr_mac.h", "libcef/common/util_mac.h", "libcef/common/util_mac.mm", - # Include sources for spell checking support. - "//chrome/browser/spellchecker/spellcheck_message_filter_platform.h", - "//chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc", - "//chrome/browser/spellchecker/spellcheck_platform.h", - "//chrome/browser/spellchecker/spellcheck_platform_mac.mm", - "//chrome/renderer/spellchecker/platform_spelling_engine.cc", - "//chrome/renderer/spellchecker/platform_spelling_engine.h", - # Include sources for pepper flash support. - "//chrome/browser/renderer_host/pepper/monitor_finder_mac.h", - "//chrome/browser/renderer_host/pepper/monitor_finder_mac.mm", ] } @@ -986,11 +769,15 @@ static_library("libcef_static") { "libcef/browser/views/window_impl.h", "libcef/browser/views/window_view.cc", "libcef/browser/views/window_view.h", + + # Part of //ui/views:test_support which is testingonly. "//ui/views/test/desktop_test_views_delegate.h", "//ui/views/test/desktop_test_views_delegate_aura.cc", "//ui/views/test/test_views_delegate.h", "//ui/views/test/test_views_delegate_aura.cc", + # Support for UI input events. + # Part of //ui/base:test_support which is testingonly. "//ui/base/test/ui_controls.h", "//ui/base/test/ui_controls_aura.cc", "//ui/aura/test/ui_controls_factory_aura.h", @@ -1013,7 +800,9 @@ static_library("libcef_static") { if (is_win) { sources += [ # Support for UI input events. + # Part of //ui/aura:test_support which is testingonly. "//ui/aura/test/ui_controls_factory_aurawin.cc", + # Part of //ui/base:test_support which is testingonly. "//ui/base/test/ui_controls_internal_win.cc", "//ui/base/test/ui_controls_internal_win.h", ] @@ -1022,13 +811,16 @@ static_library("libcef_static") { if (is_linux) { sources += [ # Support for UI input events. + # Part of //ui/aura:test_support which is testingonly. "//ui/aura/test/aura_test_utils.cc", "//ui/aura/test/aura_test_utils.h", "//ui/aura/test/ui_controls_factory_aurax11.cc", "//ui/aura/test/x11_event_sender.cc", "//ui/aura/test/x11_event_sender.h", + # Part of //ui/events:test_support which is testingonly. "//ui/events/test/platform_event_waiter.cc", "//ui/events/test/platform_event_waiter.h", + # Part of //ui/views:test_support which is testingonly. "//ui/views/test/ui_controls_factory_desktop_aurax11.cc", "//ui/views/test/ui_controls_factory_desktop_aurax11.h", ] @@ -1136,6 +928,7 @@ template("cef_pak_scaled") { # Each input pak file should also have a deps line for completeness. sources = [ "$root_gen_dir/blink/public/resources/blink_image_resources_${percent}_percent.pak", + "$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak", "$root_gen_dir/components/components_resources_${percent}_percent.pak", "$root_gen_dir/content/app/resources/content_resources_${percent}_percent.pak", "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak", @@ -1147,6 +940,7 @@ template("cef_pak_scaled") { # listed both here and in the libcef_static target. public_deps = [ "//third_party/WebKit/public:image_resources", + "//chrome/renderer:resources", "//components/resources:components_scaled_resources", "//content/app/resources", "//extensions:extensions_browser_resources", @@ -1254,6 +1048,8 @@ repack("pak") { # Each input pak file should also have a deps line for completeness. sources = [ "$root_gen_dir/blink/public/resources/blink_resources.pak", + "$root_gen_dir/chrome/browser_resources.pak", + "$root_gen_dir/chrome/common_resources.pak", "$root_gen_dir/components/components_resources.pak", "$root_gen_dir/cef/cef_resources.pak", "$root_gen_dir/content/content_resources.pak", @@ -1265,6 +1061,8 @@ repack("pak") { # listed both here and in the libcef_static target. public_deps = [ "//third_party/WebKit/public:resources_grit", + "//chrome/browser:resources", + "//chrome/common:resources", "//components/resources:components_resources", ":cef_resources", "//content:resources", @@ -1419,7 +1217,7 @@ if (is_mac) { ] } - if (is_linux && !is_debug && !is_asan && use_allocator=="none") { + if (is_linux && !is_debug && !using_sanitizer && use_allocator=="none") { # Only export necessary symbols from libcef.so. # Don't do this in Debug builds because it causes the resulting application to crash. ldflags = [ "-Wl,--version-script=" + diff --git a/cef.gyp b/cef.gyp index 8d2bce4cf..e1896bb13 100644 --- a/cef.gyp +++ b/cef.gyp @@ -694,6 +694,7 @@ 'target_name': 'cef_locales', 'type': 'none', 'dependencies': [ + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings', '<(DEPTH)/chrome/chrome_resources.gyp:platform_locale_settings', '<(DEPTH)/components/components_strings.gyp:components_strings', '<(DEPTH)/content/app/strings/content_strings.gyp:content_strings', @@ -744,39 +745,16 @@ }, ], }, - { - # Create the pack file for component extension resources. - 'target_name': 'component_extension_resources', - 'type': 'none', - 'actions': [ - { - 'action_name': 'component_extension_resources', - 'variables': { - 'grit_grd_file': '../chrome/browser/resources/component_extension_resources.grd', - }, - 'includes': [ '../build/grit_action.gypi' ], - }, - ], - 'includes': [ '../build/grit_target.gypi' ], - 'copies': [ - { - 'destination': '<(PRODUCT_DIR)', - 'files': [ - '<(grit_out_dir)/component_extension_resources.pak' - ], - }, - ], - }, { # Combine all extensions-related non-localized pack file resources into a # single CEF pack file. Scaled resources are still in cef_pak. 'target_name': 'cef_extensions_pak', 'type': 'none', 'dependencies': [ + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_extra_resources', '<(DEPTH)/extensions/extensions_resources.gyp:extensions_resources', '<(DEPTH)/extensions/extensions_strings.gyp:extensions_strings', '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources', - 'component_extension_resources', ], 'variables': { 'make_pack_header_path': 'tools/make_pack_header.py', @@ -786,10 +764,10 @@ 'action_name': 'repack_cef_extensions_pack', 'variables': { 'pak_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/chrome/component_extension_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_renderer_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak', - '<(grit_out_dir)/component_extension_resources.pak', ], 'pak_output': '<(PRODUCT_DIR)/cef_extensions.pak', }, @@ -802,6 +780,7 @@ 'target_name': 'cef_pak', 'type': 'none', 'dependencies': [ + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources', '<(DEPTH)/components/components_resources.gyp:components_resources', '<(DEPTH)/components/components_strings.gyp:components_strings', '<(DEPTH)/content/app/resources/content_resources.gyp:content_resources', @@ -823,6 +802,8 @@ 'variables': { 'pak_inputs': [ '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/components/components_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', @@ -837,6 +818,7 @@ 'variables': { 'pak_inputs': [ '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_resources_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/components/components_resources_100_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_browser_resources_100_percent.pak', @@ -852,6 +834,7 @@ 'variables': { 'pak_inputs': [ '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_resources_200_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_200_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/components/components_resources_200_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_200_percent.pak', '<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_browser_resources_200_percent.pak', @@ -868,6 +851,9 @@ 'header_inputs': [ '<(SHARED_INTERMEDIATE_DIR)/blink/grit/devtools_resources.h', '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/grit/blink_resources.h', + '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/browser_resources.h', + '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/common_resources.h', + '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/component_extension_resources.h', '<(SHARED_INTERMEDIATE_DIR)/content/grit/content_resources.h', '<(SHARED_INTERMEDIATE_DIR)/extensions/grit/extensions_browser_resources.h', '<(SHARED_INTERMEDIATE_DIR)/extensions/grit/extensions_renderer_resources.h', @@ -877,7 +863,6 @@ '<(SHARED_INTERMEDIATE_DIR)/ui/resources/grit/webui_resources.h', '<(SHARED_INTERMEDIATE_DIR)/ui/views/resources/grit/views_resources.h', '<(grit_out_dir)/grit/cef_resources.h', - '<(grit_out_dir)/grit/component_extension_resources.h', ], }, 'inputs': [ @@ -894,6 +879,8 @@ 'action_name': 'make_pack_strings_header', 'variables': { 'header_inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/generated_resources.h', + '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/locale_settings.h', '<(SHARED_INTERMEDIATE_DIR)/chrome/grit/platform_locale_settings.h', '<(SHARED_INTERMEDIATE_DIR)/components/strings/grit/components_strings.h', '<(SHARED_INTERMEDIATE_DIR)/content/app/strings/grit/content_strings.h', @@ -935,14 +922,6 @@ '.', '<(DEPTH)/third_party/WebKit/public/platform', '<(DEPTH)/third_party/WebKit/public/web', - # CEF grit resource includes - '<(DEPTH)/cef/libcef/resources/grit_stub', - '<(DEPTH)/cef/libcef/resources/grit_stub/chrome', - '<(grit_out_dir)', - '<(SHARED_INTERMEDIATE_DIR)/chrome', - '<(SHARED_INTERMEDIATE_DIR)/components', - '<(SHARED_INTERMEDIATE_DIR)/ui/resources', - '<(SHARED_INTERMEDIATE_DIR)/ui/strings', ], 'dependencies': [ '<(DEPTH)/base/base.gyp:base', @@ -950,15 +929,10 @@ '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', '<(DEPTH)/cc/blink/cc_blink.gyp:cc_blink', '<(DEPTH)/cc/cc.gyp:cc', - # Generate chrome/common/safe_browsing/csd.pb.h required by - # zip_analyzer_results.h via chrome_utility_messages.h - '<(DEPTH)/chrome/chrome.gyp:safe_browsing_proto', - # Generate chrome/common/features.h required by Chrome code that uses - # the BUILDFLAG() macro. - '<(DEPTH)/chrome/chrome_features.gyp:chrome_common_features', - # Generate chrome/common/chrome_version.h required by - # chrome/common/chrome_contants.cc - '<(DEPTH)/chrome/common_constants.gyp:version_header', + '<(DEPTH)/chrome/chrome.gyp:browser', + '<(DEPTH)/chrome/chrome.gyp:child', + '<(DEPTH)/chrome/chrome.gyp:common', + '<(DEPTH)/chrome/chrome.gyp:renderer', '<(DEPTH)/components/components.gyp:cdm_renderer', '<(DEPTH)/components/components.gyp:component_updater', '<(DEPTH)/components/components.gyp:content_settings_core_browser', @@ -1189,7 +1163,6 @@ 'libcef/browser/pepper/pepper_flash_browser_host.h', 'libcef/browser/pepper/pepper_isolated_file_system_message_filter.cc', 'libcef/browser/pepper/pepper_isolated_file_system_message_filter.h', - 'libcef/browser/pepper/device_id_fetcher.cc', 'libcef/browser/permissions/permission_context.cc', 'libcef/browser/permissions/permission_context.h', 'libcef/browser/permissions/permission_manager.cc', @@ -1213,7 +1186,6 @@ 'libcef/browser/printing/print_view_manager_base.cc', 'libcef/browser/printing/print_view_manager_base.h', 'libcef/browser/process_util_impl.cc', - 'libcef/browser/proxy_stubs.cc', 'libcef/browser/resource_context.cc', 'libcef/browser/resource_context.h', 'libcef/browser/resource_dispatcher_host_delegate.cc', @@ -1323,7 +1295,6 @@ 'libcef/renderer/media/cef_key_systems.h', 'libcef/renderer/pepper/pepper_helper.cc', 'libcef/renderer/pepper/pepper_helper.h', - 'libcef/renderer/pepper/pepper_uma_host.cc', 'libcef/renderer/pepper/renderer_pepper_host_factory.cc', 'libcef/renderer/pepper/renderer_pepper_host_factory.h', 'libcef/renderer/plugins/cef_plugin_placeholder.cc', @@ -1345,171 +1316,15 @@ 'libcef/renderer/webkit_glue.h', 'libcef/utility/content_utility_client.cc', 'libcef/utility/content_utility_client.h', - '<(DEPTH)/chrome/common/chrome_switches.cc', - '<(DEPTH)/chrome/common/chrome_switches.h', - # Include sources for proxy support. - '<(DEPTH)/chrome/browser/net/proxy_service_factory.cc', - '<(DEPTH)/chrome/browser/net/proxy_service_factory.h', - '<(DEPTH)/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.cc', - '<(DEPTH)/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h', - '<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_switches.cc', - '<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h', - '<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc', - '<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h', - # Include sources for the loadtimes V8 extension. - '<(DEPTH)/chrome/renderer/loadtimes_extension_bindings.h', - '<(DEPTH)/chrome/renderer/loadtimes_extension_bindings.cc', - # Include sources for printing. - '<(DEPTH)/chrome/browser/printing/print_job.cc', - '<(DEPTH)/chrome/browser/printing/print_job.h', - '<(DEPTH)/chrome/browser/printing/print_job_manager.cc', - '<(DEPTH)/chrome/browser/printing/print_job_manager.h', - '<(DEPTH)/chrome/browser/printing/print_job_worker.cc', - '<(DEPTH)/chrome/browser/printing/print_job_worker.h', - '<(DEPTH)/chrome/browser/printing/print_job_worker_owner.cc', - '<(DEPTH)/chrome/browser/printing/print_job_worker_owner.h', - '<(DEPTH)/chrome/browser/printing/printer_query.cc', - '<(DEPTH)/chrome/browser/printing/printer_query.h', - '<(DEPTH)/chrome/common/extensions/extension_constants.cc', - '<(DEPTH)/chrome/common/extensions/extension_constants.h', - # Include header for stub creation (BrowserProcess) so print_job_worker can - # determine the current locale. - '<(DEPTH)/chrome/browser/browser_process.cc', - '<(DEPTH)/chrome/browser/browser_process.h', - # Include sources for spell checking support. - '<(DEPTH)/chrome/browser/spellchecker/feedback.cc', - '<(DEPTH)/chrome/browser/spellchecker/feedback.h', - '<(DEPTH)/chrome/browser/spellchecker/feedback_sender.cc', - '<(DEPTH)/chrome/browser/spellchecker/feedback_sender.h', - '<(DEPTH)/chrome/browser/spellchecker/misspelling.cc', - '<(DEPTH)/chrome/browser/spellchecker/misspelling.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_custom_dictionary.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_factory.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_factory.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_host_metrics.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_host_metrics.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_service.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_service.h', - '<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.cc', - '<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.h', - '<(DEPTH)/chrome/browser/spellchecker/word_trimmer.cc', - '<(DEPTH)/chrome/browser/spellchecker/word_trimmer.h', - '<(DEPTH)/chrome/common/chrome_constants.cc', - '<(DEPTH)/chrome/common/chrome_constants.h', - '<(DEPTH)/chrome/common/spellcheck_common.cc', - '<(DEPTH)/chrome/common/spellcheck_common.h', - '<(DEPTH)/chrome/common/spellcheck_marker.h', - '<(DEPTH)/chrome/common/spellcheck_messages.h', - '<(DEPTH)/chrome/common/spellcheck_result.h', - '<(DEPTH)/chrome/renderer/spellchecker/custom_dictionary_engine.cc', - '<(DEPTH)/chrome/renderer/spellchecker/custom_dictionary_engine.h', - '<(DEPTH)/chrome/renderer/spellchecker/hunspell_engine.cc', - '<(DEPTH)/chrome/renderer/spellchecker/hunspell_engine.h', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck.cc', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck.h', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_language.cc', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_language.h', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_provider.cc', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_provider.h', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_worditerator.cc', - '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_worditerator.h', - '<(DEPTH)/chrome/renderer/spellchecker/spelling_engine.h', - # Include sources for pepper flash support. - '<(DEPTH)/chrome/common/pepper_flash.cc', - '<(DEPTH)/chrome/common/pepper_flash.h', - '<(DEPTH)/chrome/common/ppapi_utils.cc', - '<(DEPTH)/chrome/common/ppapi_utils.h', - '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc', - '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h', - '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc', - '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.h', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_drm_renderer_host.cc', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_drm_renderer_host.h', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_font_file_host.cc', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_font_file_host.h', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_fullscreen_host.cc', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_fullscreen_host.h', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_menu_host.cc', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_menu_host.h', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_renderer_host.cc', - '<(DEPTH)/chrome/renderer/pepper/pepper_flash_renderer_host.h', - # Include sources required by chrome_utility_messages.h. - '<(DEPTH)/chrome/common/safe_browsing/zip_analyzer_results.h', - '<(DEPTH)/chrome/common/safe_browsing/zip_analyzer_results.cc', - # Include sources for pepper PDF support. - '<(DEPTH)/chrome/child/pdf_child_init.cc', - '<(DEPTH)/chrome/child/pdf_child_init.h', + + # Part of chrome/chrome.gyp:renderer. Not included by that target + # because CEF builds with enable_print_preview=0. '<(DEPTH)/chrome/renderer/pepper/chrome_pdf_print_client.cc', '<(DEPTH)/chrome/renderer/pepper/chrome_pdf_print_client.h', - # Include sources for extensions support. - '<(DEPTH)/chrome/common/extensions/chrome_manifest_url_handlers.cc', - '<(DEPTH)/chrome/common/extensions/chrome_manifest_url_handlers.h', - '<(DEPTH)/chrome/common/extensions/extension_process_policy.cc', - '<(DEPTH)/chrome/common/extensions/extension_process_policy.h', - '<(DEPTH)/chrome/common/pepper_permission_util.cc', - '<(DEPTH)/chrome/common/pepper_permission_util.h', - '<(DEPTH)/chrome/common/url_constants.cc', - '<(DEPTH)/chrome/common/url_constants.h', - '<(DEPTH)/chrome/renderer/extensions/resource_request_policy.cc', - '<(DEPTH)/chrome/renderer/extensions/resource_request_policy.h', - '<(DEPTH)/extensions/shell/browser/shell_display_info_provider.cc', - '<(DEPTH)/extensions/shell/browser/shell_display_info_provider.h', - '<(DEPTH)/extensions/shell/browser/shell_web_contents_modal_dialog_manager.cc', - '<(grit_out_dir)/grit/component_extension_resources_map.cc', - # Include sources for component-updater support. - '<(DEPTH)/chrome/browser/component_updater/widevine_cdm_component_installer.cc', - '<(DEPTH)/chrome/browser/component_updater/widevine_cdm_component_installer.h', - # Include sources for widevine support. - '<(DEPTH)/chrome/common/widevine_cdm_constants.cc', - '<(DEPTH)/chrome/common/widevine_cdm_constants.h', - # Include sources for plugin placeholder support. - '<(DEPTH)/chrome/browser/plugins/plugin_finder.cc', - '<(DEPTH)/chrome/browser/plugins/plugin_finder.h', - '<(DEPTH)/chrome/browser/plugins/plugin_metadata.cc', - '<(DEPTH)/chrome/browser/plugins/plugin_metadata.h', - '<(DEPTH)/chrome/renderer/plugins/power_saver_info.cc', - '<(DEPTH)/chrome/renderer/plugins/power_saver_info.h', - '<(DEPTH)/components/nacl/common/nacl_constants.cc', - '<(DEPTH)/components/nacl/common/nacl_constants.h', - # Include sources for preferences support. - '<(DEPTH)/chrome/browser/accessibility/animation_policy_prefs.cc', - '<(DEPTH)/chrome/browser/accessibility/animation_policy_prefs.h', - '<(DEPTH)/chrome/browser/character_encoding.cc', - '<(DEPTH)/chrome/browser/character_encoding.h', - '<(DEPTH)/chrome/browser/defaults.cc', - '<(DEPTH)/chrome/browser/defaults.h', - '<(DEPTH)/chrome/browser/extensions/extension_webkit_preferences.cc', - '<(DEPTH)/chrome/browser/extensions/extension_webkit_preferences.h', - '<(DEPTH)/chrome/browser/font_family_cache.cc', - '<(DEPTH)/chrome/browser/font_family_cache.h', - '<(DEPTH)/chrome/browser/prefs/command_line_pref_store.cc', - '<(DEPTH)/chrome/browser/prefs/command_line_pref_store.h', - '<(DEPTH)/chrome/browser/renderer_preferences_util.cc', - '<(DEPTH)/chrome/browser/renderer_preferences_util.h', - '<(DEPTH)/chrome/browser/ui/prefs/prefs_tab_helper.cc', - '<(DEPTH)/chrome/browser/ui/prefs/prefs_tab_helper.h', - '<(DEPTH)/chrome/browser/ui/zoom/chrome_zoom_level_prefs.cc', - '<(DEPTH)/chrome/browser/ui/zoom/chrome_zoom_level_prefs.h', - '<(DEPTH)/chrome/common/pref_font_webkit_names.h', - '<(DEPTH)/chrome/common/pref_names.cc', - '<(DEPTH)/chrome/common/pref_names.h', - '<(DEPTH)/chrome/common/pref_names_util.cc', - '<(DEPTH)/chrome/common/pref_names_util.h', - '<(DEPTH)/components/prefs/testing_pref_store.cc', - '<(DEPTH)/components/prefs/testing_pref_store.h', - # Include sources for permissions support. - '<(DEPTH)/chrome/browser/permissions/permission_request_id.h', - '<(DEPTH)/chrome/browser/permissions/permission_request_id.cc', - # Include sources for SafeSearch support. - '<(DEPTH)/chrome/browser/net/safe_search_util.cc', - '<(DEPTH)/chrome/browser/net/safe_search_util.h', + + # Part of components/components.gyp:prefs_test_support which is testing only. + "<(DEPTH)/components/prefs/testing_pref_store.cc", + "<(DEPTH)/components/prefs/testing_pref_store.h", ], 'conditions': [ ['OS=="win"', { @@ -1532,12 +1347,8 @@ 'libcef/browser/osr/browser_platform_delegate_osr_win.cc', 'libcef/browser/osr/browser_platform_delegate_osr_win.h', 'libcef/browser/osr/render_widget_host_view_osr_win.cc', - # Include sources for printing using PDF. 'libcef/utility/printing_handler.cc', 'libcef/utility/printing_handler.h', - '<(DEPTH)/chrome/browser/printing/pdf_to_emf_converter.cc', - '<(DEPTH)/chrome/browser/printing/pdf_to_emf_converter.h', - '<(DEPTH)/chrome/common/chrome_utility_printing_messages.h', ], }], [ 'OS=="mac"', { @@ -1558,16 +1369,6 @@ 'libcef/browser/osr/text_input_client_osr_mac.h', 'libcef/common/util_mac.h', 'libcef/common/util_mac.mm', - # Include sources for spell checking support. - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_platform.h', - '<(DEPTH)/chrome/browser/spellchecker/spellcheck_platform_mac.mm', - '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.cc', - '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.h', - # Include sources for pepper flash support. - '<(DEPTH)/chrome/browser/renderer_host/pepper/monitor_finder_mac.h', - '<(DEPTH)/chrome/browser/renderer_host/pepper/monitor_finder_mac.mm', ], }], [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { @@ -1654,11 +1455,15 @@ 'libcef/browser/views/window_impl.h', 'libcef/browser/views/window_view.cc', 'libcef/browser/views/window_view.h', + + # Part of ui/views/views.gyp:views_test_support which is testing only. '<(DEPTH)/ui/views/test/desktop_test_views_delegate.h', '<(DEPTH)/ui/views/test/desktop_test_views_delegate_aura.cc', '<(DEPTH)/ui/views/test/test_views_delegate.h', '<(DEPTH)/ui/views/test/test_views_delegate_aura.cc', + # Support for UI input events. + # Part of ui/base/ui_base.gyp:ui_base_test_support which is testing only. '<(DEPTH)/ui/base/test/ui_controls.h', '<(DEPTH)/ui/base/test/ui_controls_aura.cc', '<(DEPTH)/ui/aura/test/ui_controls_factory_aura.h', @@ -1672,7 +1477,9 @@ ['use_aura==1 and OS=="win"', { 'sources': [ # Support for UI input events. + # Part of ui/aura/aura.gyp:aura_test_support which is testing only. '<(DEPTH)/ui/aura/test/ui_controls_factory_aurawin.cc', + # Part of ui/base/ui_base.gyp:ui_base_test_support which is testing only. '<(DEPTH)/ui/base/test/ui_controls_internal_win.cc', '<(DEPTH)/ui/base/test/ui_controls_internal_win.h', ], @@ -1680,13 +1487,16 @@ ['use_aura==1 and (OS=="linux" or OS=="freebsd" or OS=="openbsd")', { 'sources': [ # Support for UI input events. + # Part of ui/aura/aura.gyp:aura_test_support which is testing only. '<(DEPTH)/ui/aura/test/aura_test_utils.cc', '<(DEPTH)/ui/aura/test/aura_test_utils.h', '<(DEPTH)/ui/aura/test/ui_controls_factory_aurax11.cc', '<(DEPTH)/ui/aura/test/x11_event_sender.cc', '<(DEPTH)/ui/aura/test/x11_event_sender.h', + # Part of ui/events/events.gyp:events_test_support which is testing only. '<(DEPTH)/ui/events/test/platform_event_waiter.cc', '<(DEPTH)/ui/events/test/platform_event_waiter.h', + # Part of ui/views/views.gyp:views_test_support which is testing only. '<(DEPTH)/ui/views/test/ui_controls_factory_desktop_aurax11.cc', '<(DEPTH)/ui/views/test/ui_controls_factory_desktop_aurax11.h', ], diff --git a/cef.gypi b/cef.gypi index 906798f96..6628ee0d4 100644 --- a/cef.gypi +++ b/cef.gypi @@ -24,11 +24,6 @@ # Strip symbols and create dSYM files for the Release target. 'mac_strip_release': 1, }], - ['os_posix==1 and OS!="mac" and OS!="android"', { - # Disable theme support on Linux so we don't need to implement - # ThemeService[Factory] classes. - 'enable_themes': 0, - }] ] } } diff --git a/cef_repack_locales.gni b/cef_repack_locales.gni index 6347bbd40..42c15c2b6 100644 --- a/cef_repack_locales.gni +++ b/cef_repack_locales.gni @@ -29,6 +29,8 @@ template("_repack_one_locale") { # Each input pak file should also have a deps line for completeness. sources = [ "${root_gen_dir}/cef/cef_strings_${locale}.pak", + "${root_gen_dir}/chrome/generated_resources_${locale}.pak", + "${root_gen_dir}/chrome/locale_settings_${locale}.pak", "${root_gen_dir}/chrome/platform_locale_settings_${locale}.pak", "${root_gen_dir}/components/strings/components_locale_settings_${locale}.pak", "${root_gen_dir}/components/strings/components_strings_${locale}.pak", @@ -43,6 +45,8 @@ template("_repack_one_locale") { # listed both here and in the libcef_static target. public_deps = [ ":cef_strings", + "//chrome/app:generated_resources", + "//chrome/app/resources:locale_settings", "//chrome/app/resources:platform_locale_settings", "//components/strings:components_locale_settings", "//components/strings:components_strings", diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index 43d216a8d..206b905dd 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -733,7 +733,7 @@ void CefBrowserHostImpl::Print() { content::WebContents* actionable_contents = GetActionableWebContents(); if (!actionable_contents) return; - printing::PrintViewManager::FromWebContents( + printing::CefPrintViewManager::FromWebContents( actionable_contents)->PrintNow(); } else { CEF_POST_TASK(CEF_UIT, @@ -749,12 +749,12 @@ void CefBrowserHostImpl::PrintToPDF(const CefString& path, if (!actionable_contents) return; - printing::PrintViewManager::PdfPrintCallback pdf_callback; + printing::CefPrintViewManager::PdfPrintCallback pdf_callback; if (callback.get()) { pdf_callback = base::Bind(&CefPdfPrintCallback::OnPdfPrintFinished, callback.get(), path); } - printing::PrintViewManager::FromWebContents(actionable_contents)-> + printing::CefPrintViewManager::FromWebContents(actionable_contents)-> PrintToPDF(base::FilePath(path), settings, pdf_callback); } else { CEF_POST_TASK(CEF_UIT, @@ -2798,7 +2798,7 @@ CefBrowserHostImpl::CefBrowserHostImpl( CefFrameHostImpl::kInvalidFrameId); PrefsTabHelper::CreateForWebContents(web_contents_.get()); - printing::PrintViewManager::CreateForWebContents(web_contents_.get()); + printing::CefPrintViewManager::CreateForWebContents(web_contents_.get()); // Make sure RenderViewCreated is called at least one time. RenderViewCreated(web_contents->GetRenderViewHost()); diff --git a/libcef/browser/browser_main_win.cc b/libcef/browser/browser_main_win.cc index ce0443411..0c4bbe579 100644 --- a/libcef/browser/browser_main_win.cc +++ b/libcef/browser/browser_main_win.cc @@ -8,10 +8,10 @@ #include "libcef/browser/browser_main.h" +#include "cef/grit/cef_strings.h" #include "chrome/common/chrome_utility_messages.h" #include "content/public/browser/utility_process_host.h" #include "content/public/browser/utility_process_host_client.h" -#include "grit/cef_strings.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/win/direct_write.h" diff --git a/libcef/browser/chrome_profile_stub.cc b/libcef/browser/chrome_profile_stub.cc index 9b2a3e507..2506d3aca 100644 --- a/libcef/browser/chrome_profile_stub.cc +++ b/libcef/browser/chrome_profile_stub.cc @@ -5,84 +5,6 @@ #include "libcef/browser/chrome_profile_stub.h" -// Profile implementation. -// Based on chrome/browser/profiles/profile.cc. - -Profile::Profile() { -} - -Profile::~Profile() { -} - -// static -Profile* Profile::FromBrowserContext(content::BrowserContext* browser_context) { - // This is safe; this is the only implementation of the browser context. - return static_cast(browser_context); -} - -// static -Profile* Profile::FromWebUI(content::WebUI* web_ui) { - NOTIMPLEMENTED(); - return NULL; -} - -TestingProfile* Profile::AsTestingProfile() { - return NULL; -} - -ChromeZoomLevelPrefs* Profile::GetZoomLevelPrefs() { - return NULL; -} - -// static -void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { - NOTIMPLEMENTED(); -} - -std::string Profile::GetDebugName() { - NOTIMPLEMENTED(); - return std::string(); -} - -bool Profile::IsGuestSession() const { - NOTIMPLEMENTED(); - return false; -} - -bool Profile::IsSystemProfile() const { - NOTIMPLEMENTED(); - return false; -} - -bool Profile::IsNewProfile() { - NOTIMPLEMENTED(); - return false; -} - -bool Profile::IsSyncAllowed() { - NOTIMPLEMENTED(); - return false; -} - -void Profile::MaybeSendDestroyedNotification() { - NOTIMPLEMENTED(); -} - -bool ProfileCompare::operator()(Profile* a, Profile* b) const { - DCHECK(a && b); - if (a->IsSameProfile(b)) - return false; - return a->GetOriginalProfile() < b->GetOriginalProfile(); -} - -double Profile::GetDefaultZoomLevelForProfile() { - NOTIMPLEMENTED(); - return 0.0; -} - - -// ChromeProfileStub implementation. - ChromeProfileStub::ChromeProfileStub(){ } diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index f7b0ef1ad..ab86fdb49 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -444,7 +444,7 @@ void CefContentBrowserClient::RenderProcessWillLaunch( const int id = host->GetID(); host->GetChannel()->AddFilter(new CefBrowserMessageFilter(id)); - host->AddFilter(new printing::PrintingMessageFilter(id)); + host->AddFilter(new printing::CefPrintingMessageFilter(id)); if (!command_line->HasSwitch(switches::kDisableSpellChecking)) { host->AddFilter(new SpellCheckMessageFilter(id)); diff --git a/libcef/browser/devtools_delegate.cc b/libcef/browser/devtools_delegate.cc index 785094aa6..7495b8196 100644 --- a/libcef/browser/devtools_delegate.cc +++ b/libcef/browser/devtools_delegate.cc @@ -16,10 +16,11 @@ #include "base/strings/stringprintf.h" #include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" -#include "content/public/browser/devtools_agent_host.h" #include "base/time/time.h" +#include "cef/grit/cef_resources.h" #include "components/devtools_discovery/basic_target_descriptor.h" #include "components/devtools_discovery/devtools_discovery_manager.h" +#include "content/public/browser/devtools_agent_host.h" #include "content/public/browser/devtools_frontend_host.h" #include "content/public/browser/favicon_status.h" #include "content/public/browser/navigation_entry.h" @@ -29,7 +30,6 @@ #include "content/public/browser/web_contents_delegate.h" #include "content/public/common/content_switches.h" #include "content/public/common/url_constants.h" -#include "grit/cef_resources.h" #include "net/base/net_errors.h" #include "net/socket/tcp_server_socket.h" #include "ui/base/layout.h" diff --git a/libcef/browser/extensions/api/streams_private/streams_private_api.cc b/libcef/browser/extensions/api/streams_private/streams_private_api.cc index b59b43249..569fa0725 100644 --- a/libcef/browser/extensions/api/streams_private/streams_private_api.cc +++ b/libcef/browser/extensions/api/streams_private/streams_private_api.cc @@ -45,24 +45,25 @@ void CreateResponseHeadersDictionary(const net::HttpResponseHeaders* headers, } // namespace -namespace streams_private = api::streams_private; +namespace streams_private = api::cef::streams_private; // static -StreamsPrivateAPI* StreamsPrivateAPI::Get(content::BrowserContext* context) { +CefStreamsPrivateAPI* CefStreamsPrivateAPI::Get( + content::BrowserContext* context) { return GetFactoryInstance()->Get(context); } -StreamsPrivateAPI::StreamsPrivateAPI(content::BrowserContext* context) +CefStreamsPrivateAPI::CefStreamsPrivateAPI(content::BrowserContext* context) : browser_context_(context), extension_registry_observer_(this), weak_ptr_factory_(this) { extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); } -StreamsPrivateAPI::~StreamsPrivateAPI() { +CefStreamsPrivateAPI::~CefStreamsPrivateAPI() { } -void StreamsPrivateAPI::ExecuteMimeTypeHandler( +void CefStreamsPrivateAPI::ExecuteMimeTypeHandler( const std::string& extension_id, int tab_id, std::unique_ptr stream, @@ -123,7 +124,7 @@ void StreamsPrivateAPI::ExecuteMimeTypeHandler( streams_[extension_id][url] = make_linked_ptr(stream->handle.release()); } -void StreamsPrivateAPI::AbortStream(const std::string& extension_id, +void CefStreamsPrivateAPI::AbortStream(const std::string& extension_id, const GURL& stream_url, const base::Closure& callback) { StreamMap::iterator extension_it = streams_.find(extension_id); @@ -143,36 +144,36 @@ void StreamsPrivateAPI::AbortStream(const std::string& extension_id, url_map->erase(url_it); } -void StreamsPrivateAPI::OnExtensionUnloaded( +void CefStreamsPrivateAPI::OnExtensionUnloaded( content::BrowserContext* browser_context, const Extension* extension, UnloadedExtensionInfo::Reason reason) { streams_.erase(extension->id()); } -StreamsPrivateAbortFunction::StreamsPrivateAbortFunction() { +CefStreamsPrivateAbortFunction::CefStreamsPrivateAbortFunction() { } -ExtensionFunction::ResponseAction StreamsPrivateAbortFunction::Run() { +ExtensionFunction::ResponseAction CefStreamsPrivateAbortFunction::Run() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &stream_url_)); - StreamsPrivateAPI::Get(browser_context())->AbortStream( + CefStreamsPrivateAPI::Get(browser_context())->AbortStream( extension_id(), GURL(stream_url_), base::Bind( - &StreamsPrivateAbortFunction::OnClose, this)); + &CefStreamsPrivateAbortFunction::OnClose, this)); return RespondLater(); } -void StreamsPrivateAbortFunction::OnClose() { +void CefStreamsPrivateAbortFunction::OnClose() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); Respond(NoArguments()); } -static base::LazyInstance > +static base::LazyInstance > g_factory = LAZY_INSTANCE_INITIALIZER; // static -BrowserContextKeyedAPIFactory* -StreamsPrivateAPI::GetFactoryInstance() { +BrowserContextKeyedAPIFactory* +CefStreamsPrivateAPI::GetFactoryInstance() { return g_factory.Pointer(); } diff --git a/libcef/browser/extensions/api/streams_private/streams_private_api.h b/libcef/browser/extensions/api/streams_private/streams_private_api.h index 06d919241..fdd5f5dcd 100644 --- a/libcef/browser/extensions/api/streams_private/streams_private_api.h +++ b/libcef/browser/extensions/api/streams_private/streams_private_api.h @@ -24,14 +24,14 @@ struct StreamInfo; namespace extensions { class ExtensionRegistry; -class StreamsPrivateAPI : public BrowserContextKeyedAPI, - public ExtensionRegistryObserver { +class CefStreamsPrivateAPI : public BrowserContextKeyedAPI, + public ExtensionRegistryObserver { public: - // Convenience method to get the StreamsPrivateAPI for a BrowserContext. - static StreamsPrivateAPI* Get(content::BrowserContext* context); + // Convenience method to get the CefStreamsPrivateAPI for a BrowserContext. + static CefStreamsPrivateAPI* Get(content::BrowserContext* context); - explicit StreamsPrivateAPI(content::BrowserContext* context); - ~StreamsPrivateAPI() override; + explicit CefStreamsPrivateAPI(content::BrowserContext* context); + ~CefStreamsPrivateAPI() override; // Send the onExecuteMimeTypeHandler event to |extension_id|. // |tab_id| is used to determine the tabId where the document is being @@ -53,10 +53,11 @@ class StreamsPrivateAPI : public BrowserContextKeyedAPI, const base::Closure& callback); // BrowserContextKeyedAPI implementation. - static BrowserContextKeyedAPIFactory* GetFactoryInstance(); + static BrowserContextKeyedAPIFactory* + GetFactoryInstance(); private: - friend class BrowserContextKeyedAPIFactory; + friend class BrowserContextKeyedAPIFactory; typedef std::map > > StreamMap; @@ -68,7 +69,7 @@ class StreamsPrivateAPI : public BrowserContextKeyedAPI, // BrowserContextKeyedAPI implementation. static const char* service_name() { - return "StreamsPrivateAPI"; + return "CefStreamsPrivateAPI"; } static const bool kServiceIsNULLWhileTesting = true; static const bool kServiceRedirectedInIncognito = true; @@ -80,17 +81,17 @@ class StreamsPrivateAPI : public BrowserContextKeyedAPI, ScopedObserver extension_registry_observer_; - base::WeakPtrFactory weak_ptr_factory_; + base::WeakPtrFactory weak_ptr_factory_; }; -class StreamsPrivateAbortFunction : public UIThreadExtensionFunction { +class CefStreamsPrivateAbortFunction : public UIThreadExtensionFunction { public: - StreamsPrivateAbortFunction(); + CefStreamsPrivateAbortFunction(); DECLARE_EXTENSION_FUNCTION("streamsPrivate.abort", STREAMSPRIVATE_ABORT) protected: - ~StreamsPrivateAbortFunction() override {} + ~CefStreamsPrivateAbortFunction() override {} // ExtensionFunction: ExtensionFunction::ResponseAction Run() override; @@ -101,6 +102,10 @@ class StreamsPrivateAbortFunction : public UIThreadExtensionFunction { std::string stream_url_; }; +// For compatibility with generated_api_registration.cc. +typedef CefStreamsPrivateAPI StreamsPrivateAPI; +typedef CefStreamsPrivateAbortFunction StreamsPrivateAbortFunction; + } // namespace extensions #endif // CEF_LIBCEF_BROWSER_EXTENSIONS_API_STREAMS_PRIVATE_STREAMS_PRIVATE_API_H_ diff --git a/libcef/browser/extensions/browser_context_keyed_service_factories.cc b/libcef/browser/extensions/browser_context_keyed_service_factories.cc index 84f53ed19..1c8b0dbd9 100644 --- a/libcef/browser/extensions/browser_context_keyed_service_factories.cc +++ b/libcef/browser/extensions/browser_context_keyed_service_factories.cc @@ -15,7 +15,7 @@ namespace cef { void EnsureBrowserContextKeyedServiceFactoriesBuilt() { PrefsTabHelper::GetServiceInstance(); RendererStartupHelperFactory::GetInstance(); - StreamsPrivateAPI::GetFactoryInstance(); + CefStreamsPrivateAPI::GetFactoryInstance(); } } // namespace cef diff --git a/libcef/browser/extensions/component_extension_resource_manager.cc b/libcef/browser/extensions/component_extension_resource_manager.cc index 378fcb089..1929da16b 100644 --- a/libcef/browser/extensions/component_extension_resource_manager.cc +++ b/libcef/browser/extensions/component_extension_resource_manager.cc @@ -7,7 +7,7 @@ #include "base/logging.h" #include "base/path_service.h" #include "chrome/common/chrome_paths.h" -#include "grit/component_extension_resources_map.h" +#include "chrome/grit/component_extension_resources_map.h" namespace extensions { diff --git a/libcef/browser/extensions/event_router_forwarder.cc b/libcef/browser/extensions/event_router_forwarder.cc index 785a40f01..37869b89b 100644 --- a/libcef/browser/extensions/event_router_forwarder.cc +++ b/libcef/browser/extensions/event_router_forwarder.cc @@ -20,13 +20,13 @@ using content::BrowserThread; namespace extensions { -EventRouterForwarder::EventRouterForwarder() { +CefEventRouterForwarder::CefEventRouterForwarder() { } -EventRouterForwarder::~EventRouterForwarder() { +CefEventRouterForwarder::~CefEventRouterForwarder() { } -void EventRouterForwarder::BroadcastEventToRenderers( +void CefEventRouterForwarder::BroadcastEventToRenderers( events::HistogramValue histogram_value, const std::string& event_name, std::unique_ptr event_args, @@ -35,7 +35,7 @@ void EventRouterForwarder::BroadcastEventToRenderers( 0, true, event_url); } -void EventRouterForwarder::DispatchEventToRenderers( +void CefEventRouterForwarder::DispatchEventToRenderers( events::HistogramValue histogram_value, const std::string& event_name, std::unique_ptr event_args, @@ -48,7 +48,7 @@ void EventRouterForwarder::DispatchEventToRenderers( profile, use_profile_to_restrict_events, event_url); } -void EventRouterForwarder::BroadcastEventToExtension( +void CefEventRouterForwarder::BroadcastEventToExtension( const std::string& extension_id, events::HistogramValue histogram_value, const std::string& event_name, @@ -58,7 +58,7 @@ void EventRouterForwarder::BroadcastEventToExtension( 0, true, event_url); } -void EventRouterForwarder::DispatchEventToExtension( +void CefEventRouterForwarder::DispatchEventToExtension( const std::string& extension_id, events::HistogramValue histogram_value, const std::string& event_name, @@ -72,7 +72,7 @@ void EventRouterForwarder::DispatchEventToExtension( profile, use_profile_to_restrict_events, event_url); } -void EventRouterForwarder::HandleEvent( +void CefEventRouterForwarder::HandleEvent( const std::string& extension_id, events::HistogramValue histogram_value, const std::string& event_name, @@ -83,7 +83,7 @@ void EventRouterForwarder::HandleEvent( if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - base::Bind(&EventRouterForwarder::HandleEvent, this, extension_id, + base::Bind(&CefEventRouterForwarder::HandleEvent, this, extension_id, histogram_value, event_name, base::Passed(&event_args), profile_ptr, use_profile_to_restrict_events, event_url)); return; @@ -113,7 +113,7 @@ void EventRouterForwarder::HandleEvent( } } -void EventRouterForwarder::CallEventRouter( +void CefEventRouterForwarder::CallEventRouter( content::BrowserContext* profile, const std::string& extension_id, events::HistogramValue histogram_value, diff --git a/libcef/browser/extensions/event_router_forwarder.h b/libcef/browser/extensions/event_router_forwarder.h index 5768d16d1..93053e3d1 100644 --- a/libcef/browser/extensions/event_router_forwarder.h +++ b/libcef/browser/extensions/event_router_forwarder.h @@ -29,10 +29,11 @@ namespace extensions { // - this class can be used in contexts that are not governed by a profile, e.g. // by system URLRequestContexts. In these cases the |restrict_to_profile| // parameter remains NULL and events are broadcasted to all profiles. -class EventRouterForwarder - : public base::RefCountedThreadSafe { +// TODO(cef/chrome): Unfork this class once CEF supports ProfileManager. +class CefEventRouterForwarder + : public base::RefCountedThreadSafe { public: - EventRouterForwarder(); + CefEventRouterForwarder(); // Calls // DispatchEventToRenderers(event_name, event_args, profile, event_url) @@ -79,7 +80,7 @@ class EventRouterForwarder protected: // Protected for testing. - virtual ~EventRouterForwarder(); + virtual ~CefEventRouterForwarder(); // Helper function for {Broadcast,Dispatch}EventTo{Extension,Renderers}. // Virtual for testing. @@ -104,9 +105,9 @@ class EventRouterForwarder const GURL& event_url); private: - friend class base::RefCountedThreadSafe; + friend class base::RefCountedThreadSafe; - DISALLOW_COPY_AND_ASSIGN(EventRouterForwarder); + DISALLOW_COPY_AND_ASSIGN(CefEventRouterForwarder); }; } // namespace extensions diff --git a/libcef/browser/extensions/extensions_api_client.cc b/libcef/browser/extensions/extensions_api_client.cc index 2c214b998..9bb070967 100644 --- a/libcef/browser/extensions/extensions_api_client.cc +++ b/libcef/browser/extensions/extensions_api_client.cc @@ -54,7 +54,7 @@ CefExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( void CefExtensionsAPIClient::AttachWebContentsHelpers( content::WebContents* web_contents) const { PrefsTabHelper::CreateForWebContents(web_contents); - printing::PrintViewManager::CreateForWebContents(web_contents); + printing::CefPrintViewManager::CreateForWebContents(web_contents); pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( web_contents, std::unique_ptr( diff --git a/libcef/browser/extensions/extensions_browser_client.cc b/libcef/browser/extensions/extensions_browser_client.cc index 37d6830b1..6dcbf647a 100644 --- a/libcef/browser/extensions/extensions_browser_client.cc +++ b/libcef/browser/extensions/extensions_browser_client.cc @@ -37,7 +37,7 @@ namespace extensions { CefExtensionsBrowserClient::CefExtensionsBrowserClient() : api_client_(new CefExtensionsAPIClient), resource_manager_(new CefComponentExtensionResourceManager), - event_router_forwarder_(new EventRouterForwarder) { + event_router_forwarder_(new CefEventRouterForwarder) { } CefExtensionsBrowserClient::~CefExtensionsBrowserClient() { @@ -181,7 +181,7 @@ void CefExtensionsBrowserClient::RegisterExtensionFunctions( api::GeneratedFunctionRegistry::RegisterAll(registry); // CEF-only APIs. - api::ChromeGeneratedFunctionRegistry::RegisterAll(registry); + api::cef::CefGeneratedFunctionRegistry::RegisterAll(registry); } void CefExtensionsBrowserClient::RegisterMojoServices( diff --git a/libcef/browser/extensions/extensions_browser_client.h b/libcef/browser/extensions/extensions_browser_client.h index 829c1a4b9..f989bcbfd 100644 --- a/libcef/browser/extensions/extensions_browser_client.h +++ b/libcef/browser/extensions/extensions_browser_client.h @@ -93,7 +93,7 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient { // Resource manager used to supply resources from pak files. std::unique_ptr resource_manager_; - scoped_refptr event_router_forwarder_; + scoped_refptr event_router_forwarder_; DISALLOW_COPY_AND_ASSIGN(CefExtensionsBrowserClient); }; diff --git a/libcef/browser/extensions/pdf_extension_util.cc b/libcef/browser/extensions/pdf_extension_util.cc index de5b460b1..1faa4da00 100644 --- a/libcef/browser/extensions/pdf_extension_util.cc +++ b/libcef/browser/extensions/pdf_extension_util.cc @@ -5,7 +5,7 @@ #include "libcef/browser/extensions/pdf_extension_util.h" #include "base/strings/string_util.h" -#include "grit/cef_resources.h" +#include "chrome/grit/browser_resources.h" #include "ui/base/resource/resource_bundle.h" namespace extensions { diff --git a/libcef/browser/menu_manager.cc b/libcef/browser/menu_manager.cc index 4a2858eb9..302762d60 100644 --- a/libcef/browser/menu_manager.cc +++ b/libcef/browser/menu_manager.cc @@ -14,10 +14,11 @@ #include "base/compiler_specific.h" #include "base/logging.h" +#include "cef/grit/cef_strings.h" +#include "chrome/grit/generated_resources.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_widget_host_view.h" -#include "grit/cef_strings.h" namespace { diff --git a/libcef/browser/native/file_dialog_runner_mac.mm b/libcef/browser/native/file_dialog_runner_mac.mm index de46b9ba9..3e3a608ef 100644 --- a/libcef/browser/native/file_dialog_runner_mac.mm +++ b/libcef/browser/native/file_dialog_runner_mac.mm @@ -16,8 +16,8 @@ #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" +#include "cef/grit/cef_strings.h" #include "content/public/common/file_chooser_params.h" -#include "grit/cef_strings.h" #include "net/base/mime_util.h" #include "ui/base/l10n/l10n_util.h" #include "ui/strings/grit/ui_strings.h" diff --git a/libcef/browser/native/file_dialog_runner_win.cc b/libcef/browser/native/file_dialog_runner_win.cc index c193ceea5..14247a089 100644 --- a/libcef/browser/native/file_dialog_runner_win.cc +++ b/libcef/browser/native/file_dialog_runner_win.cc @@ -16,7 +16,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/win/registry.h" #include "base/win/scoped_comptr.h" -#include "grit/cef_strings.h" +#include "cef/grit/cef_strings.h" #include "net/base/mime_util.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/win/shell.h" diff --git a/libcef/browser/native/menu_runner_win.cc b/libcef/browser/native/menu_runner_win.cc index 234d5c501..77baad1fb 100644 --- a/libcef/browser/native/menu_runner_win.cc +++ b/libcef/browser/native/menu_runner_win.cc @@ -18,7 +18,7 @@ bool CefMenuRunnerWin::RunContextMenu( CefMenuModelImpl* model, const content::ContextMenuParams& params) { // Create a menu based on the model. - menu_.reset(new views::NativeMenuWin(model->model(), NULL)); + menu_.reset(new views::CefNativeMenuWin(model->model(), NULL)); menu_->Rebuild(NULL); // Make sure events can be pumped while the menu is up. diff --git a/libcef/browser/native/menu_runner_win.h b/libcef/browser/native/menu_runner_win.h index f24c09b00..11bb221a7 100644 --- a/libcef/browser/native/menu_runner_win.h +++ b/libcef/browser/native/menu_runner_win.h @@ -21,7 +21,7 @@ class CefMenuRunnerWin : public CefMenuRunner { const content::ContextMenuParams& params) override; private: - std::unique_ptr menu_; + std::unique_ptr menu_; }; #endif // CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_WIN_H_ diff --git a/libcef/browser/native/native_menu_win.cc b/libcef/browser/native/native_menu_win.cc index 6a51bbdd0..c4385dbde 100644 --- a/libcef/browser/native/native_menu_win.cc +++ b/libcef/browser/native/native_menu_win.cc @@ -47,7 +47,7 @@ static const int kItemLeftMargin = 4; // The width for displaying the sub-menu arrow. static const int kArrowWidth = 10; -struct NativeMenuWin::ItemData { +struct CefNativeMenuWin::ItemData { // The Windows API requires that whoever creates the menus must own the // strings used for labels, and keep them around for the lifetime of the // created menu. So be it. @@ -57,26 +57,26 @@ struct NativeMenuWin::ItemData { std::unique_ptr submenu; // We need a pointer back to the containing menu in various circumstances. - NativeMenuWin* native_menu_win; + CefNativeMenuWin* native_menu_win; // The index of the item within the menu's model. int model_index; }; -// Returns the NativeMenuWin for a particular HMENU. -static NativeMenuWin* GetNativeMenuWinFromHMENU(HMENU hmenu) { +// Returns the CefNativeMenuWin for a particular HMENU. +static CefNativeMenuWin* GetCefNativeMenuWinFromHMENU(HMENU hmenu) { MENUINFO mi = {0}; mi.cbSize = sizeof(mi); mi.fMask = MIM_MENUDATA | MIM_STYLE; GetMenuInfo(hmenu, &mi); - return reinterpret_cast(mi.dwMenuData); + return reinterpret_cast(mi.dwMenuData); } // A window that receives messages from Windows relevant to the native menu -// structure we have constructed in NativeMenuWin. -class NativeMenuWin::MenuHostWindow { +// structure we have constructed in CefNativeMenuWin. +class CefNativeMenuWin::MenuHostWindow { public: - explicit MenuHostWindow(NativeMenuWin* parent) : parent_(parent) { + explicit MenuHostWindow(CefNativeMenuWin* parent) : parent_(parent) { RegisterClass(); hwnd_ = CreateWindowEx(l10n_util::GetExtendedStyles(), kWindowClassName, L"", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL); @@ -138,15 +138,15 @@ class NativeMenuWin::MenuHostWindow { return w_param; } - NativeMenuWin::ItemData* GetItemData(ULONG_PTR item_data) { - return reinterpret_cast(item_data); + CefNativeMenuWin::ItemData* GetItemData(ULONG_PTR item_data) { + return reinterpret_cast(item_data); } // Called when the user selects a specific item. void OnMenuCommand(int position, HMENU menu) { - NativeMenuWin* menu_win = GetNativeMenuWinFromHMENU(menu); + CefNativeMenuWin* menu_win = GetCefNativeMenuWinFromHMENU(menu); ui::MenuModel* model = menu_win->model_; - NativeMenuWin* root_menu = menu_win; + CefNativeMenuWin* root_menu = menu_win; while (root_menu->parent_) root_menu = root_menu->parent_; @@ -164,12 +164,13 @@ class NativeMenuWin::MenuHostWindow { int position = GetMenuItemIndexFromWPARAM(menu, w_param); if (position >= 0) - GetNativeMenuWinFromHMENU(menu)->model_->HighlightChangedTo(position); + GetCefNativeMenuWinFromHMENU(menu)->model_->HighlightChangedTo(position); } // Called by Windows to measure the size of an owner-drawn menu item. void OnMeasureItem(WPARAM w_param, MEASUREITEMSTRUCT* measure_item_struct) { - NativeMenuWin::ItemData* data = GetItemData(measure_item_struct->itemData); + CefNativeMenuWin::ItemData* data = + GetItemData(measure_item_struct->itemData); if (data) { gfx::FontList font_list; measure_item_struct->itemWidth = @@ -208,7 +209,8 @@ class NativeMenuWin::MenuHostWindow { } if (draw_item_struct->itemData) { - NativeMenuWin::ItemData* data = GetItemData(draw_item_struct->itemData); + CefNativeMenuWin::ItemData* data = + GetItemData(draw_item_struct->itemData); // Draw the background. HBRUSH hbr = CreateSolidBrush(GetBkColor(dc)); FillRect(dc, &draw_item_struct->rcItem, hbr); @@ -355,12 +357,12 @@ class NativeMenuWin::MenuHostWindow { } HWND hwnd_; - NativeMenuWin* parent_; + CefNativeMenuWin* parent_; DISALLOW_COPY_AND_ASSIGN(MenuHostWindow); }; -struct NativeMenuWin::HighlightedMenuItemInfo { +struct CefNativeMenuWin::HighlightedMenuItemInfo { HighlightedMenuItemInfo() : has_parent(false), has_submenu(false), @@ -372,18 +374,18 @@ struct NativeMenuWin::HighlightedMenuItemInfo { bool has_submenu; // The menu and position. These are only set for non-disabled menu items. - NativeMenuWin* menu; + CefNativeMenuWin* menu; int position; }; // static -const wchar_t* NativeMenuWin::MenuHostWindow::kWindowClassName = +const wchar_t* CefNativeMenuWin::MenuHostWindow::kWindowClassName = L"ViewsMenuHostWindow"; //////////////////////////////////////////////////////////////////////////////// -// NativeMenuWin, public: +// CefNativeMenuWin, public: -NativeMenuWin::NativeMenuWin(ui::MenuModel* model, HWND system_menu_for) +CefNativeMenuWin::CefNativeMenuWin(ui::MenuModel* model, HWND system_menu_for) : model_(model), menu_(NULL), owner_draw_(l10n_util::NeedOverrideDefaultUIFont(NULL, NULL) && @@ -398,7 +400,7 @@ NativeMenuWin::NativeMenuWin(ui::MenuModel* model, HWND system_menu_for) menu_to_select_factory_(this) { } -NativeMenuWin::~NativeMenuWin() { +CefNativeMenuWin::~CefNativeMenuWin() { if (destroyed_flag_) *destroyed_flag_ = true; STLDeleteContainerPointers(items_.begin(), items_.end()); @@ -406,9 +408,9 @@ NativeMenuWin::~NativeMenuWin() { } //////////////////////////////////////////////////////////////////////////////// -// NativeMenuWin, MenuWrapper implementation: +// CefNativeMenuWin, MenuWrapper implementation: -void NativeMenuWin::RunMenuAt(const gfx::Point& point, int alignment) { +void CefNativeMenuWin::RunMenuAt(const gfx::Point& point, int alignment) { CreateHostWindow(); UpdateStates(); UINT flags = TPM_LEFTBUTTON | TPM_RIGHTBUTTON | TPM_RECURSE; @@ -450,7 +452,7 @@ void NativeMenuWin::RunMenuAt(const gfx::Point& point, int alignment) { menu_to_select_factory_.InvalidateWeakPtrs(); base::MessageLoop::current()->PostTask( FROM_HERE, - base::Bind(&NativeMenuWin::DelayedSelect, + base::Bind(&CefNativeMenuWin::DelayedSelect, menu_to_select_factory_.GetWeakPtr())); menu_action_ = MENU_ACTION_SELECTED; } @@ -459,11 +461,11 @@ void NativeMenuWin::RunMenuAt(const gfx::Point& point, int alignment) { model_->MenuClosed(); } -void NativeMenuWin::CancelMenu() { +void CefNativeMenuWin::CancelMenu() { EndMenu(); } -void NativeMenuWin::Rebuild(MenuInsertionDelegateWin* delegate) { +void CefNativeMenuWin::Rebuild(MenuInsertionDelegateWin* delegate) { ResetNativeMenu(); items_.clear(); @@ -479,7 +481,7 @@ void NativeMenuWin::Rebuild(MenuInsertionDelegateWin* delegate) { } } -void NativeMenuWin::UpdateStates() { +void CefNativeMenuWin::UpdateStates() { // A depth-first walk of the menu items, updating states. int model_index = 0; std::vector::const_iterator it; @@ -498,39 +500,39 @@ void NativeMenuWin::UpdateStates() { } } -HMENU NativeMenuWin::GetNativeMenu() const { +HMENU CefNativeMenuWin::GetNativeMenu() const { return menu_; } -NativeMenuWin::MenuAction NativeMenuWin::GetMenuAction() const { +CefNativeMenuWin::MenuAction CefNativeMenuWin::GetMenuAction() const { return menu_action_; } -void NativeMenuWin::AddMenuListener(MenuListener* listener) { +void CefNativeMenuWin::AddMenuListener(MenuListener* listener) { listeners_.AddObserver(listener); } -void NativeMenuWin::RemoveMenuListener(MenuListener* listener) { +void CefNativeMenuWin::RemoveMenuListener(MenuListener* listener) { listeners_.RemoveObserver(listener); } -void NativeMenuWin::SetMinimumWidth(int width) { +void CefNativeMenuWin::SetMinimumWidth(int width) { NOTIMPLEMENTED(); } //////////////////////////////////////////////////////////////////////////////// -// NativeMenuWin, private: +// CefNativeMenuWin, private: // static -NativeMenuWin* NativeMenuWin::open_native_menu_win_ = NULL; +CefNativeMenuWin* CefNativeMenuWin::open_native_menu_win_ = NULL; -void NativeMenuWin::DelayedSelect() { +void CefNativeMenuWin::DelayedSelect() { if (menu_to_select_) menu_to_select_->model_->ActivatedAt(position_to_select_); } // static -bool NativeMenuWin::GetHighlightedMenuItemInfo( +bool CefNativeMenuWin::GetHighlightedMenuItemInfo( HMENU menu, HighlightedMenuItemInfo* info) { for (int i = 0; i < ::GetMenuItemCount(menu); i++) { @@ -543,7 +545,7 @@ bool NativeMenuWin::GetHighlightedMenuItemInfo( else info->has_submenu = true; } else if (!(state & MF_SEPARATOR) && !(state & MF_DISABLED)) { - info->menu = GetNativeMenuWinFromHMENU(menu); + info->menu = GetCefNativeMenuWinFromHMENU(menu); info->position = i; } return true; @@ -553,11 +555,11 @@ bool NativeMenuWin::GetHighlightedMenuItemInfo( } // static -LRESULT CALLBACK NativeMenuWin::MenuMessageHook( +LRESULT CALLBACK CefNativeMenuWin::MenuMessageHook( int n_code, WPARAM w_param, LPARAM l_param) { LRESULT result = CallNextHookEx(NULL, n_code, w_param, l_param); - NativeMenuWin* this_ptr = open_native_menu_win_; + CefNativeMenuWin* this_ptr = open_native_menu_win_; if (!this_ptr) return result; @@ -602,7 +604,7 @@ LRESULT CALLBACK NativeMenuWin::MenuMessageHook( return result; } -bool NativeMenuWin::IsSeparatorItemAt(int menu_index) const { +bool CefNativeMenuWin::IsSeparatorItemAt(int menu_index) const { MENUITEMINFO mii = {0}; mii.cbSize = sizeof(mii); mii.fMask = MIIM_FTYPE; @@ -610,7 +612,7 @@ bool NativeMenuWin::IsSeparatorItemAt(int menu_index) const { return !!(mii.fType & MF_SEPARATOR); } -void NativeMenuWin::AddMenuItemAt(int menu_index, int model_index) { +void CefNativeMenuWin::AddMenuItemAt(int menu_index, int model_index) { MENUITEMINFO mii = {0}; mii.cbSize = sizeof(mii); mii.fMask = MIIM_FTYPE | MIIM_ID | MIIM_DATA; @@ -626,7 +628,7 @@ void NativeMenuWin::AddMenuItemAt(int menu_index, int model_index) { item_data->submenu.reset(new Menu2(model_->GetSubmenuModelAt(model_index))); mii.fMask |= MIIM_SUBMENU; mii.hSubMenu = item_data->submenu->GetNativeMenu(); - GetNativeMenuWinFromHMENU(mii.hSubMenu)->parent_ = this; + GetCefNativeMenuWinFromHMENU(mii.hSubMenu)->parent_ = this; } else { if (type == ui::MenuModel::TYPE_RADIO) mii.fType |= MFT_RADIOCHECK; @@ -641,7 +643,7 @@ void NativeMenuWin::AddMenuItemAt(int menu_index, int model_index) { InsertMenuItem(menu_, menu_index, TRUE, &mii); } -void NativeMenuWin::AddSeparatorItemAt(int menu_index, int model_index) { +void CefNativeMenuWin::AddSeparatorItemAt(int menu_index, int model_index) { MENUITEMINFO mii = {0}; mii.cbSize = sizeof(mii); mii.fMask = MIIM_FTYPE; @@ -652,8 +654,8 @@ void NativeMenuWin::AddSeparatorItemAt(int menu_index, int model_index) { InsertMenuItem(menu_, menu_index, TRUE, &mii); } -void NativeMenuWin::SetMenuItemState(int menu_index, bool enabled, bool checked, - bool is_default) { +void CefNativeMenuWin::SetMenuItemState( + int menu_index, bool enabled, bool checked, bool is_default) { if (IsSeparatorItemAt(menu_index)) return; @@ -670,7 +672,7 @@ void NativeMenuWin::SetMenuItemState(int menu_index, bool enabled, bool checked, SetMenuItemInfo(menu_, menu_index, MF_BYPOSITION, &mii); } -void NativeMenuWin::SetMenuItemLabel(int menu_index, +void CefNativeMenuWin::SetMenuItemLabel(int menu_index, int model_index, const base::string16& label) { if (IsSeparatorItemAt(menu_index)) @@ -682,7 +684,7 @@ void NativeMenuWin::SetMenuItemLabel(int menu_index, SetMenuItemInfo(menu_, menu_index, MF_BYPOSITION, &mii); } -void NativeMenuWin::UpdateMenuItemInfoForString(MENUITEMINFO* mii, +void CefNativeMenuWin::UpdateMenuItemInfoForString(MENUITEMINFO* mii, int model_index, const base::string16& label) { base::string16 formatted = label; @@ -709,7 +711,7 @@ void NativeMenuWin::UpdateMenuItemInfoForString(MENUITEMINFO* mii, const_cast(items_[model_index]->label.c_str()); } -UINT NativeMenuWin::GetAlignmentFlags(int alignment) const { +UINT CefNativeMenuWin::GetAlignmentFlags(int alignment) const { UINT alignment_flags = TPM_TOPALIGN; if (alignment == Menu2::ALIGN_TOPLEFT) alignment_flags |= TPM_LEFTALIGN; @@ -718,7 +720,7 @@ UINT NativeMenuWin::GetAlignmentFlags(int alignment) const { return alignment_flags; } -void NativeMenuWin::ResetNativeMenu() { +void CefNativeMenuWin::ResetNativeMenu() { if (IsWindow(system_menu_for_)) { if (menu_) GetSystemMenu(system_menu_for_, TRUE); @@ -739,9 +741,9 @@ void NativeMenuWin::ResetNativeMenu() { } } -void NativeMenuWin::CreateHostWindow() { +void CefNativeMenuWin::CreateHostWindow() { // This only gets called from RunMenuAt, and as such there is only ever one - // host window per menu hierarchy, no matter how many NativeMenuWin objects + // host window per menu hierarchy, no matter how many CefNativeMenuWin objects // exist wrapping submenus. if (!host_window_.get()) host_window_.reset(new MenuHostWindow(this)); @@ -752,7 +754,7 @@ void NativeMenuWin::CreateHostWindow() { // static MenuWrapper* MenuWrapper::CreateWrapper(ui::MenuModel* model) { - return new NativeMenuWin(model, NULL); + return new CefNativeMenuWin(model, NULL); } } // namespace views diff --git a/libcef/browser/native/native_menu_win.h b/libcef/browser/native/native_menu_win.h index 4cf56484a..6640b3283 100644 --- a/libcef/browser/native/native_menu_win.h +++ b/libcef/browser/native/native_menu_win.h @@ -23,13 +23,14 @@ namespace views { // A Windows implementation of MenuWrapper. // TODO(beng): rename to MenuWin once the old class is dead. -class NativeMenuWin : public MenuWrapper { +class CefNativeMenuWin : public MenuWrapper { public: - // Construct a NativeMenuWin, with a model and delegate. If |system_menu_for| - // is non-NULL, the NativeMenuWin wraps the system menu for that window. + // Construct a CefNativeMenuWin, with a model and delegate. If + // |system_menu_for| is non-NULL, the CefNativeMenuWin wraps the system menu + // for that window. // The caller owns the model and the delegate. - NativeMenuWin(ui::MenuModel* model, HWND system_menu_for); - ~NativeMenuWin() override; + CefNativeMenuWin(ui::MenuModel* model, HWND system_menu_for); + ~CefNativeMenuWin() override; // Overridden from MenuWrapper: void RunMenuAt(const gfx::Point& point, int alignment) override; @@ -143,25 +144,25 @@ class NativeMenuWin : public MenuWrapper { bool listeners_called_; // See comment in MenuMessageHook for details on these. - NativeMenuWin* menu_to_select_; + CefNativeMenuWin* menu_to_select_; int position_to_select_; // If we're a submenu, this is our parent. - NativeMenuWin* parent_; + CefNativeMenuWin* parent_; // If non-null the destructor sets this to true. This is set to non-null while // the menu is showing. It is used to detect if the menu was deleted while // running. bool* destroyed_flag_; - base::WeakPtrFactory menu_to_select_factory_; + base::WeakPtrFactory menu_to_select_factory_; // Ugly: a static pointer to the instance of this class that currently // has a menu open, because our hook function that receives keyboard // events doesn't have a mechanism to get a user data pointer. - static NativeMenuWin* open_native_menu_win_; + static CefNativeMenuWin* open_native_menu_win_; - DISALLOW_COPY_AND_ASSIGN(NativeMenuWin); + DISALLOW_COPY_AND_ASSIGN(CefNativeMenuWin); }; } // namespace views diff --git a/libcef/browser/net/chrome_scheme_handler.cc b/libcef/browser/net/chrome_scheme_handler.cc index ad378d4d3..05619a730 100644 --- a/libcef/browser/net/chrome_scheme_handler.cc +++ b/libcef/browser/net/chrome_scheme_handler.cc @@ -26,12 +26,12 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/values.h" +#include "cef/grit/cef_resources.h" +#include "components/grit/components_resources.h" #include "content/browser/net/view_http_cache_job_factory.h" #include "content/browser/net/view_blob_internals_job_factory.h" #include "content/public/common/url_constants.h" #include "content/public/common/user_agent.h" -#include "grit/cef_resources.h" -#include "grit/components_resources.h" #include "ipc/ipc_channel.h" #include "net/url_request/url_request.h" #include "ui/base/webui/web_ui_util.h" diff --git a/libcef/browser/net/devtools_scheme_handler.cc b/libcef/browser/net/devtools_scheme_handler.cc index 9e8b0ccd0..61d5920bc 100644 --- a/libcef/browser/net/devtools_scheme_handler.cc +++ b/libcef/browser/net/devtools_scheme_handler.cc @@ -11,8 +11,8 @@ #include "base/memory/ptr_util.h" #include "base/strings/string_util.h" +#include "blink/grit/devtools_resources_map.h" #include "content/public/common/url_constants.h" -#include "grit/devtools_resources_map.h" namespace scheme { diff --git a/libcef/browser/osr/render_widget_host_view_osr_win.cc b/libcef/browser/osr/render_widget_host_view_osr_win.cc index f63385065..1f7e0cf2a 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_win.cc +++ b/libcef/browser/osr/render_widget_host_view_osr_win.cc @@ -10,8 +10,8 @@ #include "libcef/browser/browser_host_impl.h" #include "libcef/browser/content_browser_client.h" -#include "grit/ui_unscaled_resources.h" #include "third_party/WebKit/public/platform/WebCursorInfo.h" +#include "ui/resources/grit/ui_unscaled_resources.h" namespace { diff --git a/libcef/browser/pepper/device_id_fetcher.cc b/libcef/browser/pepper/device_id_fetcher.cc deleted file mode 100644 index ad1a672d3..000000000 --- a/libcef/browser/pepper/device_id_fetcher.cc +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/renderer_host/pepper/device_id_fetcher.h" - -#include "base/files/file_util.h" -#include "base/macros.h" -#include "base/strings/string_number_conversions.h" -#include "build/build_config.h" -#include "chrome/common/pref_names.h" -#if defined(OS_CHROMEOS) -#include "chromeos/cryptohome/system_salt_getter.h" -#endif -#include "components/prefs/pref_service.h" -#include "components/pref_registry/pref_registry_syncable.h" -#include "components/user_prefs/user_prefs.h" -#include "content/public/browser/browser_context.h" -#include "content/public/browser/browser_ppapi_host.h" -#include "content/public/browser/browser_thread.h" -#include "content/public/browser/render_process_host.h" -#include "crypto/encryptor.h" -#include "crypto/random.h" -#include "crypto/sha2.h" -#include "ppapi/c/pp_errors.h" -#if defined(ENABLE_RLZ) -#include "rlz/lib/machine_id.h" -#endif - -using content::BrowserPpapiHost; -using content::BrowserThread; -using content::RenderProcessHost; - -namespace chrome { - -namespace { - -const char kDRMIdentifierFile[] = "Pepper DRM ID.0"; - -const uint32_t kSaltLength = 32; - -void GetMachineIDAsync( - const base::Callback& callback) { -#if defined(OS_WIN) && defined(ENABLE_RLZ) - std::string result; - rlz_lib::GetMachineId(&result); - callback.Run(result); -#elif defined(OS_CHROMEOS) - chromeos::SystemSaltGetter::Get()->GetSystemSalt(callback); -#else - // Not implemented for other platforms. - NOTREACHED(); - callback.Run(std::string()); -#endif -} - -} // namespace - -DeviceIDFetcher::DeviceIDFetcher(int render_process_id) - : in_progress_(false), render_process_id_(render_process_id) { - DCHECK_CURRENTLY_ON(BrowserThread::IO); -} - -DeviceIDFetcher::~DeviceIDFetcher() {} - -bool DeviceIDFetcher::Start(const IDCallback& callback) { - DCHECK_CURRENTLY_ON(BrowserThread::IO); - - if (in_progress_) - return false; - - in_progress_ = true; - callback_ = callback; - - BrowserThread::PostTask( - BrowserThread::UI, - FROM_HERE, - base::Bind(&DeviceIDFetcher::CheckPrefsOnUIThread, this)); - return true; -} - -// static -void DeviceIDFetcher::RegisterProfilePrefs( - user_prefs::PrefRegistrySyncable* prefs) { - prefs->RegisterBooleanPref(prefs::kEnableDRM, true); - prefs->RegisterStringPref(prefs::kDRMSalt, ""); -} - -// static -base::FilePath DeviceIDFetcher::GetLegacyDeviceIDPath( - const base::FilePath& profile_path) { - return profile_path.AppendASCII(kDRMIdentifierFile); -} - -void DeviceIDFetcher::CheckPrefsOnUIThread() { - DCHECK_CURRENTLY_ON(BrowserThread::UI); - - RenderProcessHost* render_process_host = - RenderProcessHost::FromID(render_process_id_); - content::BrowserContext* browser_context = NULL; - if (render_process_host) - browser_context = render_process_host->GetBrowserContext(); - - PrefService* prefs = NULL; - if (browser_context) { - prefs = user_prefs::UserPrefs::Get(browser_context); - DCHECK(prefs); - } - - if (!browser_context || browser_context->IsOffTheRecord() || - !prefs->GetBoolean(prefs::kEnableDRM)) { - RunCallbackOnIOThread(std::string(), PP_ERROR_NOACCESS); - return; - } - - // Check if the salt pref is set. If it isn't, set it. - std::string salt = prefs->GetString(prefs::kDRMSalt); - if (salt.empty()) { - uint8_t salt_bytes[kSaltLength]; - crypto::RandBytes(salt_bytes, arraysize(salt_bytes)); - // Since it will be stored in a string pref, convert it to hex. - salt = base::HexEncode(salt_bytes, arraysize(salt_bytes)); - prefs->SetString(prefs::kDRMSalt, salt); - } - -#if defined(OS_CHROMEOS) - // Try the legacy path first for ChromeOS. We pass the new salt in as well - // in case the legacy id doesn't exist. - BrowserThread::PostBlockingPoolTask( - FROM_HERE, - base::Bind(&DeviceIDFetcher::LegacyComputeOnBlockingPool, - this, - profile->GetPath(), - salt)); -#else - // Get the machine ID and call ComputeOnUIThread with salt + machine_id. - GetMachineIDAsync( - base::Bind(&DeviceIDFetcher::ComputeOnUIThread, this, salt)); -#endif -} - -void DeviceIDFetcher::ComputeOnUIThread(const std::string& salt, - const std::string& machine_id) { - DCHECK_CURRENTLY_ON(BrowserThread::UI); - - if (machine_id.empty()) { - LOG(ERROR) << "Empty machine id"; - RunCallbackOnIOThread(std::string(), PP_ERROR_FAILED); - return; - } - - // Build the identifier as follows: - // SHA256(machine-id||service||SHA256(machine-id||service||salt)) - std::vector salt_bytes; - if (!base::HexStringToBytes(salt, &salt_bytes)) - salt_bytes.clear(); - if (salt_bytes.size() != kSaltLength) { - LOG(ERROR) << "Unexpected salt bytes length: " << salt_bytes.size(); - RunCallbackOnIOThread(std::string(), PP_ERROR_FAILED); - return; - } - - char id_buf[256 / 8]; // 256-bits for SHA256 - std::string input = machine_id; - input.append(kDRMIdentifierFile); - input.append(salt_bytes.begin(), salt_bytes.end()); - crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); - std::string id = base::ToLowerASCII( - base::HexEncode(reinterpret_cast(id_buf), sizeof(id_buf))); - input = machine_id; - input.append(kDRMIdentifierFile); - input.append(id); - crypto::SHA256HashString(input, &id_buf, sizeof(id_buf)); - id = base::ToLowerASCII( - base::HexEncode(reinterpret_cast(id_buf), sizeof(id_buf))); - - RunCallbackOnIOThread(id, PP_OK); -} - -// TODO(raymes): This is temporary code to migrate ChromeOS devices to the new -// scheme for generating device IDs. Delete this once we are sure most ChromeOS -// devices have been migrated. -void DeviceIDFetcher::LegacyComputeOnBlockingPool( - const base::FilePath& profile_path, - const std::string& salt) { - std::string id; - // First check if the legacy device ID file exists on ChromeOS. If it does, we - // should just return that. - base::FilePath id_path = GetLegacyDeviceIDPath(profile_path); - if (base::PathExists(id_path)) { - if (base::ReadFileToString(id_path, &id) && !id.empty()) { - RunCallbackOnIOThread(id, PP_OK); - return; - } - } - // If we didn't find an ID, get the machine ID and call the new code path to - // generate an ID. - BrowserThread::PostTask( - BrowserThread::UI, - FROM_HERE, - base::Bind(&GetMachineIDAsync, - base::Bind(&DeviceIDFetcher::ComputeOnUIThread, this, salt))); -} - -void DeviceIDFetcher::RunCallbackOnIOThread(const std::string& id, - int32_t result) { - if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { - BrowserThread::PostTask( - BrowserThread::IO, - FROM_HERE, - base::Bind(&DeviceIDFetcher::RunCallbackOnIOThread, this, id, result)); - return; - } - in_progress_ = false; - callback_.Run(id, result); -} - -} // namespace chrome diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index 5d1e502c7..27d4d0eac 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -14,8 +14,10 @@ #include "base/strings/string_number_conversions.h" #include "base/values.h" #include "chrome/browser/prefs/command_line_pref_store.h" +#include "chrome/browser/themes/theme_service.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" +#include "chrome/grit/locale_settings.h" #include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/prefs/json_pref_store.h" #include "components/prefs/pref_filter.h" @@ -29,7 +31,6 @@ #include "components/update_client/update_client.h" #include "content/public/browser/browser_thread.h" #include "extensions/browser/extension_prefs.h" -#include "grit/cef_strings.h" #include "ui/base/l10n/l10n_util.h" namespace browser_prefs { @@ -162,6 +163,21 @@ std::unique_ptr CreatePrefService(const base::FilePath& pref_path) registry->RegisterBooleanPref(prefs::kPluginsAllowOutdated, false); registry->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, false); + // Theme preferences. + // Based on ThemeServiceFactory::RegisterProfilePrefs. + // TODO(cef/chrome): Remove this once CEF supports ThemeService. +#if defined(USE_X11) + registry->RegisterBooleanPref(prefs::kUsesSystemTheme, false); +#endif + registry->RegisterFilePathPref(prefs::kCurrentThemePackFilename, + base::FilePath()); + registry->RegisterStringPref(prefs::kCurrentThemeID, + ThemeService::kDefaultThemeID); + registry->RegisterDictionaryPref(prefs::kCurrentThemeImages); + registry->RegisterDictionaryPref(prefs::kCurrentThemeColors); + registry->RegisterDictionaryPref(prefs::kCurrentThemeTints); + registry->RegisterDictionaryPref(prefs::kCurrentThemeDisplayProperties); + if (command_line->HasSwitch(switches::kEnablePreferenceTesting)) { // Preferences used with unit tests. registry->RegisterBooleanPref("test.bool", true); diff --git a/libcef/browser/printing/print_view_manager.cc b/libcef/browser/printing/print_view_manager.cc index cf9b67466..09e783eeb 100644 --- a/libcef/browser/printing/print_view_manager.cc +++ b/libcef/browser/printing/print_view_manager.cc @@ -24,7 +24,7 @@ using content::BrowserThread; -DEFINE_WEB_CONTENTS_USER_DATA_KEY(printing::PrintViewManager); +DEFINE_WEB_CONTENTS_USER_DATA_KEY(printing::CefPrintViewManager); namespace printing { @@ -136,7 +136,7 @@ GetDataFromHandle(base::SharedMemoryHandle handle, uint32_t data_size) { // Write the PDF file to disk. void SavePdfFile(scoped_refptr data, const base::FilePath& path, - const PrintViewManager::PdfPrintCallback& callback) { + const CefPrintViewManager::PdfPrintCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::FILE); DCHECK_GT(data->size(), 0U); @@ -156,23 +156,23 @@ void SavePdfFile(scoped_refptr data, } // namespace -PrintViewManager::PrintViewManager(content::WebContents* web_contents) - : PrintViewManagerBase(web_contents) { +CefPrintViewManager::CefPrintViewManager(content::WebContents* web_contents) + : CefPrintViewManagerBase(web_contents) { } -PrintViewManager::~PrintViewManager() { +CefPrintViewManager::~CefPrintViewManager() { TerminatePdfPrintJob(); } #if defined(ENABLE_BASIC_PRINTING) -bool PrintViewManager::PrintForSystemDialogNow() { +bool CefPrintViewManager::PrintForSystemDialogNow() { return PrintNowInternal(new PrintMsg_PrintForSystemDialog(routing_id())); } #endif // ENABLE_BASIC_PRINTING -bool PrintViewManager::OnMessageReceived(const IPC::Message& message) { +bool CefPrintViewManager::OnMessageReceived(const IPC::Message& message) { bool handled = true; - IPC_BEGIN_MESSAGE_MAP(PrintViewManager, message) + IPC_BEGIN_MESSAGE_MAP(CefPrintViewManager, message) IPC_MESSAGE_HANDLER(PrintHostMsg_DidShowPrintDialog, OnDidShowPrintDialog) IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview, OnRequestPrintPreview) @@ -181,20 +181,20 @@ bool PrintViewManager::OnMessageReceived(const IPC::Message& message) { IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP() - return handled ? true : PrintViewManagerBase::OnMessageReceived(message); + return handled ? true : CefPrintViewManagerBase::OnMessageReceived(message); } -void PrintViewManager::NavigationStopped() { - PrintViewManagerBase::NavigationStopped(); +void CefPrintViewManager::NavigationStopped() { + CefPrintViewManagerBase::NavigationStopped(); TerminatePdfPrintJob(); } -void PrintViewManager::RenderProcessGone(base::TerminationStatus status) { - PrintViewManagerBase::RenderProcessGone(status); +void CefPrintViewManager::RenderProcessGone(base::TerminationStatus status) { + CefPrintViewManagerBase::RenderProcessGone(status); TerminatePdfPrintJob(); } -void PrintViewManager::PrintToPDF(const base::FilePath& path, +void CefPrintViewManager::PrintToPDF(const base::FilePath& path, const CefPdfPrintSettings& settings, const PdfPrintCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -213,10 +213,10 @@ void PrintViewManager::PrintToPDF(const base::FilePath& path, !!settings.selection_only)); } -void PrintViewManager::OnDidShowPrintDialog() { +void CefPrintViewManager::OnDidShowPrintDialog() { } -void PrintViewManager::OnRequestPrintPreview( +void CefPrintViewManager::OnRequestPrintPreview( const PrintHostMsg_RequestPrintPreview_Params&) { DCHECK_CURRENTLY_ON(BrowserThread::UI); if (!web_contents() || !pdf_print_settings_) @@ -225,7 +225,7 @@ void PrintViewManager::OnRequestPrintPreview( Send(new PrintMsg_PrintPreview(routing_id(), *pdf_print_settings_)); } -void PrintViewManager::OnMetafileReadyForPrinting( +void CefPrintViewManager::OnMetafileReadyForPrinting( const PrintHostMsg_DidPreviewDocument_Params& params) { DCHECK_CURRENTLY_ON(BrowserThread::UI); StopWorker(params.document_cookie); @@ -252,7 +252,7 @@ void PrintViewManager::OnMetafileReadyForPrinting( pdf_print_callback)); } -void PrintViewManager::TerminatePdfPrintJob() { +void CefPrintViewManager::TerminatePdfPrintJob() { DCHECK_CURRENTLY_ON(BrowserThread::UI); if (!pdf_print_settings_.get()) return; diff --git a/libcef/browser/printing/print_view_manager.h b/libcef/browser/printing/print_view_manager.h index ecf00fd6b..703bcbb52 100644 --- a/libcef/browser/printing/print_view_manager.h +++ b/libcef/browser/printing/print_view_manager.h @@ -20,10 +20,11 @@ class RenderProcessHost; namespace printing { // Manages the print commands for a WebContents. -class PrintViewManager : public PrintViewManagerBase, - public content::WebContentsUserData { +class CefPrintViewManager : + public CefPrintViewManagerBase, + public content::WebContentsUserData { public: - ~PrintViewManager() override; + ~CefPrintViewManager() override; #if defined(ENABLE_BASIC_PRINTING) // Same as PrintNow(), but for the case where a user prints with the system @@ -49,8 +50,8 @@ class PrintViewManager : public PrintViewManagerBase, const PdfPrintCallback& callback); private: - explicit PrintViewManager(content::WebContents* web_contents); - friend class content::WebContentsUserData; + explicit CefPrintViewManager(content::WebContents* web_contents); + friend class content::WebContentsUserData; // IPC Message handlers. void OnDidShowPrintDialog(); @@ -66,7 +67,7 @@ class PrintViewManager : public PrintViewManagerBase, std::unique_ptr pdf_print_settings_; PdfPrintCallback pdf_print_callback_; - DISALLOW_COPY_AND_ASSIGN(PrintViewManager); + DISALLOW_COPY_AND_ASSIGN(CefPrintViewManager); }; } // namespace printing diff --git a/libcef/browser/printing/print_view_manager_base.cc b/libcef/browser/printing/print_view_manager_base.cc index 296d12506..e07f83848 100644 --- a/libcef/browser/printing/print_view_manager_base.cc +++ b/libcef/browser/printing/print_view_manager_base.cc @@ -40,7 +40,8 @@ using content::BrowserThread; namespace printing { -PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) +CefPrintViewManagerBase::CefPrintViewManagerBase( + content::WebContents* web_contents) : PrintManager(web_contents), printing_succeeded_(false), inside_inner_message_loop_(false), @@ -55,33 +56,34 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) printing_enabled_.Init( prefs::kPrintingEnabled, pref_service, - base::Bind(&PrintViewManagerBase::UpdateScriptedPrintingBlocked, + base::Bind(&CefPrintViewManagerBase::UpdateScriptedPrintingBlocked, base::Unretained(this))); } -PrintViewManagerBase::~PrintViewManagerBase() { +CefPrintViewManagerBase::~CefPrintViewManagerBase() { ReleasePrinterQuery(); DisconnectFromCurrentPrintJob(); } #if defined(ENABLE_BASIC_PRINTING) -bool PrintViewManagerBase::PrintNow() { +bool CefPrintViewManagerBase::PrintNow() { return PrintNowInternal(new PrintMsg_PrintPages(routing_id())); } #endif -void PrintViewManagerBase::UpdateScriptedPrintingBlocked() { +void CefPrintViewManagerBase::UpdateScriptedPrintingBlocked() { Send(new PrintMsg_SetScriptedPrintingBlocked( routing_id(), !printing_enabled_.GetValue())); } -void PrintViewManagerBase::NavigationStopped() { +void CefPrintViewManagerBase::NavigationStopped() { // Cancel the current job, wait for the worker to finish. TerminatePrintJob(true); } -void PrintViewManagerBase::RenderProcessGone(base::TerminationStatus status) { +void CefPrintViewManagerBase::RenderProcessGone( + base::TerminationStatus status) { PrintManager::RenderProcessGone(status); ReleasePrinterQuery(); @@ -97,20 +99,20 @@ void PrintViewManagerBase::RenderProcessGone(base::TerminationStatus status) { } } -base::string16 PrintViewManagerBase::RenderSourceName() { +base::string16 CefPrintViewManagerBase::RenderSourceName() { base::string16 name(web_contents()->GetTitle()); if (name.empty()) name = l10n_util::GetStringUTF16(IDS_DEFAULT_PRINT_DOCUMENT_TITLE); return name; } -void PrintViewManagerBase::OnDidGetPrintedPagesCount(int cookie, +void CefPrintViewManagerBase::OnDidGetPrintedPagesCount(int cookie, int number_pages) { PrintManager::OnDidGetPrintedPagesCount(cookie, number_pages); OpportunisticallyCreatePrintJob(cookie); } -void PrintViewManagerBase::OnDidPrintPage( +void CefPrintViewManagerBase::OnDidPrintPage( const PrintHostMsg_DidPrintPage_Params& params) { if (!OpportunisticallyCreatePrintJob(params.document_cookie)) return; @@ -183,7 +185,7 @@ void PrintViewManagerBase::OnDidPrintPage( #endif } -void PrintViewManagerBase::OnPrintingFailed(int cookie) { +void CefPrintViewManagerBase::OnPrintingFailed(int cookie) { PrintManager::OnPrintingFailed(cookie); ReleasePrinterQuery(); @@ -194,16 +196,16 @@ void PrintViewManagerBase::OnPrintingFailed(int cookie) { content::NotificationService::NoDetails()); } -void PrintViewManagerBase::OnShowInvalidPrinterSettingsError() { +void CefPrintViewManagerBase::OnShowInvalidPrinterSettingsError() { } -void PrintViewManagerBase::DidStartLoading() { +void CefPrintViewManagerBase::DidStartLoading() { UpdateScriptedPrintingBlocked(); } -bool PrintViewManagerBase::OnMessageReceived(const IPC::Message& message) { +bool CefPrintViewManagerBase::OnMessageReceived(const IPC::Message& message) { bool handled = true; - IPC_BEGIN_MESSAGE_MAP(PrintViewManagerBase, message) + IPC_BEGIN_MESSAGE_MAP(CefPrintViewManagerBase, message) IPC_MESSAGE_HANDLER(PrintHostMsg_DidPrintPage, OnDidPrintPage) IPC_MESSAGE_HANDLER(PrintHostMsg_ShowInvalidPrinterSettingsError, OnShowInvalidPrinterSettingsError); @@ -212,7 +214,7 @@ bool PrintViewManagerBase::OnMessageReceived(const IPC::Message& message) { return handled || PrintManager::OnMessageReceived(message); } -void PrintViewManagerBase::Observe( +void CefPrintViewManagerBase::Observe( int type, const content::NotificationSource& source, const content::NotificationDetails& details) { @@ -220,7 +222,7 @@ void PrintViewManagerBase::Observe( OnNotifyPrintJobEvent(*content::Details(details).ptr()); } -void PrintViewManagerBase::OnNotifyPrintJobEvent( +void CefPrintViewManagerBase::OnNotifyPrintJobEvent( const JobEventDetails& event_details) { switch (event_details.type()) { case JobEventDetails::FAILED: { @@ -269,7 +271,7 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( } } -bool PrintViewManagerBase::RenderAllMissingPagesNow() { +bool CefPrintViewManagerBase::RenderAllMissingPagesNow() { if (!print_job_.get() || !print_job_->is_job_pending()) return false; @@ -305,7 +307,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() { return true; } -void PrintViewManagerBase::ShouldQuitFromInnerMessageLoop() { +void CefPrintViewManagerBase::ShouldQuitFromInnerMessageLoop() { // Look at the reason. DCHECK(print_job_->document()); if (print_job_->document() && @@ -318,7 +320,7 @@ void PrintViewManagerBase::ShouldQuitFromInnerMessageLoop() { } } -bool PrintViewManagerBase::CreateNewPrintJob(PrintJobWorkerOwner* job) { +bool CefPrintViewManagerBase::CreateNewPrintJob(PrintJobWorkerOwner* job) { DCHECK(!inside_inner_message_loop_); // Disconnect the current print_job_. @@ -345,7 +347,7 @@ bool PrintViewManagerBase::CreateNewPrintJob(PrintJobWorkerOwner* job) { return true; } -void PrintViewManagerBase::DisconnectFromCurrentPrintJob() { +void CefPrintViewManagerBase::DisconnectFromCurrentPrintJob() { // Make sure all the necessary rendered page are done. Don't bother with the // return value. bool result = RenderAllMissingPagesNow(); @@ -366,13 +368,13 @@ void PrintViewManagerBase::DisconnectFromCurrentPrintJob() { #endif } -void PrintViewManagerBase::PrintingDone(bool success) { +void CefPrintViewManagerBase::PrintingDone(bool success) { if (!print_job_.get()) return; Send(new PrintMsg_PrintingDone(routing_id(), success)); } -void PrintViewManagerBase::TerminatePrintJob(bool cancel) { +void CefPrintViewManagerBase::TerminatePrintJob(bool cancel) { if (!print_job_.get()) return; @@ -392,7 +394,7 @@ void PrintViewManagerBase::TerminatePrintJob(bool cancel) { ReleasePrintJob(); } -void PrintViewManagerBase::ReleasePrintJob() { +void CefPrintViewManagerBase::ReleasePrintJob() { if (!print_job_.get()) return; @@ -405,7 +407,7 @@ void PrintViewManagerBase::ReleasePrintJob() { print_job_ = NULL; } -bool PrintViewManagerBase::RunInnerMessageLoop() { +bool CefPrintViewManagerBase::RunInnerMessageLoop() { // This value may actually be too low: // // - If we're looping because of printer settings initialization, the premise @@ -442,7 +444,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { return success; } -bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { +bool CefPrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { if (print_job_.get()) return true; @@ -471,7 +473,7 @@ bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { return true; } -bool PrintViewManagerBase::PrintNowInternal(IPC::Message* message) { +bool CefPrintViewManagerBase::PrintNowInternal(IPC::Message* message) { // Don't print / print preview interstitials or crashed tabs. if (web_contents()->ShowingInterstitialPage() || web_contents()->IsCrashed()) { @@ -481,7 +483,7 @@ bool PrintViewManagerBase::PrintNowInternal(IPC::Message* message) { return Send(message); } -void PrintViewManagerBase::ReleasePrinterQuery() { +void CefPrintViewManagerBase::ReleasePrinterQuery() { if (!cookie_) return; diff --git a/libcef/browser/printing/print_view_manager_base.h b/libcef/browser/printing/print_view_manager_base.h index d83f0bb35..70301c082 100644 --- a/libcef/browser/printing/print_view_manager_base.h +++ b/libcef/browser/printing/print_view_manager_base.h @@ -30,11 +30,11 @@ class PrintJobWorkerOwner; class PrintQueriesQueue; // Base class for managing the print commands for a WebContents. -class PrintViewManagerBase : public content::NotificationObserver, - public PrintedPagesSource, - public PrintManager { +class CefPrintViewManagerBase : public content::NotificationObserver, + public PrintedPagesSource, + public PrintManager { public: - ~PrintViewManagerBase() override; + ~CefPrintViewManagerBase() override; #if defined(ENABLE_BASIC_PRINTING) // Prints the current document immediately. Since the rendering is @@ -50,7 +50,7 @@ class PrintViewManagerBase : public content::NotificationObserver, base::string16 RenderSourceName() override; protected: - explicit PrintViewManagerBase(content::WebContents* web_contents); + explicit CefPrintViewManagerBase(content::WebContents* web_contents); // Helper method for Print*Now(). bool PrintNowInternal(IPC::Message* message); @@ -153,7 +153,7 @@ class PrintViewManagerBase : public content::NotificationObserver, scoped_refptr queue_; - DISALLOW_COPY_AND_ASSIGN(PrintViewManagerBase); + DISALLOW_COPY_AND_ASSIGN(CefPrintViewManagerBase); }; } // namespace printing diff --git a/libcef/browser/printing/printing_message_filter.cc b/libcef/browser/printing/printing_message_filter.cc index 2bb2d5b78..f920a13e2 100644 --- a/libcef/browser/printing/printing_message_filter.cc +++ b/libcef/browser/printing/printing_message_filter.cc @@ -26,23 +26,23 @@ using content::BrowserThread; namespace printing { -PrintingMessageFilter::PrintingMessageFilter(int render_process_id) +CefPrintingMessageFilter::CefPrintingMessageFilter(int render_process_id) : content::BrowserMessageFilter(PrintMsgStart), render_process_id_(render_process_id), queue_(g_browser_process->print_job_manager()->queue()) { DCHECK(queue_.get()); } -PrintingMessageFilter::~PrintingMessageFilter() { +CefPrintingMessageFilter::~CefPrintingMessageFilter() { } -void PrintingMessageFilter::OverrideThreadForMessage( +void CefPrintingMessageFilter::OverrideThreadForMessage( const IPC::Message& message, BrowserThread::ID* thread) { } -bool PrintingMessageFilter::OnMessageReceived(const IPC::Message& message) { +bool CefPrintingMessageFilter::OnMessageReceived(const IPC::Message& message) { bool handled = true; - IPC_BEGIN_MESSAGE_MAP(PrintingMessageFilter, message) + IPC_BEGIN_MESSAGE_MAP(CefPrintingMessageFilter, message) IPC_MESSAGE_HANDLER(PrintHostMsg_IsPrintingEnabled, OnIsPrintingEnabled) IPC_MESSAGE_HANDLER_DELAY_REPLY(PrintHostMsg_GetDefaultPrintSettings, OnGetDefaultPrintSettings) @@ -55,12 +55,13 @@ bool PrintingMessageFilter::OnMessageReceived(const IPC::Message& message) { return handled; } -void PrintingMessageFilter::OnIsPrintingEnabled(bool* is_enabled) { +void CefPrintingMessageFilter::OnIsPrintingEnabled(bool* is_enabled) { DCHECK_CURRENTLY_ON(BrowserThread::IO); *is_enabled = true; } -void PrintingMessageFilter::OnGetDefaultPrintSettings(IPC::Message* reply_msg) { +void CefPrintingMessageFilter::OnGetDefaultPrintSettings( + IPC::Message* reply_msg) { DCHECK_CURRENTLY_ON(BrowserThread::IO); #if defined(OS_LINUX) // Send notification to the client. @@ -83,13 +84,13 @@ void PrintingMessageFilter::OnGetDefaultPrintSettings(IPC::Message* reply_msg) { false, DEFAULT_MARGINS, false, - base::Bind(&PrintingMessageFilter::OnGetDefaultPrintSettingsReply, + base::Bind(&CefPrintingMessageFilter::OnGetDefaultPrintSettingsReply, this, printer_query, reply_msg)); } -void PrintingMessageFilter::OnGetDefaultPrintSettingsReply( +void CefPrintingMessageFilter::OnGetDefaultPrintSettingsReply( scoped_refptr printer_query, IPC::Message* reply_msg) { PrintMsg_Print_Params params; @@ -113,7 +114,7 @@ void PrintingMessageFilter::OnGetDefaultPrintSettingsReply( } } -void PrintingMessageFilter::OnScriptedPrint( +void CefPrintingMessageFilter::OnScriptedPrint( const PrintHostMsg_ScriptedPrint_Params& params, IPC::Message* reply_msg) { scoped_refptr printer_query = @@ -128,13 +129,13 @@ void PrintingMessageFilter::OnScriptedPrint( params.has_selection, params.margin_type, params.is_scripted, - base::Bind(&PrintingMessageFilter::OnScriptedPrintReply, + base::Bind(&CefPrintingMessageFilter::OnScriptedPrintReply, this, printer_query, reply_msg)); } -void PrintingMessageFilter::OnScriptedPrintReply( +void CefPrintingMessageFilter::OnScriptedPrintReply( scoped_refptr printer_query, IPC::Message* reply_msg) { PrintMsg_PrintPages_Params params; @@ -160,7 +161,7 @@ void PrintingMessageFilter::OnScriptedPrintReply( if (base::StringToInt(device_name, &file_descriptor)) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, - base::Bind(&PrintingMessageFilter::UpdateFileDescriptor, this, + base::Bind(&CefPrintingMessageFilter::UpdateFileDescriptor, this, routing_id, file_descriptor)); } #endif @@ -170,7 +171,7 @@ void PrintingMessageFilter::OnScriptedPrintReply( } } -void PrintingMessageFilter::OnUpdatePrintSettings( +void CefPrintingMessageFilter::OnUpdatePrintSettings( int document_cookie, const base::DictionaryValue& job_settings, IPC::Message* reply_msg) { std::unique_ptr new_settings(job_settings.DeepCopy()); @@ -191,11 +192,11 @@ void PrintingMessageFilter::OnUpdatePrintSettings( } printer_query->SetSettings( std::move(new_settings), - base::Bind(&PrintingMessageFilter::OnUpdatePrintSettingsReply, this, + base::Bind(&CefPrintingMessageFilter::OnUpdatePrintSettingsReply, this, printer_query, reply_msg)); } -void PrintingMessageFilter::OnUpdatePrintSettingsReply( +void CefPrintingMessageFilter::OnUpdatePrintSettingsReply( scoped_refptr printer_query, IPC::Message* reply_msg) { PrintMsg_PrintPages_Params params; @@ -223,9 +224,9 @@ void PrintingMessageFilter::OnUpdatePrintSettingsReply( } } -void PrintingMessageFilter::OnCheckForCancel(int32_t preview_ui_id, - int preview_request_id, - bool* cancel) { +void CefPrintingMessageFilter::OnCheckForCancel(int32_t preview_ui_id, + int preview_request_id, + bool* cancel) { *cancel = false; } diff --git a/libcef/browser/printing/printing_message_filter.h b/libcef/browser/printing/printing_message_filter.h index 05ba381a9..e6cd2b113 100644 --- a/libcef/browser/printing/printing_message_filter.h +++ b/libcef/browser/printing/printing_message_filter.h @@ -37,9 +37,9 @@ class PrinterQuery; // This class filters out incoming printing related IPC messages for the // renderer process on the IPC thread. -class PrintingMessageFilter : public content::BrowserMessageFilter { +class CefPrintingMessageFilter : public content::BrowserMessageFilter { public: - explicit PrintingMessageFilter(int render_process_id); + explicit CefPrintingMessageFilter(int render_process_id); // content::BrowserMessageFilter methods. void OverrideThreadForMessage(const IPC::Message& message, @@ -47,7 +47,7 @@ class PrintingMessageFilter : public content::BrowserMessageFilter { bool OnMessageReceived(const IPC::Message& message) override; private: - ~PrintingMessageFilter() override; + ~CefPrintingMessageFilter() override; // GetPrintSettingsForRenderView must be called via PostTask and // base::Bind. Collapse the settings-specific params into a @@ -88,7 +88,7 @@ class PrintingMessageFilter : public content::BrowserMessageFilter { scoped_refptr queue_; - DISALLOW_COPY_AND_ASSIGN(PrintingMessageFilter); + DISALLOW_COPY_AND_ASSIGN(CefPrintingMessageFilter); }; } // namespace printing diff --git a/libcef/browser/proxy_stubs.cc b/libcef/browser/proxy_stubs.cc deleted file mode 100644 index 135c6af64..000000000 --- a/libcef/browser/proxy_stubs.cc +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/logging.h" -#include "content/public/browser/browser_context.h" - -// Used by chrome/browser/spellchecker/spellcheck_factory.cc. -namespace chrome { - -// Returns the original browser context even for Incognito contexts. -content::BrowserContext* GetBrowserContextRedirectedInIncognito( - content::BrowserContext* context) { - return context; -} - -// Returns non-NULL even for Incognito contexts so that a separate -// instance of a service is created for the Incognito context. -content::BrowserContext* GetBrowserContextOwnInstanceInIncognito( - content::BrowserContext* context) { - return context; -} - -} // namespace chrome diff --git a/libcef/browser/resource_dispatcher_host_delegate.cc b/libcef/browser/resource_dispatcher_host_delegate.cc index 17b454492..96895aa47 100644 --- a/libcef/browser/resource_dispatcher_host_delegate.cc +++ b/libcef/browser/resource_dispatcher_host_delegate.cc @@ -55,8 +55,8 @@ void SendExecuteMimeTypeHandlerEvent( content::BrowserContext* browser_context = web_contents->GetBrowserContext(); - extensions::StreamsPrivateAPI* streams_private = - extensions::StreamsPrivateAPI::Get(browser_context); + extensions::CefStreamsPrivateAPI* streams_private = + extensions::CefStreamsPrivateAPI::Get(browser_context); if (!streams_private) return; diff --git a/libcef/common/cef_message_generator.h b/libcef/common/cef_message_generator.h index 446d47444..124361160 100644 --- a/libcef/common/cef_message_generator.h +++ b/libcef/common/cef_message_generator.h @@ -5,10 +5,3 @@ // Multiply-included file, hence no include guard. #include "libcef/common/cef_messages.h" - -#include "chrome/common/chrome_utility_messages.h" -#include "chrome/common/spellcheck_messages.h" - -#if defined(OS_WIN) -#include "chrome/common/chrome_utility_printing_messages.h" -#endif diff --git a/libcef/common/extensions/api/BUILD.gn b/libcef/common/extensions/api/BUILD.gn index 298b72579..e55e1c1ad 100644 --- a/libcef/common/extensions/api/BUILD.gn +++ b/libcef/common/extensions/api/BUILD.gn @@ -9,7 +9,7 @@ json_schema_api("api") { schemas = true bundle = true configs = [ "//build/config:precompiled_headers" ] - bundle_name = "Chrome" + bundle_name = "Cef" deps = schema_dependencies } @@ -18,7 +18,7 @@ json_schema_api("api_registration") { impl_dir = "//cef/libcef/browser/extensions/api" bundle_registration = true configs = [ "//build/config:precompiled_headers" ] - bundle_name = "Chrome" + bundle_name = "Cef" deps = [ ":api", diff --git a/libcef/common/extensions/api/schemas.gni b/libcef/common/extensions/api/schemas.gni index 650db585a..88fbb429f 100644 --- a/libcef/common/extensions/api/schemas.gni +++ b/libcef/common/extensions/api/schemas.gni @@ -11,6 +11,6 @@ sources = gypi_values.schema_files uncompiled_sources = gypi_values.non_compiled_schema_files -root_namespace = "extensions::api::%(namespace)s" -schema_include_rules = "//cef/libcef/browser/extensions/api:extensions::api::%(namespace)s" +root_namespace = "extensions::api::cef::%(namespace)s" +schema_include_rules = "//cef/libcef/browser/extensions/api:extensions::api::cef::%(namespace)s" schema_dependencies = [ "//extensions/common/api" ] diff --git a/libcef/common/extensions/api/schemas.gypi b/libcef/common/extensions/api/schemas.gypi index 56c8f9997..500fb3ad6 100644 --- a/libcef/common/extensions/api/schemas.gypi +++ b/libcef/common/extensions/api/schemas.gypi @@ -15,9 +15,8 @@ 'chromium_code': 1, 'cc_dir': 'cef/libcef/common/extensions/api', - # Match the Chrome namespace and bundle name to minimize code changes. - 'root_namespace': 'extensions::api::%(namespace)s', - 'bundle_name': 'Chrome', + 'root_namespace': 'extensions::api::cef::%(namespace)s', + 'bundle_name': 'Cef', 'impl_dir_': 'cef/libcef/browser/extensions/api', }, } diff --git a/libcef/common/extensions/extensions_client.cc b/libcef/common/extensions/extensions_client.cc index 8e90e2756..3758358db 100644 --- a/libcef/common/extensions/extensions_client.cc +++ b/libcef/common/extensions/extensions_client.cc @@ -11,6 +11,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" +#include "cef/grit/cef_resources.h" #include "cef/libcef/common/extensions/api/generated_schemas.h" #include "extensions/common/api/generated_schemas.h" #include "extensions/common/common_manifest_handlers.h" @@ -27,8 +28,7 @@ #include "extensions/common/permissions/permissions_info.h" #include "extensions/common/permissions/permissions_provider.h" #include "extensions/common/url_pattern_set.h" -#include "grit/cef_resources.h" -#include "grit/extensions_resources.h" +#include "extensions/grit/extensions_resources.h" namespace extensions { @@ -179,14 +179,14 @@ bool CefExtensionsClient::IsScriptableURL(const GURL& url, bool CefExtensionsClient::IsAPISchemaGenerated( const std::string& name) const { return api::GeneratedSchemas::IsGenerated(name) || - api::ChromeGeneratedSchemas::IsGenerated(name); + api::cef::CefGeneratedSchemas::IsGenerated(name); } base::StringPiece CefExtensionsClient::GetAPISchema( const std::string& name) const { // Schema for CEF-only APIs. - if (api::ChromeGeneratedSchemas::IsGenerated(name)) - return api::ChromeGeneratedSchemas::Get(name); + if (api::cef::CefGeneratedSchemas::IsGenerated(name)) + return api::cef::CefGeneratedSchemas::Get(name); // Core extensions APIs. return api::GeneratedSchemas::Get(name); diff --git a/libcef/renderer/content_renderer_client.cc b/libcef/renderer/content_renderer_client.cc index e80d339cb..338683aff 100644 --- a/libcef/renderer/content_renderer_client.cc +++ b/libcef/renderer/content_renderer_client.cc @@ -50,6 +50,7 @@ #include "chrome/common/pepper_permission_util.h" #include "chrome/common/url_constants.h" #include "chrome/grit/generated_resources.h" +#include "chrome/grit/renderer_resources.h" #include "chrome/renderer/content_settings_observer.h" #include "chrome/renderer/loadtimes_extension_bindings.h" #include "chrome/renderer/pepper/chrome_pdf_print_client.h" @@ -657,16 +658,6 @@ void CefContentRendererClient::WillDestroyCurrentMessageLoop() { single_process_cleanup_complete_ = true; } -// static -bool CefContentRendererClient::IsExtensionOrSharedModuleWhitelisted( - const GURL& url, const std::set& whitelist) { - DCHECK(extensions::ExtensionsEnabled()); - const extensions::ExtensionSet* extension_set = - extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet(); - return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, - whitelist); -} - // static blink::WebPlugin* CefContentRendererClient::CreatePlugin( content::RenderFrame* render_frame, diff --git a/libcef/renderer/content_renderer_client.h b/libcef/renderer/content_renderer_client.h index dea9de782..cd39128ad 100644 --- a/libcef/renderer/content_renderer_client.h +++ b/libcef/renderer/content_renderer_client.h @@ -135,9 +135,6 @@ class CefContentRendererClient : public content::ContentRendererClient, // MessageLoop::DestructionObserver implementation. void WillDestroyCurrentMessageLoop() override; - static bool IsExtensionOrSharedModuleWhitelisted( - const GURL& url, const std::set& whitelist); - static blink::WebPlugin* CreatePlugin( content::RenderFrame* render_frame, blink::WebLocalFrame* frame, diff --git a/libcef/renderer/media/cef_key_systems.cc b/libcef/renderer/media/cef_key_systems.cc index afe8dd76e..4cc6779ed 100644 --- a/libcef/renderer/media/cef_key_systems.cc +++ b/libcef/renderer/media/cef_key_systems.cc @@ -29,8 +29,10 @@ using media::KeySystemProperties; using media::SupportedCodecs; +namespace { + #if defined(ENABLE_PEPPER_CDMS) -static bool IsPepperCdmAvailable( +bool IsPepperCdmAvailable( const std::string& pepper_type, std::vector* additional_param_names, std::vector* additional_param_values) { @@ -74,7 +76,7 @@ void GetSupportedCodecsForPepperCdm( } } -static void AddPepperBasedWidevine( +void AddPepperBasedWidevine( std::vector>* concrete_key_systems) { #if defined(WIDEVINE_CDM_MIN_GLIBC_VERSION) Version glibc_version(gnu_get_libc_version()); @@ -135,6 +137,8 @@ static void AddPepperBasedWidevine( #endif // defined(WIDEVINE_CDM_AVAILABLE) #endif // defined(ENABLE_PEPPER_CDMS) +} // namespace + void AddCefKeySystems( std::vector>* key_systems_properties) { #if defined(ENABLE_PEPPER_CDMS) diff --git a/libcef/renderer/pepper/pepper_uma_host.cc b/libcef/renderer/pepper/pepper_uma_host.cc deleted file mode 100644 index 83a2acf6e..000000000 --- a/libcef/renderer/pepper/pepper_uma_host.cc +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/renderer/pepper/pepper_uma_host.h" - -#include "libcef/common/cef_messages.h" -#include "libcef/common/content_client.h" -#include "libcef/renderer/content_renderer_client.h" - -#include "base/metrics/histogram.h" -#include "base/sha1.h" -#include "base/strings/string_number_conversions.h" -#include "chrome/common/chrome_switches.h" -#include "content/public/renderer/pepper_plugin_instance.h" -#include "content/public/renderer/render_thread.h" -#include "content/public/renderer/renderer_ppapi_host.h" -#include "ppapi/c/pp_errors.h" -#include "ppapi/host/dispatch_host_message.h" -#include "ppapi/host/host_message_context.h" -#include "ppapi/host/ppapi_host.h" -#include "ppapi/proxy/ppapi_messages.h" - -#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. - -#if defined(ENABLE_EXTENSIONS) -#include "extensions/common/constants.h" -#include "extensions/common/extension.h" -#endif // defined(ENABLE_EXTENSIONS) - -namespace { - -const char* const kPredefinedAllowedUMAOrigins[] = { - "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see http://crbug.com/317833 - "4EB74897CB187C7633357C2FE832E0AD6A44883A", // see http://crbug.com/317833 - "9E527CDA9D7C50844E8A5DB964A54A640AE48F98", // see http://crbug.com/521189 - "DF52618D0B040D8A054D8348D2E84DDEEE5974E7", // see http://crbug.com/521189 - "269D721F163E587BC53C6F83553BF9CE2BB143CD", // see http://crbug.com/521189 - "6B55A5329E3F1F30F6032BDB20B2EB4378DBF767", // see http://crbug.com/521189 - "C449A798C495E6CF7D6AF10162113D564E67AD12", // see http://crbug.com/521189 - "01E9FFA9A8F3C18271FE91BEE46207F3B81755CC", // see http://crbug.com/521189 - "97B23E01B2AA064E8332EE43A7A85C628AADC3F2", // see http://crbug.com/521189 -}; - -const char* const kWhitelistedHistogramPrefixes[] = { - "22F67DA2061FFC4DC9A4974036348D9C38C22919", // see http://crbug.com/390221 - "3FEA4650221C5E6C39CF5C5C9F464FF74EAB6CE1", // see http://crbug.com/521189 -}; - -const char* const kWhitelistedPluginBaseNames[] = { -#if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) - kWidevineCdmAdapterFileName, // see http://crbug.com/368743 - // and http://crbug.com/410630 -#endif - CefContentClient::kPDFPluginPath, -}; - -std::string HashPrefix(const std::string& histogram) { - const std::string id_hash = - base::SHA1HashString(histogram.substr(0, histogram.find('.'))); - DCHECK_EQ(id_hash.length(), base::kSHA1Length); - return base::HexEncode(id_hash.c_str(), id_hash.length()); -} - -} // namespace - -PepperUMAHost::PepperUMAHost(content::RendererPpapiHost* host, - PP_Instance instance, - PP_Resource resource) - : ResourceHost(host->GetPpapiHost(), instance, resource), - document_url_(host->GetDocumentURL(instance)), - is_plugin_in_process_(host->IsRunningInProcess()) { - if (host->GetPluginInstance(instance)) { - plugin_base_name_ = - host->GetPluginInstance(instance)->GetModulePath().BaseName(); - } - - for (size_t i = 0; i < arraysize(kPredefinedAllowedUMAOrigins); ++i) - allowed_origins_.insert(kPredefinedAllowedUMAOrigins[i]); - for (size_t i = 0; i < arraysize(kWhitelistedHistogramPrefixes); ++i) - allowed_histogram_prefixes_.insert(kWhitelistedHistogramPrefixes[i]); - for (size_t i = 0; i < arraysize(kWhitelistedPluginBaseNames); ++i) - allowed_plugin_base_names_.insert(kWhitelistedPluginBaseNames[i]); -} - -PepperUMAHost::~PepperUMAHost() {} - -int32_t PepperUMAHost::OnResourceMessageReceived( - const IPC::Message& msg, - ppapi::host::HostMessageContext* context) { - PPAPI_BEGIN_MESSAGE_MAP(PepperUMAHost, msg) - PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_UMA_HistogramCustomTimes, - OnHistogramCustomTimes) - PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_UMA_HistogramCustomCounts, - OnHistogramCustomCounts) - PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_UMA_HistogramEnumeration, - OnHistogramEnumeration) - PPAPI_DISPATCH_HOST_RESOURCE_CALL_0( - PpapiHostMsg_UMA_IsCrashReportingEnabled, OnIsCrashReportingEnabled) - PPAPI_END_MESSAGE_MAP() - return PP_ERROR_FAILED; -} - -bool PepperUMAHost::IsPluginWhitelisted() { -#if defined(ENABLE_EXTENSIONS) - return CefContentRendererClient::IsExtensionOrSharedModuleWhitelisted( - document_url_, allowed_origins_); -#else - return false; -#endif -} - -bool PepperUMAHost::IsHistogramAllowed(const std::string& histogram) { - if (is_plugin_in_process_ && histogram.find("NaCl.") == 0) { - return true; - } - - if (IsPluginWhitelisted() && - ContainsKey(allowed_histogram_prefixes_, HashPrefix(histogram))) { - return true; - } - - if (ContainsKey(allowed_plugin_base_names_, - plugin_base_name_.MaybeAsASCII())) { - return true; - } - - LOG(ERROR) << "Host or histogram name is not allowed to use the UMA API."; - return false; -} - -#define RETURN_IF_BAD_ARGS(_min, _max, _buckets) \ - do { \ - if (_min >= _max || _buckets <= 1) \ - return PP_ERROR_BADARGUMENT; \ - } while (0) - -int32_t PepperUMAHost::OnHistogramCustomTimes( - ppapi::host::HostMessageContext* context, - const std::string& name, - int64_t sample, - int64_t min, - int64_t max, - uint32_t bucket_count) { - if (!IsHistogramAllowed(name)) { - return PP_ERROR_NOACCESS; - } - RETURN_IF_BAD_ARGS(min, max, bucket_count); - - base::HistogramBase* counter = base::Histogram::FactoryTimeGet( - name, - base::TimeDelta::FromMilliseconds(min), - base::TimeDelta::FromMilliseconds(max), - bucket_count, - base::HistogramBase::kUmaTargetedHistogramFlag); - // The histogram can be NULL if it is constructed with bad arguments. Ignore - // that data for this API. An error message will be logged. - if (counter) - counter->AddTime(base::TimeDelta::FromMilliseconds(sample)); - return PP_OK; -} - -int32_t PepperUMAHost::OnHistogramCustomCounts( - ppapi::host::HostMessageContext* context, - const std::string& name, - int32_t sample, - int32_t min, - int32_t max, - uint32_t bucket_count) { - if (!IsHistogramAllowed(name)) { - return PP_ERROR_NOACCESS; - } - RETURN_IF_BAD_ARGS(min, max, bucket_count); - - base::HistogramBase* counter = base::Histogram::FactoryGet( - name, - min, - max, - bucket_count, - base::HistogramBase::kUmaTargetedHistogramFlag); - // The histogram can be NULL if it is constructed with bad arguments. Ignore - // that data for this API. An error message will be logged. - if (counter) - counter->Add(sample); - return PP_OK; -} - -int32_t PepperUMAHost::OnHistogramEnumeration( - ppapi::host::HostMessageContext* context, - const std::string& name, - int32_t sample, - int32_t boundary_value) { - if (!IsHistogramAllowed(name)) { - return PP_ERROR_NOACCESS; - } - RETURN_IF_BAD_ARGS(0, boundary_value, boundary_value + 1); - - base::HistogramBase* counter = base::LinearHistogram::FactoryGet( - name, - 1, - boundary_value, - boundary_value + 1, - base::HistogramBase::kUmaTargetedHistogramFlag); - // The histogram can be NULL if it is constructed with bad arguments. Ignore - // that data for this API. An error message will be logged. - if (counter) - counter->Add(sample); - return PP_OK; -} - -int32_t PepperUMAHost::OnIsCrashReportingEnabled( - ppapi::host::HostMessageContext* context) { - if (!IsPluginWhitelisted()) - return PP_ERROR_NOACCESS; - // TODO(extensions): Chrome uses ChromeViewHostMsg_IsCrashReportingEnabled to - // retrieve this value. Explore whether it's useful for CEF clients when crash - // reporting is enabled. - bool enabled = false; - if (enabled) - return PP_OK; - return PP_ERROR_FAILED; -} diff --git a/libcef/renderer/plugins/cef_plugin_placeholder.cc b/libcef/renderer/plugins/cef_plugin_placeholder.cc index 78fffa939..7aa0cebd0 100644 --- a/libcef/renderer/plugins/cef_plugin_placeholder.cc +++ b/libcef/renderer/plugins/cef_plugin_placeholder.cc @@ -15,6 +15,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/values.h" #include "chrome/grit/generated_resources.h" +#include "chrome/grit/renderer_resources.h" #include "chrome/renderer/custom_menu_commands.h" #include "components/content_settings/content/common/content_settings_messages.h" #include "components/strings/grit/components_strings.h" diff --git a/libcef/renderer/plugins/plugin_preroller.cc b/libcef/renderer/plugins/plugin_preroller.cc index 52dbb7b34..bdfb3b7d9 100644 --- a/libcef/renderer/plugins/plugin_preroller.cc +++ b/libcef/renderer/plugins/plugin_preroller.cc @@ -8,6 +8,7 @@ #include "base/base64.h" #include "chrome/grit/generated_resources.h" +#include "chrome/grit/renderer_resources.h" #include "chrome/renderer/plugins/power_saver_info.h" #include "third_party/WebKit/public/platform/WebRect.h" #include "third_party/WebKit/public/web/WebElement.h" diff --git a/libcef/renderer/render_message_filter.cc b/libcef/renderer/render_message_filter.cc index 1e467bad3..a66025adf 100644 --- a/libcef/renderer/render_message_filter.cc +++ b/libcef/renderer/render_message_filter.cc @@ -9,13 +9,17 @@ #include "base/bind.h" #include "base/message_loop/message_loop.h" +#include "chrome/common/render_messages.h" #include "content/common/devtools_messages.h" +#include "content/public/browser/browser_thread.h" #include "content/renderer/devtools/devtools_agent.h" #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/web/WebSecurityPolicy.h" #include "url/gurl.h" #include "url/url_util.h" +using content::BrowserThread; + CefRenderMessageFilter::CefRenderMessageFilter() : sender_(NULL) { } @@ -43,11 +47,40 @@ bool CefRenderMessageFilter::OnMessageReceived(const IPC::Message& message) { IPC_BEGIN_MESSAGE_MAP(CefRenderMessageFilter, message) IPC_MESSAGE_HANDLER(DevToolsAgentMsg_Attach, OnDevToolsAgentAttach) + IPC_MESSAGE_HANDLER(ChromeViewHostMsg_IsCrashReportingEnabled, + OnIsCrashReportingEnabled) IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP() return handled; } +// Based on BrowserMessageFilter::Send. +bool CefRenderMessageFilter::Send(IPC::Message* message) { + if (message->is_sync()) { + // We don't support sending synchronous messages from the browser. If we + // really needed it, we can make this class derive from SyncMessageFilter + // but it seems better to not allow sending synchronous messages from the + // browser, since it might allow a corrupt/malicious renderer to hang us. + NOTREACHED() << "Can't send sync message through CefRenderMessageFilter!"; + return false; + } + + if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { + BrowserThread::PostTask( + BrowserThread::IO, + FROM_HERE, + base::Bind(base::IgnoreResult(&CefRenderMessageFilter::Send), this, + message)); + return true; + } + + if (sender_) + return sender_->Send(message); + + delete message; + return false; +} + void CefRenderMessageFilter::OnDevToolsAgentAttach( const std::string& host_id, int session_id) { CEF_POST_TASK_RT( @@ -60,6 +93,12 @@ void CefRenderMessageFilter::OnDevToolsAgentDetach(int32_t routing_id) { routing_id)); } +void CefRenderMessageFilter::OnIsCrashReportingEnabled(bool* enabled) { + // TODO(cef): Explore whether it's useful for CEF clients to report when crash + // reporting is enabled. + *enabled = false; +} + void CefRenderMessageFilter::OnDevToolsAgentAttach_RT() { CEF_REQUIRE_RT(); CefContentRendererClient::Get()->DevToolsAgentAttached(); @@ -83,3 +122,4 @@ void CefRenderMessageFilter::OnDevToolsAgentDetach_RT(int32_t routing_id) { CefContentRendererClient::Get()->DevToolsAgentDetached(); } + diff --git a/libcef/renderer/render_message_filter.h b/libcef/renderer/render_message_filter.h index 70a1c9141..8fa5ab58f 100644 --- a/libcef/renderer/render_message_filter.h +++ b/libcef/renderer/render_message_filter.h @@ -24,10 +24,13 @@ class CefRenderMessageFilter : public IPC::MessageFilter { void OnFilterRemoved() override; bool OnMessageReceived(const IPC::Message& message) override; + bool Send(IPC::Message* message); + private: // Message handlers called on the IO thread. void OnDevToolsAgentAttach(const std::string& host_id, int session_id); void OnDevToolsAgentDetach(int32_t routing_id); + void OnIsCrashReportingEnabled(bool* enabled); void OnDevToolsAgentAttach_RT(); void OnDevToolsAgentDetach_RT(int32_t routing_id); diff --git a/libcef/renderer/v8_impl.cc b/libcef/renderer/v8_impl.cc index e3489a7e7..b82aea321 100644 --- a/libcef/renderer/v8_impl.cc +++ b/libcef/renderer/v8_impl.cc @@ -2363,13 +2363,9 @@ CefV8StackFrameImpl::CefV8StackFrameImpl( is_constructor_(false) { if (handle.IsEmpty()) return; - GetCefString(v8::Local::Cast(handle->GetScriptName()), - script_name_); - GetCefString( - v8::Local::Cast(handle->GetScriptNameOrSourceURL()), - script_name_or_source_url_); - GetCefString(v8::Local::Cast(handle->GetFunctionName()), - function_name_); + GetCefString(handle->GetScriptName(), script_name_); + GetCefString(handle->GetScriptNameOrSourceURL(), script_name_or_source_url_); + GetCefString(handle->GetFunctionName(), function_name_); line_number_ = handle->GetLineNumber(); column_ = handle->GetColumn(); is_eval_ = handle->IsEval(); diff --git a/libcef/resources/cef_resources.grd b/libcef/resources/cef_resources.grd index 57ac09160..80c0882ea 100644 --- a/libcef/resources/cef_resources.grd +++ b/libcef/resources/cef_resources.grd @@ -15,25 +15,6 @@ - - - - - - - - - - - - - - - - - - - diff --git a/libcef/resources/cef_strings.grd b/libcef/resources/cef_strings.grd index 61a3d7a89..f481d60a7 100644 --- a/libcef/resources/cef_strings.grd +++ b/libcef/resources/cef_strings.grd @@ -104,151 +104,6 @@ need to be translated for each locale.--> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Video Files - - - - Untitled Document - - - Print Failed - - - Something went wrong when trying to print. Please check your printer and try again. - - - The selected printer is not available or not installed correctly. Check your printer or try selecting another printer. - - - - EMF Convertor - - - - - - V8 Proxy Resolver - - - - - - en-US - - - &Add to dictionary - - - &No spelling suggestions - - - - - - DirectWrite Font Cache Builder - - - - - - Hide this plugin - - - - Control-click to play $1Flash. - - - - - Right-click to play $1Flash. - - - - This plugin only works on the desktop. - - - $1Flash is out of date. - - - $1Java needs your permission to run. - - - $1Flash is not allowed. - - - - Run this plugin - - - Hide this plugin - - - - - Run This Plugin - - - Hide This Plugin - - - - - - - false - - - - windows-1252 - - - $1Japanese ($2Shift_JIS) - - - Unicode - - - Western - - - Chinese Simplified - - - Chinese Traditional - - - Korean - - - Japanese - - - Thai - - - Central European - - - Cyrillic - - - Greek - - - Baltic - - - South European - - - Nordic - - - Celtic - - - Romanian - - - Turkish - - - Arabic - - - Hebrew - - - Vietnamese - diff --git a/libcef/resources/grit_stub/chrome/grit/browser_resources.h b/libcef/resources/grit_stub/chrome/grit/browser_resources.h deleted file mode 100644 index 0d2c14a96..000000000 --- a/libcef/resources/grit_stub/chrome/grit/browser_resources.h +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/libcef/resources/grit_stub/chrome/grit/generated_resources.h b/libcef/resources/grit_stub/chrome/grit/generated_resources.h deleted file mode 100644 index 0d2c14a96..000000000 --- a/libcef/resources/grit_stub/chrome/grit/generated_resources.h +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/libcef/resources/grit_stub/chrome/grit/locale_settings.h b/libcef/resources/grit_stub/chrome/grit/locale_settings.h deleted file mode 100644 index 0d2c14a96..000000000 --- a/libcef/resources/grit_stub/chrome/grit/locale_settings.h +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/patch/patch.cfg b/patch/patch.cfg index 4353b077c..f22c5d6e5 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -97,8 +97,8 @@ patches = [ { # Allow specification of a custom WebContentsView. # https://bitbucket.org/chromiumembedded/cef/issues/1257 - 'name': 'public_browser_1257', - 'path': '../content/public/browser/', + 'name': 'web_contents_1257', + 'path': '../', }, { # Allow creation of a custom SoftwareOutputDevice. @@ -106,32 +106,6 @@ patches = [ 'name': 'compositor_1368', 'path': '../', }, - { - # Allow specification of a custom WebContentsView. - # https://bitbucket.org/chromiumembedded/cef/issues/1257 - 'name': 'browser_web_contents_1257', - 'path': '../content/browser/web_contents/', - }, - { - # Allow specification of a custom WebContentsView. - # This change is required due to chrome_browser_process_stub.h indirectly - # including chrome/browser/ui/browser.h on OS X. - # https://bitbucket.org/chromiumembedded/cef/issues/1257 - 'name': 'chrome_browser_1257', - 'path': '../chrome/browser/', - }, - { - # Allow specification of a custom WebContentsView. - # https://bitbucket.org/chromiumembedded/cef/issues/1257 - 'name': 'ui_webview_1257', - 'path': '../ui/views/controls/webview/', - }, - { - # Allow specification of a custom WebContentsView. - # https://bitbucket.org/chromiumembedded/cef/issues/1257 - 'name': 'extensions_1257', - 'path': '../extensions/', - }, { # Allow specification of a custom WebContentsViewGuest implementation for # MimeHandlerView. @@ -195,12 +169,16 @@ patches = [ { # Enable support for print header and footer. # https://bitbucket.org/chromiumembedded/cef/issue/1478 + # # Fix printing of PDF documents via PrintToPDF. # https://bitbucket.org/chromiumembedded/cef/issues/1565 + # # Revert ENABLE_PRINT_PREVIEW changes from the following changeset. # https://codereview.chromium.org/1556463003 + # + # Add missing ENABLE_PRINT_PREVIEW checks in chrome/ on Mac. 'name': 'print_header_footer_1478_1565', - 'path': '../components/', + 'path': '../', }, { # Remove DCHECK on Linux when initialized CEF from a non-main thread. @@ -279,9 +257,28 @@ patches = [ 'name': 'gyp_build_626150', 'path': '../', }, + { + # Fix GYP build error on Windows. + # https://bugs.chromium.org/p/chromium/issues/detail?id=627924 + # TODO(cef): Remove this patch when GYP support is removed. + 'name': 'gyp_build_627924', + 'path': '../', + }, { # Expose ui::Compositor via BrowserCompositorMac for OSR. 'name': 'browser_compositor_mac', 'path': '../', }, + { + # Fix chrome Widevine build on Linux. + 'name': 'chrome_widevine', + 'path': '../', + }, + { + # Remove references to crashpad from chrome/ code on Mac. This avoids + # linker conflicts with breakpad. + # TODO(cef/chrome): Remove this patch once crashpad is supported. + 'name': 'chrome_crashpad_mac', + 'path': '../', + }, ] diff --git a/patch/patches/browser_web_contents_1257.patch b/patch/patches/browser_web_contents_1257.patch deleted file mode 100644 index 115d12e1b..000000000 --- a/patch/patches/browser_web_contents_1257.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git web_contents_impl.cc web_contents_impl.cc -index db8263e..07f1989 100644 ---- web_contents_impl.cc -+++ web_contents_impl.cc -@@ -1502,6 +1502,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { - std::string unique_name = params.main_frame_name; - frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); - -+ if (params.view && params.delegate_view) { -+ view_.reset(params.view); -+ render_view_host_delegate_view_ = params.delegate_view; -+ } -+ -+ if (!view_) { - WebContentsViewDelegate* delegate = - GetContentClient()->browser()->GetWebContentsViewDelegate(this); - -@@ -1534,6 +1540,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { - std::move(view_), - &render_view_host_delegate_view_)); - } -+ } - CHECK(render_view_host_delegate_view_); - CHECK(view_.get()); - -@@ -1977,11 +1984,14 @@ void WebContentsImpl::CreateNewWindow( - static_cast(session_storage_namespace); - CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context)); - -+ content::WebContentsView* view = NULL; -+ content::RenderViewHostDelegateView* delegate_view = NULL; -+ - if (delegate_ && - !delegate_->ShouldCreateWebContents( - this, route_id, main_frame_route_id, main_frame_widget_route_id, - params.window_container_type, params.frame_name, params.target_url, -- partition_id, session_storage_namespace)) { -+ partition_id, session_storage_namespace, &view, &delegate_view)) { - if (route_id != MSG_ROUTING_NONE && - !RenderViewHost::FromID(render_process_id, route_id)) { - // If the embedder didn't create a WebContents for this route, we need to -@@ -2005,6 +2015,8 @@ void WebContentsImpl::CreateNewWindow( - create_params.opener_render_process_id = render_process_id; - create_params.opener_render_frame_id = params.opener_render_frame_id; - create_params.opener_suppressed = params.opener_suppressed; -+ create_params.view = view; -+ create_params.delegate_view = delegate_view; - if (params.disposition == NEW_BACKGROUND_TAB) - create_params.initially_hidden = true; - create_params.renderer_initiated_creation = diff --git a/patch/patches/chrome_browser_1257.patch b/patch/patches/chrome_browser_1257.patch deleted file mode 100644 index 12c876516..000000000 --- a/patch/patches/chrome_browser_1257.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git ui/browser.cc ui/browser.cc -index b10b2df..a47dd18 100644 ---- ui/browser.cc -+++ ui/browser.cc -@@ -1618,7 +1618,9 @@ bool Browser::ShouldCreateWebContents( - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) { -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) { - if (window_container_type == WINDOW_CONTAINER_TYPE_BACKGROUND) { - // If a BackgroundContents is created, suppress the normal WebContents. - return !MaybeCreateBackgroundContents( -diff --git ui/browser.h ui/browser.h -index 693e84d..be1f1dd 100644 ---- ui/browser.h -+++ ui/browser.h -@@ -617,7 +617,9 @@ class Browser : public TabStripModelObserver, - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) override; -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) override; - void WebContentsCreated(content::WebContents* source_contents, - int opener_render_frame_id, - const std::string& frame_name, diff --git a/patch/patches/chrome_crashpad_mac.patch b/patch/patches/chrome_crashpad_mac.patch new file mode 100644 index 000000000..c9b864c28 --- /dev/null +++ b/patch/patches/chrome_crashpad_mac.patch @@ -0,0 +1,41 @@ +diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm +index 11d7ff4..1013b2ce 100644 +--- chrome/browser/chrome_browser_main_mac.mm ++++ chrome/browser/chrome_browser_main_mac.mm +@@ -186,7 +186,7 @@ void EnsureMetadataNeverIndexFile(const base::FilePath& user_data_dir) { + ChromeBrowserMainPartsPosix::PostProfileInit(); + + g_browser_process->metrics_service()->RecordBreakpadRegistration( +- crash_reporter::GetUploadsEnabled()); ++ false); + + // TODO(calamity): Make this gated on first_run::IsChromeFirstRun() in M45. + content::BrowserThread::PostAfterStartupTask( +diff --git chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc +index af1bbec..6b92a7c 100644 +--- chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc ++++ chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc +@@ -73,8 +73,6 @@ void CrashUploadListCrashpad::LoadUploadList( + // database lives in the .exe, so we need to grab a pointer to a helper in the + // exe to get our reports list. + GetReportsThunk(&reports); +-#else +- crash_reporter::GetReports(&reports); + #endif + + for (const crash_reporter::Report& report : reports) { +diff --git chrome/browser/google/google_update_settings_posix.cc chrome/browser/google/google_update_settings_posix.cc +index 059672e..cdecb1a 100644 +--- chrome/browser/google/google_update_settings_posix.cc ++++ chrome/browser/google/google_update_settings_posix.cc +@@ -63,10 +63,6 @@ bool GoogleUpdateSettings::GetCollectStatsConsent() { + + // static + bool GoogleUpdateSettings::SetCollectStatsConsent(bool consented) { +-#if defined(OS_MACOSX) +- crash_reporter::SetUploadsEnabled(consented); +-#endif +- + base::FilePath consent_dir; + PathService::Get(chrome::DIR_USER_DATA, &consent_dir); + if (!base::DirectoryExists(consent_dir)) diff --git a/patch/patches/chrome_widevine.patch b/patch/patches/chrome_widevine.patch new file mode 100644 index 000000000..ed38ff03b --- /dev/null +++ b/patch/patches/chrome_widevine.patch @@ -0,0 +1,14 @@ +diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc +index 57355af2..01cde06 100644 +--- chrome/common/chrome_content_client.cc ++++ chrome/common/chrome_content_client.cc +@@ -76,7 +76,7 @@ + #endif + + #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) && \ +- !defined(WIDEVINE_CDM_IS_COMPONENT) ++ !defined(WIDEVINE_CDM_IS_COMPONENT) && defined(WIDEVINE_CDM_VERSION_STRING) + #define WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT + #include "chrome/common/widevine_cdm_constants.h" + #endif + diff --git a/patch/patches/extensions_1257.patch b/patch/patches/extensions_1257.patch deleted file mode 100644 index baf395402..000000000 --- a/patch/patches/extensions_1257.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc -index 3849b7e..a974f34 100644 ---- browser/guest_view/extension_options/extension_options_guest.cc -+++ browser/guest_view/extension_options/extension_options_guest.cc -@@ -203,7 +203,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) { -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) { - // This method handles opening links from within the guest. Since this guest - // view is used for displaying embedded extension options, we want any - // external links to be opened in a new tab, not in a new guest view. -diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h -index e0309f7..f6a3878 100644 ---- browser/guest_view/extension_options/extension_options_guest.h -+++ browser/guest_view/extension_options/extension_options_guest.h -@@ -56,7 +56,9 @@ class ExtensionOptionsGuest - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) final; -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) final; - - // content::WebContentsObserver implementation. - void DidNavigateMainFrame(const content::LoadCommittedDetails& details, diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index 53f07e64f..145402038 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -23,19 +23,6 @@ index 23e67d9..c3d4ec6 100644 "//chrome/test:telemetry_perf_unittests", "//chrome/test:unit_tests", "//components:components_browsertests", -diff --git build/config/features.gni build/config/features.gni -index 9d33d91..d460e86 100644 ---- build/config/features.gni -+++ build/config/features.gni -@@ -148,7 +148,7 @@ enable_web_speech = !is_android && !is_ios - - enable_task_manager = !is_ios && !is_android - --enable_themes = !is_android && !is_ios -+enable_themes = !is_android && !is_ios && !is_linux - - # Whether we are using the rlz library or not. Platforms like Android send - # rlz codes for searches but do not use the library. diff --git build/config/mac/base_rules.gni build/config/mac/base_rules.gni index 109710d..d2c442e 100644 --- build/config/mac/base_rules.gni diff --git a/patch/patches/gyp_build_627924.patch b/patch/patches/gyp_build_627924.patch new file mode 100644 index 000000000..3c8babf02 --- /dev/null +++ b/patch/patches/gyp_build_627924.patch @@ -0,0 +1,17 @@ +diff --git chrome_elf/chrome_elf.gyp chrome_elf/chrome_elf.gyp +index 7a49fe8..b4be214 100644 +--- chrome_elf/chrome_elf.gyp ++++ chrome_elf/chrome_elf.gyp +@@ -59,12 +59,6 @@ + ], + # Set /SUBSYSTEM:WINDOWS. + 'SubSystem': '2', +- 'AdditionalDependencies!': [ +- 'user32.lib', +- ], +- 'IgnoreDefaultLibraryNames': [ +- 'user32.lib', +- ], + }, + }, + }, diff --git a/patch/patches/print_header_footer_1478_1565.patch b/patch/patches/print_header_footer_1478_1565.patch index 0d2fd3402..a32607820 100644 --- a/patch/patches/print_header_footer_1478_1565.patch +++ b/patch/patches/print_header_footer_1478_1565.patch @@ -1,7 +1,37 @@ -diff --git printing/common/print_messages.cc printing/common/print_messages.cc +diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm +index b43b88b..7779496 100644 +--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm ++++ chrome/browser/ui/cocoa/applescript/tab_applescript.mm +@@ -9,7 +9,9 @@ + #include "base/logging.h" + #import "base/mac/scoped_nsobject.h" + #include "base/strings/sys_string_conversions.h" ++#if defined(ENABLE_PRINT_PREVIEW) + #include "chrome/browser/printing/print_view_manager.h" ++#endif + #include "chrome/browser/sessions/session_tab_helper.h" + #include "chrome/browser/ui/cocoa/applescript/apple_event_util.h" + #include "chrome/browser/ui/cocoa/applescript/error_applescript.h" +@@ -227,11 +229,15 @@ - (void)handlesStopScriptCommand:(NSScriptCommand*)command { + + - (void)handlesPrintScriptCommand:(NSScriptCommand*)command { + AppleScript::LogAppleScriptUMA(AppleScript::AppleScriptCommand::TAB_PRINT); ++#if defined(ENABLE_PRINT_PREVIEW) + bool initiated = + printing::PrintViewManager::FromWebContents(webContents_)->PrintNow(); + if (!initiated) { + AppleScript::SetError(AppleScript::errInitiatePrinting); + } ++#else ++ NOTIMPLEMENTED(); ++#endif + } + + - (void)handlesSaveScriptCommand:(NSScriptCommand*)command { +diff --git components/printing/common/print_messages.cc components/printing/common/print_messages.cc index 6798e35..215777f 100644 ---- printing/common/print_messages.cc -+++ printing/common/print_messages.cc +--- components/printing/common/print_messages.cc ++++ components/printing/common/print_messages.cc @@ -103,7 +103,6 @@ void PrintMsg_PrintPages_Params::Reset() { pages = std::vector(); } @@ -15,10 +45,10 @@ index 6798e35..215777f 100644 ~PrintHostMsg_SetOptionsFromDocument_Params() { } -#endif // defined(ENABLE_PRINT_PREVIEW) -diff --git printing/common/print_messages.h printing/common/print_messages.h +diff --git components/printing/common/print_messages.h components/printing/common/print_messages.h index 705211b..a524333 100644 ---- printing/common/print_messages.h -+++ printing/common/print_messages.h +--- components/printing/common/print_messages.h ++++ components/printing/common/print_messages.h @@ -71,7 +71,6 @@ struct PrintMsg_PrintPages_Params { std::vector pages; }; @@ -135,10 +165,10 @@ index 705211b..a524333 100644 IPC_MESSAGE_ROUTED1(PrintHostMsg_SetOptionsFromDocument, PrintHostMsg_SetOptionsFromDocument_Params /* params */) -#endif // defined(ENABLE_PRINT_PREVIEW) -diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc +diff --git components/printing/renderer/print_web_view_helper.cc components/printing/renderer/print_web_view_helper.cc index b25340c..47d419e 100644 ---- printing/renderer/print_web_view_helper.cc -+++ printing/renderer/print_web_view_helper.cc +--- components/printing/renderer/print_web_view_helper.cc ++++ components/printing/renderer/print_web_view_helper.cc @@ -83,6 +83,9 @@ const float kPrintingMinimumShrinkFactor = 1.333f; #if defined(ENABLE_PRINT_PREVIEW) @@ -394,10 +424,10 @@ index b25340c..47d419e 100644 PrintWebViewHelper::PrintPreviewContext::PrintPreviewContext() : total_page_count_(0), -diff --git printing/renderer/print_web_view_helper.h printing/renderer/print_web_view_helper.h +diff --git components/printing/renderer/print_web_view_helper.h components/printing/renderer/print_web_view_helper.h index fe33d5e..3f1b7b5 100644 ---- printing/renderer/print_web_view_helper.h -+++ printing/renderer/print_web_view_helper.h +--- components/printing/renderer/print_web_view_helper.h ++++ components/printing/renderer/print_web_view_helper.h @@ -137,9 +137,7 @@ class PrintWebViewHelper OK, FAIL_PRINT_INIT, @@ -491,10 +521,10 @@ index fe33d5e..3f1b7b5 100644 PrintPreviewContext print_preview_context_; bool is_loading_; bool is_scripted_preview_delayed_; -diff --git printing/renderer/print_web_view_helper_mac.mm printing/renderer/print_web_view_helper_mac.mm +diff --git components/printing/renderer/print_web_view_helper_mac.mm components/printing/renderer/print_web_view_helper_mac.mm index d227c5e..f362093 100644 ---- printing/renderer/print_web_view_helper_mac.mm -+++ printing/renderer/print_web_view_helper_mac.mm +--- components/printing/renderer/print_web_view_helper_mac.mm ++++ components/printing/renderer/print_web_view_helper_mac.mm @@ -68,7 +68,6 @@ void PrintWebViewHelper::PrintPageInternal( Send(new PrintHostMsg_DidPrintPage(routing_id(), page_params)); } @@ -526,10 +556,10 @@ index d227c5e..f362093 100644 RenderPageContent(frame, page_number, canvas_area, content_area, scale_factor, static_cast(canvas)); } -diff --git resources/printing_resources.grdp resources/printing_resources.grdp +diff --git components/resources/printing_resources.grdp components/resources/printing_resources.grdp index 7213746..32b8b1e 100644 ---- resources/printing_resources.grdp -+++ resources/printing_resources.grdp +--- components/resources/printing_resources.grdp ++++ components/resources/printing_resources.grdp @@ -1,6 +1,4 @@ diff --git a/patch/patches/public_browser_1257.patch b/patch/patches/public_browser_1257.patch deleted file mode 100644 index 61c5bef2a..000000000 --- a/patch/patches/public_browser_1257.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git web_contents.cc web_contents.cc -index fa0afb5..d677b31 100644 ---- web_contents.cc -+++ web_contents.cc -@@ -29,7 +29,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context, - guest_delegate(nullptr), - context(nullptr), - renderer_initiated_creation(false), -- initialize_renderer(false) { -+ initialize_renderer(false), -+ view(nullptr), -+ delegate_view(nullptr) { - } - - WebContents::CreateParams::CreateParams(const CreateParams& other) = default; -diff --git web_contents.h web_contents.h -index 9ccb6fe..d8561f9 100644 ---- web_contents.h -+++ web_contents.h -@@ -55,8 +55,10 @@ class PageState; - class RenderFrameHost; - class RenderProcessHost; - class RenderViewHost; -+class RenderViewHostDelegateView; - class RenderWidgetHostView; - class WebContentsDelegate; -+class WebContentsView; - struct CustomContextMenuContext; - struct DropData; - struct Manifest; -@@ -157,6 +159,10 @@ class WebContents : public PageNavigator, - // Note that the pre-created renderer process may not be used if the first - // navigation requires a dedicated or privileged process, such as a WebUI. - bool initialize_renderer; -+ -+ // Optionally specify the view and delegate view. -+ content::WebContentsView* view; -+ content::RenderViewHostDelegateView* delegate_view; - }; - - // Creates a new WebContents. -diff --git web_contents_delegate.cc web_contents_delegate.cc -index df97348..8e2168e 100644 ---- web_contents_delegate.cc -+++ web_contents_delegate.cc -@@ -144,7 +144,9 @@ bool WebContentsDelegate::ShouldCreateWebContents( - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- SessionStorageNamespace* session_storage_namespace) { -+ SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) { - return true; - } - -diff --git web_contents_delegate.h web_contents_delegate.h -index 2816c4d..387821f 100644 ---- web_contents_delegate.h -+++ web_contents_delegate.h -@@ -42,9 +42,11 @@ class JavaScriptDialogManager; - class PageState; - class RenderFrameHost; - class RenderViewHost; -+class RenderViewHostDelegateView; - class SessionStorageNamespace; - class WebContents; - class WebContentsImpl; -+class WebContentsView; - struct ColorSuggestion; - struct ContextMenuParams; - struct DropData; -@@ -307,7 +309,9 @@ class CONTENT_EXPORT WebContentsDelegate { - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- SessionStorageNamespace* session_storage_namespace); -+ SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view); - - // Notifies the delegate about the creation of a new WebContents. This - // typically happens when popups are created. diff --git a/patch/patches/ui_webview_1257.patch b/patch/patches/ui_webview_1257.patch deleted file mode 100644 index 22c817f6e..000000000 --- a/patch/patches/ui_webview_1257.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git web_dialog_view.cc web_dialog_view.cc -index d8afe6e..59259b7 100644 ---- web_dialog_view.cc -+++ web_dialog_view.cc -@@ -341,7 +341,9 @@ bool WebDialogView::ShouldCreateWebContents( - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) { -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) { - if (delegate_) - return delegate_->HandleShouldCreateWebContents(); - return true; -diff --git web_dialog_view.h web_dialog_view.h -index 65be6d54..7802d6d 100644 ---- web_dialog_view.h -+++ web_dialog_view.h -@@ -123,7 +123,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView, - const std::string& frame_name, - const GURL& target_url, - const std::string& partition_id, -- content::SessionStorageNamespace* session_storage_namespace) override; -+ content::SessionStorageNamespace* session_storage_namespace, -+ content::WebContentsView** view, -+ content::RenderViewHostDelegateView** delegate_view) override; - - private: - FRIEND_TEST_ALL_PREFIXES(WebDialogBrowserTest, WebContentRendered); diff --git a/patch/patches/web_contents_1257.patch b/patch/patches/web_contents_1257.patch new file mode 100644 index 000000000..91008afa5 --- /dev/null +++ b/patch/patches/web_contents_1257.patch @@ -0,0 +1,283 @@ +diff --git chrome/browser/extensions/api/tab_capture/offscreen_tab.cc chrome/browser/extensions/api/tab_capture/offscreen_tab.cc +index ddc31cf..81b7d1c 100644 +--- chrome/browser/extensions/api/tab_capture/offscreen_tab.cc ++++ chrome/browser/extensions/api/tab_capture/offscreen_tab.cc +@@ -203,7 +203,9 @@ bool OffscreenTab::ShouldCreateWebContents( + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) { ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) { + DCHECK_EQ(offscreen_tab_web_contents_.get(), contents); + // Disallow creating separate WebContentses. The WebContents implementation + // uses this to spawn new windows/tabs, which is also not allowed for +diff --git chrome/browser/extensions/api/tab_capture/offscreen_tab.h chrome/browser/extensions/api/tab_capture/offscreen_tab.h +index 712c117..4dc59be 100644 +--- chrome/browser/extensions/api/tab_capture/offscreen_tab.h ++++ chrome/browser/extensions/api/tab_capture/offscreen_tab.h +@@ -149,7 +149,9 @@ class OffscreenTab : protected content::WebContentsDelegate, + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) final; ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) final; + bool EmbedsFullscreenWidget() const final; + void EnterFullscreenModeForTab(content::WebContents* contents, + const GURL& origin) final; +diff --git chrome/browser/prerender/prerender_contents.cc chrome/browser/prerender/prerender_contents.cc +index d646060..697bf1b 100644 +--- chrome/browser/prerender/prerender_contents.cc ++++ chrome/browser/prerender/prerender_contents.cc +@@ -129,7 +129,9 @@ class PrerenderContents::WebContentsDelegateImpl + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- SessionStorageNamespace* session_storage_namespace) override { ++ SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) override { + // Since we don't want to permit child windows that would have a + // window.opener property, terminate prerendering. + prerender_contents_->Destroy(FINAL_STATUS_CREATE_NEW_WINDOW); +diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc +index b10b2df..a47dd18 100644 +--- chrome/browser/ui/browser.cc ++++ chrome/browser/ui/browser.cc +@@ -1618,7 +1618,9 @@ bool Browser::ShouldCreateWebContents( + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) { ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) { + if (window_container_type == WINDOW_CONTAINER_TYPE_BACKGROUND) { + // If a BackgroundContents is created, suppress the normal WebContents. + return !MaybeCreateBackgroundContents( +diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h +index 693e84d..be1f1dd 100644 +--- chrome/browser/ui/browser.h ++++ chrome/browser/ui/browser.h +@@ -617,7 +617,9 @@ class Browser : public TabStripModelObserver, + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) override; ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) override; + void WebContentsCreated(content::WebContents* source_contents, + int opener_render_frame_id, + const std::string& frame_name, +diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc +index db8263e..07f1989 100644 +--- content/browser/web_contents/web_contents_impl.cc ++++ content/browser/web_contents/web_contents_impl.cc +@@ -1502,6 +1502,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { + std::string unique_name = params.main_frame_name; + frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); + ++ if (params.view && params.delegate_view) { ++ view_.reset(params.view); ++ render_view_host_delegate_view_ = params.delegate_view; ++ } ++ ++ if (!view_) { + WebContentsViewDelegate* delegate = + GetContentClient()->browser()->GetWebContentsViewDelegate(this); + +@@ -1534,6 +1540,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { + std::move(view_), + &render_view_host_delegate_view_)); + } ++ } + CHECK(render_view_host_delegate_view_); + CHECK(view_.get()); + +@@ -1977,11 +1984,14 @@ void WebContentsImpl::CreateNewWindow( + static_cast(session_storage_namespace); + CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context)); + ++ content::WebContentsView* view = NULL; ++ content::RenderViewHostDelegateView* delegate_view = NULL; ++ + if (delegate_ && + !delegate_->ShouldCreateWebContents( + this, route_id, main_frame_route_id, main_frame_widget_route_id, + params.window_container_type, params.frame_name, params.target_url, +- partition_id, session_storage_namespace)) { ++ partition_id, session_storage_namespace, &view, &delegate_view)) { + if (route_id != MSG_ROUTING_NONE && + !RenderViewHost::FromID(render_process_id, route_id)) { + // If the embedder didn't create a WebContents for this route, we need to +@@ -2005,6 +2015,8 @@ void WebContentsImpl::CreateNewWindow( + create_params.opener_render_process_id = render_process_id; + create_params.opener_render_frame_id = params.opener_render_frame_id; + create_params.opener_suppressed = params.opener_suppressed; ++ create_params.view = view; ++ create_params.delegate_view = delegate_view; + if (params.disposition == NEW_BACKGROUND_TAB) + create_params.initially_hidden = true; + create_params.renderer_initiated_creation = +diff --git content/public/browser/web_contents.cc content/public/browser/web_contents.cc +index fa0afb5..d677b31 100644 +--- content/public/browser/web_contents.cc ++++ content/public/browser/web_contents.cc +@@ -29,7 +29,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context, + guest_delegate(nullptr), + context(nullptr), + renderer_initiated_creation(false), +- initialize_renderer(false) { ++ initialize_renderer(false), ++ view(nullptr), ++ delegate_view(nullptr) { + } + + WebContents::CreateParams::CreateParams(const CreateParams& other) = default; +diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h +index 9ccb6fe..d8561f9 100644 +--- content/public/browser/web_contents.h ++++ content/public/browser/web_contents.h +@@ -55,8 +55,10 @@ class PageState; + class RenderFrameHost; + class RenderProcessHost; + class RenderViewHost; ++class RenderViewHostDelegateView; + class RenderWidgetHostView; + class WebContentsDelegate; ++class WebContentsView; + struct CustomContextMenuContext; + struct DropData; + struct Manifest; +@@ -157,6 +159,10 @@ class WebContents : public PageNavigator, + // Note that the pre-created renderer process may not be used if the first + // navigation requires a dedicated or privileged process, such as a WebUI. + bool initialize_renderer; ++ ++ // Optionally specify the view and delegate view. ++ content::WebContentsView* view; ++ content::RenderViewHostDelegateView* delegate_view; + }; + + // Creates a new WebContents. +diff --git content/public/browser/web_contents_delegate.cc content/public/browser/web_contents_delegate.cc +index df97348..8e2168e 100644 +--- content/public/browser/web_contents_delegate.cc ++++ content/public/browser/web_contents_delegate.cc +@@ -144,7 +144,9 @@ bool WebContentsDelegate::ShouldCreateWebContents( + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- SessionStorageNamespace* session_storage_namespace) { ++ SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) { + return true; + } + +diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h +index 2816c4d..387821f 100644 +--- content/public/browser/web_contents_delegate.h ++++ content/public/browser/web_contents_delegate.h +@@ -42,9 +42,11 @@ class JavaScriptDialogManager; + class PageState; + class RenderFrameHost; + class RenderViewHost; ++class RenderViewHostDelegateView; + class SessionStorageNamespace; + class WebContents; + class WebContentsImpl; ++class WebContentsView; + struct ColorSuggestion; + struct ContextMenuParams; + struct DropData; +@@ -307,7 +309,9 @@ class CONTENT_EXPORT WebContentsDelegate { + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- SessionStorageNamespace* session_storage_namespace); ++ SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view); + + // Notifies the delegate about the creation of a new WebContents. This + // typically happens when popups are created. +diff --git extensions/browser/guest_view/extension_options/extension_options_guest.cc extensions/browser/guest_view/extension_options/extension_options_guest.cc +index 3849b7e..a974f34 100644 +--- extensions/browser/guest_view/extension_options/extension_options_guest.cc ++++ extensions/browser/guest_view/extension_options/extension_options_guest.cc +@@ -203,7 +203,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents( + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) { ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) { + // This method handles opening links from within the guest. Since this guest + // view is used for displaying embedded extension options, we want any + // external links to be opened in a new tab, not in a new guest view. +diff --git extensions/browser/guest_view/extension_options/extension_options_guest.h extensions/browser/guest_view/extension_options/extension_options_guest.h +index e0309f7..f6a3878 100644 +--- extensions/browser/guest_view/extension_options/extension_options_guest.h ++++ extensions/browser/guest_view/extension_options/extension_options_guest.h +@@ -56,7 +56,9 @@ class ExtensionOptionsGuest + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) final; ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) final; + + // content::WebContentsObserver implementation. + void DidNavigateMainFrame(const content::LoadCommittedDetails& details, +diff --git ui/keyboard/content/keyboard_ui_content.cc ui/keyboard/content/keyboard_ui_content.cc +index cd6a2ab..ef2c820 100644 +--- ui/keyboard/content/keyboard_ui_content.cc ++++ ui/keyboard/content/keyboard_ui_content.cc +@@ -64,7 +64,9 @@ class KeyboardContentsDelegate : public content::WebContentsDelegate, + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) override { ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) override { + return false; + } + +diff --git ui/views/controls/webview/web_dialog_view.cc ui/views/controls/webview/web_dialog_view.cc +index d8afe6e..59259b7 100644 +--- ui/views/controls/webview/web_dialog_view.cc ++++ ui/views/controls/webview/web_dialog_view.cc +@@ -341,7 +341,9 @@ bool WebDialogView::ShouldCreateWebContents( + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) { ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) { + if (delegate_) + return delegate_->HandleShouldCreateWebContents(); + return true; +diff --git ui/views/controls/webview/web_dialog_view.h ui/views/controls/webview/web_dialog_view.h +index 65be6d54..7802d6d 100644 +--- ui/views/controls/webview/web_dialog_view.h ++++ ui/views/controls/webview/web_dialog_view.h +@@ -123,7 +123,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView, + const std::string& frame_name, + const GURL& target_url, + const std::string& partition_id, +- content::SessionStorageNamespace* session_storage_namespace) override; ++ content::SessionStorageNamespace* session_storage_namespace, ++ content::WebContentsView** view, ++ content::RenderViewHostDelegateView** delegate_view) override; + + private: + FRIEND_TEST_ALL_PREFIXES(WebDialogBrowserTest, WebContentRendered); diff --git a/tools/repack_locales.py b/tools/repack_locales.py index 6b5d285ae..fe8b9e56d 100644 --- a/tools/repack_locales.py +++ b/tools/repack_locales.py @@ -54,6 +54,16 @@ def calc_inputs(locale): """Determine the files that need processing for the given locale.""" inputs = [] + #e.g. + # '<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_da.pak' + inputs.append(os.path.join(SHARE_INT_DIR, 'chrome', + 'generated_resources_%s.pak' % locale)) + + #e.g. + # '<(SHARED_INTERMEDIATE_DIR)/chrome/locale_settings_da.pak' + inputs.append(os.path.join(SHARE_INT_DIR, 'chrome', + 'locale_settings_%s.pak' % locale)) + #e.g. # '<(SHARED_INTERMEDIATE_DIR)/chrome/platform_locale_settings_da.pak' inputs.append(os.path.join(SHARE_INT_DIR, 'chrome',