├── .gitignore ├── .style.cfg ├── .style.yapf ├── AUTHORS.txt ├── BUILD.gn ├── CHROMIUM_BUILD_COMPATIBILITY.txt ├── CHROMIUM_UPDATE.txt ├── CMakeLists.txt.in ├── DEPS ├── LICENSE.txt ├── README.md ├── VERSION.in ├── cef_create_projects.bat ├── cef_create_projects.sh ├── cef_paths.gypi ├── cef_paths2.gypi ├── cmake ├── FindCEF.cmake.in ├── cef_macros.cmake.in └── cef_variables.cmake.in ├── include ├── base │ ├── cef_atomic_flag.h │ ├── cef_atomic_ref_count.h │ ├── cef_auto_reset.h │ ├── cef_basictypes.h │ ├── cef_bind.h │ ├── cef_build.h │ ├── cef_callback.h │ ├── cef_callback_forward.h │ ├── cef_callback_helpers.h │ ├── cef_callback_list.h │ ├── cef_cancelable_callback.h │ ├── cef_compiler_specific.h │ ├── cef_cxx17_backports.h │ ├── cef_lock.h │ ├── cef_logging.h │ ├── cef_macros.h │ ├── cef_platform_thread.h │ ├── cef_ptr_util.h │ ├── cef_ref_counted.h │ ├── cef_scoped_refptr.h │ ├── cef_scoped_typeref_mac.h │ ├── cef_template_util.h │ ├── cef_thread_checker.h │ ├── cef_trace_event.h │ ├── cef_tuple.h │ ├── cef_weak_ptr.h │ └── internal │ │ ├── cef_bind_internal.h │ │ ├── cef_callback_internal.h │ │ ├── cef_lock_impl.h │ │ ├── cef_net_error_list.h │ │ ├── cef_raw_scoped_refptr_mismatch_checker.h │ │ ├── cef_scoped_block_mac.h │ │ ├── cef_scoped_policy.h │ │ └── cef_thread_checker_impl.h ├── capi │ ├── cef_accessibility_handler_capi.h │ ├── cef_app_capi.h │ ├── cef_audio_handler_capi.h │ ├── cef_auth_callback_capi.h │ ├── cef_base_capi.h │ ├── cef_browser_capi.h │ ├── cef_browser_process_handler_capi.h │ ├── cef_callback_capi.h │ ├── cef_client_capi.h │ ├── cef_command_handler_capi.h │ ├── cef_command_line_capi.h │ ├── cef_context_menu_handler_capi.h │ ├── cef_cookie_capi.h │ ├── cef_crash_util_capi.h │ ├── cef_devtools_message_observer_capi.h │ ├── cef_dialog_handler_capi.h │ ├── cef_display_handler_capi.h │ ├── cef_dom_capi.h │ ├── cef_download_handler_capi.h │ ├── cef_download_item_capi.h │ ├── cef_drag_data_capi.h │ ├── cef_drag_handler_capi.h │ ├── cef_extension_capi.h │ ├── cef_extension_handler_capi.h │ ├── cef_file_util_capi.h │ ├── cef_find_handler_capi.h │ ├── cef_focus_handler_capi.h │ ├── cef_frame_capi.h │ ├── cef_frame_handler_capi.h │ ├── cef_i18n_util_capi.h │ ├── cef_image_capi.h │ ├── cef_jsdialog_handler_capi.h │ ├── cef_keyboard_handler_capi.h │ ├── cef_life_span_handler_capi.h │ ├── cef_load_handler_capi.h │ ├── cef_media_router_capi.h │ ├── cef_menu_model_capi.h │ ├── cef_menu_model_delegate_capi.h │ ├── cef_navigation_entry_capi.h │ ├── cef_origin_whitelist_capi.h │ ├── cef_parser_capi.h │ ├── cef_path_util_capi.h │ ├── cef_print_handler_capi.h │ ├── cef_print_settings_capi.h │ ├── cef_process_message_capi.h │ ├── cef_process_util_capi.h │ ├── cef_registration_capi.h │ ├── cef_render_handler_capi.h │ ├── cef_render_process_handler_capi.h │ ├── cef_request_capi.h │ ├── cef_request_context_capi.h │ ├── cef_request_context_handler_capi.h │ ├── cef_request_handler_capi.h │ ├── cef_resource_bundle_capi.h │ ├── cef_resource_bundle_handler_capi.h │ ├── cef_resource_handler_capi.h │ ├── cef_resource_request_handler_capi.h │ ├── cef_response_capi.h │ ├── cef_response_filter_capi.h │ ├── cef_scheme_capi.h │ ├── cef_server_capi.h │ ├── cef_ssl_info_capi.h │ ├── cef_ssl_status_capi.h │ ├── cef_stream_capi.h │ ├── cef_string_visitor_capi.h │ ├── cef_task_capi.h │ ├── cef_thread_capi.h │ ├── cef_trace_capi.h │ ├── cef_urlrequest_capi.h │ ├── cef_v8_capi.h │ ├── cef_values_capi.h │ ├── cef_waitable_event_capi.h │ ├── cef_x509_certificate_capi.h │ ├── cef_xml_reader_capi.h │ ├── cef_zip_reader_capi.h │ ├── test │ │ ├── cef_test_helpers_capi.h │ │ └── cef_translator_test_capi.h │ └── views │ │ ├── cef_box_layout_capi.h │ │ ├── cef_browser_view_capi.h │ │ ├── cef_browser_view_delegate_capi.h │ │ ├── cef_button_capi.h │ │ ├── cef_button_delegate_capi.h │ │ ├── cef_display_capi.h │ │ ├── cef_fill_layout_capi.h │ │ ├── cef_label_button_capi.h │ │ ├── cef_layout_capi.h │ │ ├── cef_menu_button_capi.h │ │ ├── cef_menu_button_delegate_capi.h │ │ ├── cef_overlay_controller_capi.h │ │ ├── cef_panel_capi.h │ │ ├── cef_panel_delegate_capi.h │ │ ├── cef_scroll_view_capi.h │ │ ├── cef_textfield_capi.h │ │ ├── cef_textfield_delegate_capi.h │ │ ├── cef_view_capi.h │ │ ├── cef_view_delegate_capi.h │ │ ├── cef_window_capi.h │ │ └── cef_window_delegate_capi.h ├── cef_accessibility_handler.h ├── cef_api_hash.h ├── cef_app.h ├── cef_application_mac.h ├── cef_audio_handler.h ├── cef_auth_callback.h ├── cef_base.h ├── cef_browser.h ├── cef_browser_process_handler.h ├── cef_callback.h ├── cef_client.h ├── cef_command_handler.h ├── cef_command_line.h ├── cef_context_menu_handler.h ├── cef_cookie.h ├── cef_crash_util.h ├── cef_devtools_message_observer.h ├── cef_dialog_handler.h ├── cef_display_handler.h ├── cef_dom.h ├── cef_download_handler.h ├── cef_download_item.h ├── cef_drag_data.h ├── cef_drag_handler.h ├── cef_extension.h ├── cef_extension_handler.h ├── cef_file_util.h ├── cef_find_handler.h ├── cef_focus_handler.h ├── cef_frame.h ├── cef_frame_handler.h ├── cef_i18n_util.h ├── cef_image.h ├── cef_jsdialog_handler.h ├── cef_keyboard_handler.h ├── cef_life_span_handler.h ├── cef_load_handler.h ├── cef_media_router.h ├── cef_menu_model.h ├── cef_menu_model_delegate.h ├── cef_navigation_entry.h ├── cef_origin_whitelist.h ├── cef_parser.h ├── cef_path_util.h ├── cef_print_handler.h ├── cef_print_settings.h ├── cef_process_message.h ├── cef_process_util.h ├── cef_registration.h ├── cef_render_handler.h ├── cef_render_process_handler.h ├── cef_request.h ├── cef_request_context.h ├── cef_request_context_handler.h ├── cef_request_handler.h ├── cef_resource_bundle.h ├── cef_resource_bundle_handler.h ├── cef_resource_handler.h ├── cef_resource_request_handler.h ├── cef_response.h ├── cef_response_filter.h ├── cef_sandbox_mac.h ├── cef_sandbox_win.h ├── cef_scheme.h ├── cef_server.h ├── cef_ssl_info.h ├── cef_ssl_status.h ├── cef_stream.h ├── cef_string_visitor.h ├── cef_task.h ├── cef_thread.h ├── cef_trace.h ├── cef_urlrequest.h ├── cef_v8.h ├── cef_values.h ├── cef_waitable_event.h ├── cef_x509_certificate.h ├── cef_xml_reader.h ├── cef_zip_reader.h ├── internal │ ├── cef_export.h │ ├── cef_linux.h │ ├── cef_logging_internal.h │ ├── cef_mac.h │ ├── cef_ptr.h │ ├── cef_string.h │ ├── cef_string_list.h │ ├── cef_string_map.h │ ├── cef_string_multimap.h │ ├── cef_string_types.h │ ├── cef_string_wrappers.h │ ├── cef_thread_internal.h │ ├── cef_time.h │ ├── cef_trace_event_internal.h │ ├── cef_types.h │ ├── cef_types_geometry.h │ ├── cef_types_linux.h │ ├── cef_types_mac.h │ ├── cef_types_win.h │ ├── cef_types_wrappers.h │ └── cef_win.h ├── test │ ├── cef_test_helpers.h │ └── cef_translator_test.h ├── views │ ├── cef_box_layout.h │ ├── cef_browser_view.h │ ├── cef_browser_view_delegate.h │ ├── cef_button.h │ ├── cef_button_delegate.h │ ├── cef_display.h │ ├── cef_fill_layout.h │ ├── cef_label_button.h │ ├── cef_layout.h │ ├── cef_menu_button.h │ ├── cef_menu_button_delegate.h │ ├── cef_overlay_controller.h │ ├── cef_panel.h │ ├── cef_panel_delegate.h │ ├── cef_scroll_view.h │ ├── cef_textfield.h │ ├── cef_textfield_delegate.h │ ├── cef_view.h │ ├── cef_view_delegate.h │ ├── cef_window.h │ └── cef_window_delegate.h └── wrapper │ ├── cef_byte_read_handler.h │ ├── cef_closure_task.h │ ├── cef_helpers.h │ ├── cef_library_loader.h │ ├── cef_message_router.h │ ├── cef_resource_manager.h │ ├── cef_scoped_temp_dir.h │ ├── cef_stream_resource_handler.h │ ├── cef_xml_object.h │ └── cef_zip_archive.h ├── libcef ├── browser │ ├── alloy │ │ ├── alloy_browser_context.cc │ │ ├── alloy_browser_context.h │ │ ├── alloy_browser_host_impl.cc │ │ ├── alloy_browser_host_impl.h │ │ ├── alloy_browser_main.cc │ │ ├── alloy_browser_main.h │ │ ├── alloy_browser_main_win.cc │ │ ├── alloy_content_browser_client.cc │ │ ├── alloy_content_browser_client.h │ │ ├── alloy_download_util.cc │ │ ├── alloy_download_util.h │ │ ├── browser_platform_delegate_alloy.cc │ │ ├── browser_platform_delegate_alloy.h │ │ ├── chrome_browser_process_alloy.cc │ │ ├── chrome_browser_process_alloy.h │ │ ├── chrome_profile_alloy.cc │ │ ├── chrome_profile_alloy.h │ │ ├── chrome_profile_manager_alloy.cc │ │ └── chrome_profile_manager_alloy.h │ ├── audio_capturer.cc │ ├── audio_capturer.h │ ├── audio_loopback_stream_creator.cc │ ├── audio_loopback_stream_creator.h │ ├── browser_contents_delegate.cc │ ├── browser_contents_delegate.h │ ├── browser_context.cc │ ├── browser_context.h │ ├── browser_context_keyed_service_factories.cc │ ├── browser_context_keyed_service_factories.h │ ├── browser_frame.cc │ ├── browser_frame.h │ ├── browser_host_base.cc │ ├── browser_host_base.h │ ├── browser_host_create.cc │ ├── browser_info.cc │ ├── browser_info.h │ ├── browser_info_manager.cc │ ├── browser_info_manager.h │ ├── browser_manager.cc │ ├── browser_manager.h │ ├── browser_message_loop.cc │ ├── browser_message_loop.h │ ├── browser_platform_delegate.cc │ ├── browser_platform_delegate.h │ ├── browser_platform_delegate_create.cc │ ├── browser_util.cc │ ├── browser_util.h │ ├── chrome │ │ ├── browser_delegate.h │ │ ├── browser_platform_delegate_chrome.cc │ │ ├── browser_platform_delegate_chrome.h │ │ ├── chrome_browser_context.cc │ │ ├── chrome_browser_context.h │ │ ├── chrome_browser_delegate.cc │ │ ├── chrome_browser_delegate.h │ │ ├── chrome_browser_host_impl.cc │ │ ├── chrome_browser_host_impl.h │ │ ├── chrome_browser_main_extra_parts_cef.cc │ │ ├── chrome_browser_main_extra_parts_cef.h │ │ ├── chrome_content_browser_client_cef.cc │ │ ├── chrome_content_browser_client_cef.h │ │ ├── chrome_context_menu_handler.cc │ │ ├── chrome_context_menu_handler.h │ │ ├── extensions │ │ │ ├── chrome_mime_handler_view_guest_delegate_cef.cc │ │ │ └── chrome_mime_handler_view_guest_delegate_cef.h │ │ └── views │ │ │ ├── browser_platform_delegate_chrome_child_window.cc │ │ │ ├── browser_platform_delegate_chrome_child_window.h │ │ │ ├── browser_platform_delegate_chrome_views.cc │ │ │ ├── browser_platform_delegate_chrome_views.h │ │ │ ├── chrome_browser_frame.cc │ │ │ ├── chrome_browser_frame.h │ │ │ ├── chrome_browser_view.cc │ │ │ ├── chrome_browser_view.h │ │ │ ├── chrome_child_window.cc │ │ │ ├── chrome_child_window.h │ │ │ ├── chrome_views_util.cc │ │ │ ├── chrome_views_util.h │ │ │ ├── toolbar_view_impl.cc │ │ │ ├── toolbar_view_impl.h │ │ │ ├── toolbar_view_view.cc │ │ │ └── toolbar_view_view.h │ ├── chrome_crash_reporter_client_stub.cc │ ├── context.cc │ ├── context.h │ ├── context_menu_params_impl.cc │ ├── context_menu_params_impl.h │ ├── devtools │ │ ├── devtools_controller.cc │ │ ├── devtools_controller.h │ │ ├── devtools_file_manager.cc │ │ ├── devtools_file_manager.h │ │ ├── devtools_frontend.cc │ │ ├── devtools_frontend.h │ │ ├── devtools_manager.cc │ │ ├── devtools_manager.h │ │ ├── devtools_manager_delegate.cc │ │ ├── devtools_manager_delegate.h │ │ ├── devtools_util.cc │ │ ├── devtools_util.h │ │ └── devtools_util_unittest.cc │ ├── download_item_impl.cc │ ├── download_item_impl.h │ ├── download_manager_delegate.cc │ ├── download_manager_delegate.h │ ├── extension_impl.cc │ ├── extension_impl.h │ ├── extensions │ │ ├── alloy_extensions_util.cc │ │ ├── alloy_extensions_util.h │ │ ├── api │ │ │ ├── file_system │ │ │ │ ├── cef_file_system_delegate.cc │ │ │ │ └── cef_file_system_delegate.h │ │ │ ├── storage │ │ │ │ ├── sync_value_store_cache.cc │ │ │ │ └── sync_value_store_cache.h │ │ │ └── tabs │ │ │ │ ├── tabs_api.cc │ │ │ │ └── tabs_api.h │ │ ├── browser_extensions_util.cc │ │ ├── browser_extensions_util.h │ │ ├── browser_platform_delegate_background.cc │ │ ├── browser_platform_delegate_background.h │ │ ├── chrome_api_registration.cc │ │ ├── chrome_api_registration.h │ │ ├── component_extension_resource_manager.cc │ │ ├── component_extension_resource_manager.h │ │ ├── extension_background_host.cc │ │ ├── extension_background_host.h │ │ ├── extension_function_details.cc │ │ ├── extension_function_details.h │ │ ├── extension_host_delegate.cc │ │ ├── extension_host_delegate.h │ │ ├── extension_system.cc │ │ ├── extension_system.h │ │ ├── extension_system_factory.cc │ │ ├── extension_system_factory.h │ │ ├── extension_view_host.cc │ │ ├── extension_view_host.h │ │ ├── extension_web_contents_observer.cc │ │ ├── extension_web_contents_observer.h │ │ ├── extensions_api_client.cc │ │ ├── extensions_api_client.h │ │ ├── extensions_browser_api_provider.cc │ │ ├── extensions_browser_api_provider.h │ │ ├── extensions_browser_client.cc │ │ ├── extensions_browser_client.h │ │ ├── mime_handler_view_guest_delegate.cc │ │ ├── mime_handler_view_guest_delegate.h │ │ └── value_store │ │ │ ├── cef_value_store.cc │ │ │ ├── cef_value_store.h │ │ │ ├── cef_value_store_factory.cc │ │ │ └── cef_value_store_factory.h │ ├── file_dialog_manager.cc │ ├── file_dialog_manager.h │ ├── file_dialog_runner.cc │ ├── file_dialog_runner.h │ ├── frame_host_impl.cc │ ├── frame_host_impl.h │ ├── frame_service_base.h │ ├── gpu │ │ ├── external_texture_manager.cc │ │ └── external_texture_manager.h │ ├── image_impl.cc │ ├── image_impl.h │ ├── iothread_state.cc │ ├── iothread_state.h │ ├── javascript_dialog_manager.cc │ ├── javascript_dialog_manager.h │ ├── javascript_dialog_runner.h │ ├── main_runner.cc │ ├── main_runner.h │ ├── media_capture_devices_dispatcher.cc │ ├── media_capture_devices_dispatcher.h │ ├── media_router │ │ ├── media_route_impl.cc │ │ ├── media_route_impl.h │ │ ├── media_router_impl.cc │ │ ├── media_router_impl.h │ │ ├── media_router_manager.cc │ │ ├── media_router_manager.h │ │ ├── media_sink_impl.cc │ │ ├── media_sink_impl.h │ │ ├── media_source_impl.cc │ │ └── media_source_impl.h │ ├── menu_manager.cc │ ├── menu_manager.h │ ├── menu_model_impl.cc │ ├── menu_model_impl.h │ ├── menu_runner.h │ ├── native │ │ ├── browser_platform_delegate_native.cc │ │ ├── browser_platform_delegate_native.h │ │ ├── browser_platform_delegate_native_aura.cc │ │ ├── browser_platform_delegate_native_aura.h │ │ ├── browser_platform_delegate_native_linux.cc │ │ ├── browser_platform_delegate_native_linux.h │ │ ├── browser_platform_delegate_native_mac.h │ │ ├── browser_platform_delegate_native_mac.mm │ │ ├── browser_platform_delegate_native_win.cc │ │ ├── browser_platform_delegate_native_win.h │ │ ├── cursor_util.cc │ │ ├── cursor_util.h │ │ ├── cursor_util_linux.cc │ │ ├── cursor_util_win.cc │ │ ├── javascript_dialog_runner_mac.h │ │ ├── javascript_dialog_runner_mac.mm │ │ ├── javascript_dialog_runner_win.cc │ │ ├── javascript_dialog_runner_win.h │ │ ├── menu_runner_mac.h │ │ ├── menu_runner_mac.mm │ │ ├── menu_runner_views_aura.cc │ │ ├── menu_runner_views_aura.h │ │ ├── window_delegate_view.cc │ │ ├── window_delegate_view.h │ │ ├── window_x11.cc │ │ └── window_x11.h │ ├── navigation_entry_impl.cc │ ├── navigation_entry_impl.h │ ├── net │ │ ├── chrome_scheme_handler.cc │ │ ├── chrome_scheme_handler.h │ │ ├── crlset_file_util_impl.cc │ │ ├── devtools_scheme_handler.cc │ │ ├── devtools_scheme_handler.h │ │ ├── internal_scheme_handler.cc │ │ ├── internal_scheme_handler.h │ │ ├── scheme_handler.cc │ │ ├── scheme_handler.h │ │ ├── throttle_handler.cc │ │ └── throttle_handler.h │ ├── net_service │ │ ├── browser_urlrequest_impl.cc │ │ ├── browser_urlrequest_impl.h │ │ ├── cookie_helper.cc │ │ ├── cookie_helper.h │ │ ├── cookie_manager_impl.cc │ │ ├── cookie_manager_impl.h │ │ ├── login_delegate.cc │ │ ├── login_delegate.h │ │ ├── proxy_url_loader_factory.cc │ │ ├── proxy_url_loader_factory.h │ │ ├── resource_handler_wrapper.cc │ │ ├── resource_handler_wrapper.h │ │ ├── resource_request_handler_wrapper.cc │ │ ├── resource_request_handler_wrapper.h │ │ ├── response_filter_wrapper.cc │ │ ├── response_filter_wrapper.h │ │ ├── stream_reader_url_loader.cc │ │ ├── stream_reader_url_loader.h │ │ ├── url_loader_factory_getter.cc │ │ └── url_loader_factory_getter.h │ ├── origin_whitelist_impl.cc │ ├── origin_whitelist_impl.h │ ├── osr │ │ ├── BUILD.gn │ │ ├── browser_platform_delegate_osr.cc │ │ ├── browser_platform_delegate_osr.h │ │ ├── browser_platform_delegate_osr_linux.cc │ │ ├── browser_platform_delegate_osr_linux.h │ │ ├── browser_platform_delegate_osr_mac.h │ │ ├── browser_platform_delegate_osr_mac.mm │ │ ├── browser_platform_delegate_osr_win.cc │ │ ├── browser_platform_delegate_osr_win.h │ │ ├── external_renderer_updater.mojom │ │ ├── gl_output_surface_external.cc │ │ ├── gl_output_surface_external.h │ │ ├── host_display_client_osr.cc │ │ ├── host_display_client_osr.h │ │ ├── motion_event_osr.cc │ │ ├── motion_event_osr.h │ │ ├── osr_accessibility_util.cc │ │ ├── osr_accessibility_util.h │ │ ├── osr_util.cc │ │ ├── osr_util.h │ │ ├── render_widget_host_view_osr.cc │ │ ├── render_widget_host_view_osr.h │ │ ├── software_output_device_proxy.cc │ │ ├── software_output_device_proxy.h │ │ ├── synthetic_gesture_target_osr.cc │ │ ├── synthetic_gesture_target_osr.h │ │ ├── video_consumer_osr.cc │ │ ├── video_consumer_osr.h │ │ ├── web_contents_view_osr.cc │ │ └── web_contents_view_osr.h │ ├── path_util_impl.cc │ ├── prefs │ │ ├── browser_prefs.cc │ │ ├── browser_prefs.h │ │ ├── pref_store.cc │ │ ├── pref_store.h │ │ ├── renderer_prefs.cc │ │ └── renderer_prefs.h │ ├── print_settings_impl.cc │ ├── print_settings_impl.h │ ├── printing │ │ ├── constrained_window_views_client.cc │ │ ├── constrained_window_views_client.h │ │ ├── print_dialog_linux.cc │ │ ├── print_dialog_linux.h │ │ ├── print_view_manager.cc │ │ └── print_view_manager.h │ ├── process_util_impl.cc │ ├── request_context_handler_map.cc │ ├── request_context_handler_map.h │ ├── request_context_impl.cc │ ├── request_context_impl.h │ ├── scheme_impl.cc │ ├── server_impl.cc │ ├── server_impl.h │ ├── simple_menu_model_impl.cc │ ├── simple_menu_model_impl.h │ ├── speech_recognition_manager_delegate.cc │ ├── speech_recognition_manager_delegate.h │ ├── ssl_host_state_delegate.cc │ ├── ssl_host_state_delegate.h │ ├── ssl_info_impl.cc │ ├── ssl_info_impl.h │ ├── ssl_status_impl.cc │ ├── ssl_status_impl.h │ ├── stream_impl.cc │ ├── stream_impl.h │ ├── thread_util.h │ ├── trace_impl.cc │ ├── trace_subscriber.cc │ ├── trace_subscriber.h │ ├── views │ │ ├── basic_label_button_impl.cc │ │ ├── basic_label_button_impl.h │ │ ├── basic_label_button_view.cc │ │ ├── basic_label_button_view.h │ │ ├── basic_panel_impl.cc │ │ ├── basic_panel_impl.h │ │ ├── basic_panel_view.cc │ │ ├── basic_panel_view.h │ │ ├── box_layout_impl.cc │ │ ├── box_layout_impl.h │ │ ├── browser_platform_delegate_views.cc │ │ ├── browser_platform_delegate_views.h │ │ ├── browser_view_impl.cc │ │ ├── browser_view_impl.h │ │ ├── browser_view_view.cc │ │ ├── browser_view_view.h │ │ ├── button_impl.h │ │ ├── button_view.h │ │ ├── display_impl.cc │ │ ├── display_impl.h │ │ ├── fill_layout_impl.cc │ │ ├── fill_layout_impl.h │ │ ├── label_button_impl.h │ │ ├── label_button_view.h │ │ ├── layout_adapter.cc │ │ ├── layout_adapter.h │ │ ├── layout_impl.h │ │ ├── layout_util.cc │ │ ├── layout_util.h │ │ ├── menu_button_impl.cc │ │ ├── menu_button_impl.h │ │ ├── menu_button_view.cc │ │ ├── menu_button_view.h │ │ ├── menu_runner_views.cc │ │ ├── menu_runner_views.h │ │ ├── overlay_view_host.cc │ │ ├── overlay_view_host.h │ │ ├── panel_impl.h │ │ ├── panel_view.h │ │ ├── scroll_view_impl.cc │ │ ├── scroll_view_impl.h │ │ ├── scroll_view_view.cc │ │ ├── scroll_view_view.h │ │ ├── textfield_impl.cc │ │ ├── textfield_impl.h │ │ ├── textfield_view.cc │ │ ├── textfield_view.h │ │ ├── view_adapter.cc │ │ ├── view_adapter.h │ │ ├── view_impl.h │ │ ├── view_util.cc │ │ ├── view_util.h │ │ ├── view_util_aura.cc │ │ ├── view_util_mac.mm │ │ ├── view_view.h │ │ ├── window_impl.cc │ │ ├── window_impl.h │ │ ├── window_view.cc │ │ └── window_view.h │ ├── web_contents_dialog_helper.cc │ ├── web_contents_dialog_helper.h │ ├── x509_cert_principal_impl.cc │ ├── x509_cert_principal_impl.h │ ├── x509_certificate_impl.cc │ ├── x509_certificate_impl.h │ ├── xml_reader_impl.cc │ ├── xml_reader_impl.h │ ├── zip_reader_impl.cc │ └── zip_reader_impl.h ├── common │ ├── alloy │ │ ├── alloy_content_client.cc │ │ ├── alloy_content_client.h │ │ ├── alloy_main_delegate.cc │ │ ├── alloy_main_delegate.h │ │ ├── alloy_main_runner_delegate.cc │ │ └── alloy_main_runner_delegate.h │ ├── app_manager.cc │ ├── app_manager.h │ ├── base_impl.cc │ ├── cef_crash_report_upload_thread.cc │ ├── cef_crash_report_upload_thread.h │ ├── cef_crash_report_utils.cc │ ├── cef_crash_report_utils.h │ ├── cef_switches.cc │ ├── cef_switches.h │ ├── chrome │ │ ├── chrome_content_client_cef.cc │ │ ├── chrome_content_client_cef.h │ │ ├── chrome_main_delegate_cef.cc │ │ ├── chrome_main_delegate_cef.h │ │ ├── chrome_main_runner_delegate.cc │ │ └── chrome_main_runner_delegate.h │ ├── command_line_impl.cc │ ├── command_line_impl.h │ ├── crash_reporter_client.cc │ ├── crash_reporter_client.h │ ├── crash_reporting.cc │ ├── crash_reporting.h │ ├── drag_data_impl.cc │ ├── drag_data_impl.h │ ├── extensions │ │ ├── api │ │ │ ├── BUILD.gn │ │ │ ├── README.txt │ │ │ ├── _api_features.json │ │ │ └── _permission_features.json │ │ ├── chrome_generated_schemas.cc │ │ ├── chrome_generated_schemas.h │ │ ├── extensions_api_provider.cc │ │ ├── extensions_api_provider.h │ │ ├── extensions_client.cc │ │ ├── extensions_client.h │ │ ├── extensions_util.cc │ │ └── extensions_util.h │ ├── file_util_impl.cc │ ├── frame_util.cc │ ├── frame_util.h │ ├── i18n_util_impl.cc │ ├── json_impl.cc │ ├── main_runner_delegate.h │ ├── main_runner_handler.h │ ├── mojom │ │ ├── BUILD.gn │ │ └── cef.mojom │ ├── net │ │ ├── http_header_utils.cc │ │ ├── http_header_utils.h │ │ ├── net_resource_provider.cc │ │ ├── net_resource_provider.h │ │ ├── scheme_info.h │ │ ├── scheme_registration.cc │ │ ├── scheme_registration.h │ │ ├── url_util.cc │ │ └── url_util.h │ ├── net_service │ │ ├── net_service_util.cc │ │ └── net_service_util.h │ ├── parser_impl.cc │ ├── process_message_impl.cc │ ├── process_message_impl.h │ ├── request_impl.cc │ ├── request_impl.h │ ├── resource_bundle_delegate.cc │ ├── resource_bundle_delegate.h │ ├── resource_bundle_impl.cc │ ├── resource_bundle_impl.h │ ├── resource_util.cc │ ├── resource_util.h │ ├── response_impl.cc │ ├── response_impl.h │ ├── scheme_registrar_impl.cc │ ├── scheme_registrar_impl.h │ ├── string_list_impl.cc │ ├── string_map_impl.cc │ ├── string_multimap_impl.cc │ ├── string_types_impl.cc │ ├── string_util.cc │ ├── string_util.h │ ├── task_impl.cc │ ├── task_runner_impl.cc │ ├── task_runner_impl.h │ ├── task_runner_manager.cc │ ├── task_runner_manager.h │ ├── test │ │ └── translator_test_impl.cc │ ├── thread_impl.cc │ ├── thread_impl.h │ ├── time_impl.cc │ ├── time_util.h │ ├── tracker.cc │ ├── tracker.h │ ├── urlrequest_impl.cc │ ├── util_linux.cc │ ├── util_linux.h │ ├── util_mac.h │ ├── util_mac.mm │ ├── value_base.cc │ ├── value_base.h │ ├── values_impl.cc │ ├── values_impl.h │ ├── waitable_event_impl.cc │ └── waitable_event_impl.h ├── features │ ├── BUILD.gn │ ├── features.gni │ ├── runtime.h │ └── runtime_checks.h ├── renderer │ ├── alloy │ │ ├── alloy_content_renderer_client.cc │ │ ├── alloy_content_renderer_client.h │ │ ├── alloy_render_thread_observer.cc │ │ ├── alloy_render_thread_observer.h │ │ ├── url_loader_throttle_provider_impl.cc │ │ └── url_loader_throttle_provider_impl.h │ ├── blink_glue.cc │ ├── blink_glue.h │ ├── browser_impl.cc │ ├── browser_impl.h │ ├── chrome │ │ ├── chrome_content_renderer_client_cef.cc │ │ └── chrome_content_renderer_client_cef.h │ ├── dom_document_impl.cc │ ├── dom_document_impl.h │ ├── dom_node_impl.cc │ ├── dom_node_impl.h │ ├── extensions │ │ ├── extensions_dispatcher_delegate.cc │ │ ├── extensions_dispatcher_delegate.h │ │ ├── extensions_renderer_client.cc │ │ ├── extensions_renderer_client.h │ │ ├── print_render_frame_helper_delegate.cc │ │ └── print_render_frame_helper_delegate.h │ ├── frame_impl.cc │ ├── frame_impl.h │ ├── render_frame_observer.cc │ ├── render_frame_observer.h │ ├── render_frame_util.cc │ ├── render_frame_util.h │ ├── render_manager.cc │ ├── render_manager.h │ ├── render_urlrequest_impl.cc │ ├── render_urlrequest_impl.h │ ├── thread_util.h │ ├── v8_impl.cc │ └── v8_impl.h └── resources │ ├── about_version.html │ ├── cef_resources.grd │ ├── cef_strings.grd │ ├── devtools_discovery_page.html │ └── framework-Info.plist ├── libcef_dll ├── CMakeLists.txt.in ├── base │ ├── cef_atomic_flag.cc │ ├── cef_callback_helpers.cc │ ├── cef_callback_internal.cc │ ├── cef_lock.cc │ ├── cef_lock_impl.cc │ ├── cef_logging.cc │ ├── cef_ref_counted.cc │ ├── cef_thread_checker_impl.cc │ └── cef_weak_ptr.cc ├── cpptoc │ ├── accessibility_handler_cpptoc.cc │ ├── accessibility_handler_cpptoc.h │ ├── app_cpptoc.cc │ ├── app_cpptoc.h │ ├── audio_handler_cpptoc.cc │ ├── audio_handler_cpptoc.h │ ├── auth_callback_cpptoc.cc │ ├── auth_callback_cpptoc.h │ ├── base_ref_counted_cpptoc.cc │ ├── base_ref_counted_cpptoc.h │ ├── base_scoped_cpptoc.cc │ ├── base_scoped_cpptoc.h │ ├── before_download_callback_cpptoc.cc │ ├── before_download_callback_cpptoc.h │ ├── binary_value_cpptoc.cc │ ├── binary_value_cpptoc.h │ ├── browser_cpptoc.cc │ ├── browser_cpptoc.h │ ├── browser_host_cpptoc.cc │ ├── browser_host_cpptoc.h │ ├── browser_process_handler_cpptoc.cc │ ├── browser_process_handler_cpptoc.h │ ├── callback_cpptoc.cc │ ├── callback_cpptoc.h │ ├── client_cpptoc.cc │ ├── client_cpptoc.h │ ├── command_handler_cpptoc.cc │ ├── command_handler_cpptoc.h │ ├── command_line_cpptoc.cc │ ├── command_line_cpptoc.h │ ├── completion_callback_cpptoc.cc │ ├── completion_callback_cpptoc.h │ ├── context_menu_handler_cpptoc.cc │ ├── context_menu_handler_cpptoc.h │ ├── context_menu_params_cpptoc.cc │ ├── context_menu_params_cpptoc.h │ ├── cookie_access_filter_cpptoc.cc │ ├── cookie_access_filter_cpptoc.h │ ├── cookie_manager_cpptoc.cc │ ├── cookie_manager_cpptoc.h │ ├── cookie_visitor_cpptoc.cc │ ├── cookie_visitor_cpptoc.h │ ├── cpptoc_ref_counted.h │ ├── cpptoc_scoped.h │ ├── delete_cookies_callback_cpptoc.cc │ ├── delete_cookies_callback_cpptoc.h │ ├── dev_tools_message_observer_cpptoc.cc │ ├── dev_tools_message_observer_cpptoc.h │ ├── dialog_handler_cpptoc.cc │ ├── dialog_handler_cpptoc.h │ ├── dictionary_value_cpptoc.cc │ ├── dictionary_value_cpptoc.h │ ├── display_handler_cpptoc.cc │ ├── display_handler_cpptoc.h │ ├── domdocument_cpptoc.cc │ ├── domdocument_cpptoc.h │ ├── domnode_cpptoc.cc │ ├── domnode_cpptoc.h │ ├── domvisitor_cpptoc.cc │ ├── domvisitor_cpptoc.h │ ├── download_handler_cpptoc.cc │ ├── download_handler_cpptoc.h │ ├── download_image_callback_cpptoc.cc │ ├── download_image_callback_cpptoc.h │ ├── download_item_callback_cpptoc.cc │ ├── download_item_callback_cpptoc.h │ ├── download_item_cpptoc.cc │ ├── download_item_cpptoc.h │ ├── drag_data_cpptoc.cc │ ├── drag_data_cpptoc.h │ ├── drag_handler_cpptoc.cc │ ├── drag_handler_cpptoc.h │ ├── end_tracing_callback_cpptoc.cc │ ├── end_tracing_callback_cpptoc.h │ ├── extension_cpptoc.cc │ ├── extension_cpptoc.h │ ├── extension_handler_cpptoc.cc │ ├── extension_handler_cpptoc.h │ ├── file_dialog_callback_cpptoc.cc │ ├── file_dialog_callback_cpptoc.h │ ├── find_handler_cpptoc.cc │ ├── find_handler_cpptoc.h │ ├── focus_handler_cpptoc.cc │ ├── focus_handler_cpptoc.h │ ├── frame_cpptoc.cc │ ├── frame_cpptoc.h │ ├── frame_handler_cpptoc.cc │ ├── frame_handler_cpptoc.h │ ├── get_extension_resource_callback_cpptoc.cc │ ├── get_extension_resource_callback_cpptoc.h │ ├── image_cpptoc.cc │ ├── image_cpptoc.h │ ├── jsdialog_callback_cpptoc.cc │ ├── jsdialog_callback_cpptoc.h │ ├── jsdialog_handler_cpptoc.cc │ ├── jsdialog_handler_cpptoc.h │ ├── keyboard_handler_cpptoc.cc │ ├── keyboard_handler_cpptoc.h │ ├── life_span_handler_cpptoc.cc │ ├── life_span_handler_cpptoc.h │ ├── list_value_cpptoc.cc │ ├── list_value_cpptoc.h │ ├── load_handler_cpptoc.cc │ ├── load_handler_cpptoc.h │ ├── media_observer_cpptoc.cc │ ├── media_observer_cpptoc.h │ ├── media_route_cpptoc.cc │ ├── media_route_cpptoc.h │ ├── media_route_create_callback_cpptoc.cc │ ├── media_route_create_callback_cpptoc.h │ ├── media_router_cpptoc.cc │ ├── media_router_cpptoc.h │ ├── media_sink_cpptoc.cc │ ├── media_sink_cpptoc.h │ ├── media_sink_device_info_callback_cpptoc.cc │ ├── media_sink_device_info_callback_cpptoc.h │ ├── media_source_cpptoc.cc │ ├── media_source_cpptoc.h │ ├── menu_model_cpptoc.cc │ ├── menu_model_cpptoc.h │ ├── menu_model_delegate_cpptoc.cc │ ├── menu_model_delegate_cpptoc.h │ ├── navigation_entry_cpptoc.cc │ ├── navigation_entry_cpptoc.h │ ├── navigation_entry_visitor_cpptoc.cc │ ├── navigation_entry_visitor_cpptoc.h │ ├── pdf_print_callback_cpptoc.cc │ ├── pdf_print_callback_cpptoc.h │ ├── post_data_cpptoc.cc │ ├── post_data_cpptoc.h │ ├── post_data_element_cpptoc.cc │ ├── post_data_element_cpptoc.h │ ├── print_dialog_callback_cpptoc.cc │ ├── print_dialog_callback_cpptoc.h │ ├── print_handler_cpptoc.cc │ ├── print_handler_cpptoc.h │ ├── print_job_callback_cpptoc.cc │ ├── print_job_callback_cpptoc.h │ ├── print_settings_cpptoc.cc │ ├── print_settings_cpptoc.h │ ├── process_message_cpptoc.cc │ ├── process_message_cpptoc.h │ ├── read_handler_cpptoc.cc │ ├── read_handler_cpptoc.h │ ├── registration_cpptoc.cc │ ├── registration_cpptoc.h │ ├── render_handler_cpptoc.cc │ ├── render_handler_cpptoc.h │ ├── render_process_handler_cpptoc.cc │ ├── render_process_handler_cpptoc.h │ ├── request_context_cpptoc.cc │ ├── request_context_cpptoc.h │ ├── request_context_handler_cpptoc.cc │ ├── request_context_handler_cpptoc.h │ ├── request_cpptoc.cc │ ├── request_cpptoc.h │ ├── request_handler_cpptoc.cc │ ├── request_handler_cpptoc.h │ ├── resolve_callback_cpptoc.cc │ ├── resolve_callback_cpptoc.h │ ├── resource_bundle_cpptoc.cc │ ├── resource_bundle_cpptoc.h │ ├── resource_bundle_handler_cpptoc.cc │ ├── resource_bundle_handler_cpptoc.h │ ├── resource_handler_cpptoc.cc │ ├── resource_handler_cpptoc.h │ ├── resource_read_callback_cpptoc.cc │ ├── resource_read_callback_cpptoc.h │ ├── resource_request_handler_cpptoc.cc │ ├── resource_request_handler_cpptoc.h │ ├── resource_skip_callback_cpptoc.cc │ ├── resource_skip_callback_cpptoc.h │ ├── response_cpptoc.cc │ ├── response_cpptoc.h │ ├── response_filter_cpptoc.cc │ ├── response_filter_cpptoc.h │ ├── run_context_menu_callback_cpptoc.cc │ ├── run_context_menu_callback_cpptoc.h │ ├── run_file_dialog_callback_cpptoc.cc │ ├── run_file_dialog_callback_cpptoc.h │ ├── scheme_handler_factory_cpptoc.cc │ ├── scheme_handler_factory_cpptoc.h │ ├── scheme_registrar_cpptoc.cc │ ├── scheme_registrar_cpptoc.h │ ├── select_client_certificate_callback_cpptoc.cc │ ├── select_client_certificate_callback_cpptoc.h │ ├── server_cpptoc.cc │ ├── server_cpptoc.h │ ├── server_handler_cpptoc.cc │ ├── server_handler_cpptoc.h │ ├── set_cookie_callback_cpptoc.cc │ ├── set_cookie_callback_cpptoc.h │ ├── sslinfo_cpptoc.cc │ ├── sslinfo_cpptoc.h │ ├── sslstatus_cpptoc.cc │ ├── sslstatus_cpptoc.h │ ├── stream_reader_cpptoc.cc │ ├── stream_reader_cpptoc.h │ ├── stream_writer_cpptoc.cc │ ├── stream_writer_cpptoc.h │ ├── string_visitor_cpptoc.cc │ ├── string_visitor_cpptoc.h │ ├── task_cpptoc.cc │ ├── task_cpptoc.h │ ├── task_runner_cpptoc.cc │ ├── task_runner_cpptoc.h │ ├── test │ │ ├── translator_test_cpptoc.cc │ │ ├── translator_test_cpptoc.h │ │ ├── translator_test_ref_ptr_client_child_cpptoc.cc │ │ ├── translator_test_ref_ptr_client_child_cpptoc.h │ │ ├── translator_test_ref_ptr_client_cpptoc.cc │ │ ├── translator_test_ref_ptr_client_cpptoc.h │ │ ├── translator_test_ref_ptr_library_child_child_cpptoc.cc │ │ ├── translator_test_ref_ptr_library_child_child_cpptoc.h │ │ ├── translator_test_ref_ptr_library_child_cpptoc.cc │ │ ├── translator_test_ref_ptr_library_child_cpptoc.h │ │ ├── translator_test_ref_ptr_library_cpptoc.cc │ │ ├── translator_test_ref_ptr_library_cpptoc.h │ │ ├── translator_test_scoped_client_child_cpptoc.cc │ │ ├── translator_test_scoped_client_child_cpptoc.h │ │ ├── translator_test_scoped_client_cpptoc.cc │ │ ├── translator_test_scoped_client_cpptoc.h │ │ ├── translator_test_scoped_library_child_child_cpptoc.cc │ │ ├── translator_test_scoped_library_child_child_cpptoc.h │ │ ├── translator_test_scoped_library_child_cpptoc.cc │ │ ├── translator_test_scoped_library_child_cpptoc.h │ │ ├── translator_test_scoped_library_cpptoc.cc │ │ └── translator_test_scoped_library_cpptoc.h │ ├── thread_cpptoc.cc │ ├── thread_cpptoc.h │ ├── urlrequest_client_cpptoc.cc │ ├── urlrequest_client_cpptoc.h │ ├── urlrequest_cpptoc.cc │ ├── urlrequest_cpptoc.h │ ├── v8accessor_cpptoc.cc │ ├── v8accessor_cpptoc.h │ ├── v8array_buffer_release_callback_cpptoc.cc │ ├── v8array_buffer_release_callback_cpptoc.h │ ├── v8context_cpptoc.cc │ ├── v8context_cpptoc.h │ ├── v8exception_cpptoc.cc │ ├── v8exception_cpptoc.h │ ├── v8handler_cpptoc.cc │ ├── v8handler_cpptoc.h │ ├── v8interceptor_cpptoc.cc │ ├── v8interceptor_cpptoc.h │ ├── v8stack_frame_cpptoc.cc │ ├── v8stack_frame_cpptoc.h │ ├── v8stack_trace_cpptoc.cc │ ├── v8stack_trace_cpptoc.h │ ├── v8value_cpptoc.cc │ ├── v8value_cpptoc.h │ ├── value_cpptoc.cc │ ├── value_cpptoc.h │ ├── views │ │ ├── box_layout_cpptoc.cc │ │ ├── box_layout_cpptoc.h │ │ ├── browser_view_cpptoc.cc │ │ ├── browser_view_cpptoc.h │ │ ├── browser_view_delegate_cpptoc.cc │ │ ├── browser_view_delegate_cpptoc.h │ │ ├── button_cpptoc.cc │ │ ├── button_cpptoc.h │ │ ├── button_delegate_cpptoc.cc │ │ ├── button_delegate_cpptoc.h │ │ ├── display_cpptoc.cc │ │ ├── display_cpptoc.h │ │ ├── fill_layout_cpptoc.cc │ │ ├── fill_layout_cpptoc.h │ │ ├── label_button_cpptoc.cc │ │ ├── label_button_cpptoc.h │ │ ├── layout_cpptoc.cc │ │ ├── layout_cpptoc.h │ │ ├── menu_button_cpptoc.cc │ │ ├── menu_button_cpptoc.h │ │ ├── menu_button_delegate_cpptoc.cc │ │ ├── menu_button_delegate_cpptoc.h │ │ ├── menu_button_pressed_lock_cpptoc.cc │ │ ├── menu_button_pressed_lock_cpptoc.h │ │ ├── overlay_controller_cpptoc.cc │ │ ├── overlay_controller_cpptoc.h │ │ ├── panel_cpptoc.cc │ │ ├── panel_cpptoc.h │ │ ├── panel_delegate_cpptoc.cc │ │ ├── panel_delegate_cpptoc.h │ │ ├── scroll_view_cpptoc.cc │ │ ├── scroll_view_cpptoc.h │ │ ├── textfield_cpptoc.cc │ │ ├── textfield_cpptoc.h │ │ ├── textfield_delegate_cpptoc.cc │ │ ├── textfield_delegate_cpptoc.h │ │ ├── view_cpptoc.cc │ │ ├── view_cpptoc.h │ │ ├── view_delegate_cpptoc.cc │ │ ├── view_delegate_cpptoc.h │ │ ├── window_cpptoc.cc │ │ ├── window_cpptoc.h │ │ ├── window_delegate_cpptoc.cc │ │ └── window_delegate_cpptoc.h │ ├── waitable_event_cpptoc.cc │ ├── waitable_event_cpptoc.h │ ├── write_handler_cpptoc.cc │ ├── write_handler_cpptoc.h │ ├── x509cert_principal_cpptoc.cc │ ├── x509cert_principal_cpptoc.h │ ├── x509certificate_cpptoc.cc │ ├── x509certificate_cpptoc.h │ ├── xml_reader_cpptoc.cc │ ├── xml_reader_cpptoc.h │ ├── zip_reader_cpptoc.cc │ └── zip_reader_cpptoc.h ├── ctocpp │ ├── accessibility_handler_ctocpp.cc │ ├── accessibility_handler_ctocpp.h │ ├── app_ctocpp.cc │ ├── app_ctocpp.h │ ├── audio_handler_ctocpp.cc │ ├── audio_handler_ctocpp.h │ ├── auth_callback_ctocpp.cc │ ├── auth_callback_ctocpp.h │ ├── base_ref_counted_ctocpp.cc │ ├── base_ref_counted_ctocpp.h │ ├── base_scoped_ctocpp.cc │ ├── base_scoped_ctocpp.h │ ├── before_download_callback_ctocpp.cc │ ├── before_download_callback_ctocpp.h │ ├── binary_value_ctocpp.cc │ ├── binary_value_ctocpp.h │ ├── browser_ctocpp.cc │ ├── browser_ctocpp.h │ ├── browser_host_ctocpp.cc │ ├── browser_host_ctocpp.h │ ├── browser_process_handler_ctocpp.cc │ ├── browser_process_handler_ctocpp.h │ ├── callback_ctocpp.cc │ ├── callback_ctocpp.h │ ├── client_ctocpp.cc │ ├── client_ctocpp.h │ ├── command_handler_ctocpp.cc │ ├── command_handler_ctocpp.h │ ├── command_line_ctocpp.cc │ ├── command_line_ctocpp.h │ ├── completion_callback_ctocpp.cc │ ├── completion_callback_ctocpp.h │ ├── context_menu_handler_ctocpp.cc │ ├── context_menu_handler_ctocpp.h │ ├── context_menu_params_ctocpp.cc │ ├── context_menu_params_ctocpp.h │ ├── cookie_access_filter_ctocpp.cc │ ├── cookie_access_filter_ctocpp.h │ ├── cookie_manager_ctocpp.cc │ ├── cookie_manager_ctocpp.h │ ├── cookie_visitor_ctocpp.cc │ ├── cookie_visitor_ctocpp.h │ ├── ctocpp_ref_counted.h │ ├── ctocpp_scoped.h │ ├── delete_cookies_callback_ctocpp.cc │ ├── delete_cookies_callback_ctocpp.h │ ├── dev_tools_message_observer_ctocpp.cc │ ├── dev_tools_message_observer_ctocpp.h │ ├── dialog_handler_ctocpp.cc │ ├── dialog_handler_ctocpp.h │ ├── dictionary_value_ctocpp.cc │ ├── dictionary_value_ctocpp.h │ ├── display_handler_ctocpp.cc │ ├── display_handler_ctocpp.h │ ├── domdocument_ctocpp.cc │ ├── domdocument_ctocpp.h │ ├── domnode_ctocpp.cc │ ├── domnode_ctocpp.h │ ├── domvisitor_ctocpp.cc │ ├── domvisitor_ctocpp.h │ ├── download_handler_ctocpp.cc │ ├── download_handler_ctocpp.h │ ├── download_image_callback_ctocpp.cc │ ├── download_image_callback_ctocpp.h │ ├── download_item_callback_ctocpp.cc │ ├── download_item_callback_ctocpp.h │ ├── download_item_ctocpp.cc │ ├── download_item_ctocpp.h │ ├── drag_data_ctocpp.cc │ ├── drag_data_ctocpp.h │ ├── drag_handler_ctocpp.cc │ ├── drag_handler_ctocpp.h │ ├── end_tracing_callback_ctocpp.cc │ ├── end_tracing_callback_ctocpp.h │ ├── extension_ctocpp.cc │ ├── extension_ctocpp.h │ ├── extension_handler_ctocpp.cc │ ├── extension_handler_ctocpp.h │ ├── file_dialog_callback_ctocpp.cc │ ├── file_dialog_callback_ctocpp.h │ ├── find_handler_ctocpp.cc │ ├── find_handler_ctocpp.h │ ├── focus_handler_ctocpp.cc │ ├── focus_handler_ctocpp.h │ ├── frame_ctocpp.cc │ ├── frame_ctocpp.h │ ├── frame_handler_ctocpp.cc │ ├── frame_handler_ctocpp.h │ ├── get_extension_resource_callback_ctocpp.cc │ ├── get_extension_resource_callback_ctocpp.h │ ├── image_ctocpp.cc │ ├── image_ctocpp.h │ ├── jsdialog_callback_ctocpp.cc │ ├── jsdialog_callback_ctocpp.h │ ├── jsdialog_handler_ctocpp.cc │ ├── jsdialog_handler_ctocpp.h │ ├── keyboard_handler_ctocpp.cc │ ├── keyboard_handler_ctocpp.h │ ├── life_span_handler_ctocpp.cc │ ├── life_span_handler_ctocpp.h │ ├── list_value_ctocpp.cc │ ├── list_value_ctocpp.h │ ├── load_handler_ctocpp.cc │ ├── load_handler_ctocpp.h │ ├── media_observer_ctocpp.cc │ ├── media_observer_ctocpp.h │ ├── media_route_create_callback_ctocpp.cc │ ├── media_route_create_callback_ctocpp.h │ ├── media_route_ctocpp.cc │ ├── media_route_ctocpp.h │ ├── media_router_ctocpp.cc │ ├── media_router_ctocpp.h │ ├── media_sink_ctocpp.cc │ ├── media_sink_ctocpp.h │ ├── media_sink_device_info_callback_ctocpp.cc │ ├── media_sink_device_info_callback_ctocpp.h │ ├── media_source_ctocpp.cc │ ├── media_source_ctocpp.h │ ├── menu_model_ctocpp.cc │ ├── menu_model_ctocpp.h │ ├── menu_model_delegate_ctocpp.cc │ ├── menu_model_delegate_ctocpp.h │ ├── navigation_entry_ctocpp.cc │ ├── navigation_entry_ctocpp.h │ ├── navigation_entry_visitor_ctocpp.cc │ ├── navigation_entry_visitor_ctocpp.h │ ├── pdf_print_callback_ctocpp.cc │ ├── pdf_print_callback_ctocpp.h │ ├── post_data_ctocpp.cc │ ├── post_data_ctocpp.h │ ├── post_data_element_ctocpp.cc │ ├── post_data_element_ctocpp.h │ ├── print_dialog_callback_ctocpp.cc │ ├── print_dialog_callback_ctocpp.h │ ├── print_handler_ctocpp.cc │ ├── print_handler_ctocpp.h │ ├── print_job_callback_ctocpp.cc │ ├── print_job_callback_ctocpp.h │ ├── print_settings_ctocpp.cc │ ├── print_settings_ctocpp.h │ ├── process_message_ctocpp.cc │ ├── process_message_ctocpp.h │ ├── read_handler_ctocpp.cc │ ├── read_handler_ctocpp.h │ ├── registration_ctocpp.cc │ ├── registration_ctocpp.h │ ├── render_handler_ctocpp.cc │ ├── render_handler_ctocpp.h │ ├── render_process_handler_ctocpp.cc │ ├── render_process_handler_ctocpp.h │ ├── request_context_ctocpp.cc │ ├── request_context_ctocpp.h │ ├── request_context_handler_ctocpp.cc │ ├── request_context_handler_ctocpp.h │ ├── request_ctocpp.cc │ ├── request_ctocpp.h │ ├── request_handler_ctocpp.cc │ ├── request_handler_ctocpp.h │ ├── resolve_callback_ctocpp.cc │ ├── resolve_callback_ctocpp.h │ ├── resource_bundle_ctocpp.cc │ ├── resource_bundle_ctocpp.h │ ├── resource_bundle_handler_ctocpp.cc │ ├── resource_bundle_handler_ctocpp.h │ ├── resource_handler_ctocpp.cc │ ├── resource_handler_ctocpp.h │ ├── resource_read_callback_ctocpp.cc │ ├── resource_read_callback_ctocpp.h │ ├── resource_request_handler_ctocpp.cc │ ├── resource_request_handler_ctocpp.h │ ├── resource_skip_callback_ctocpp.cc │ ├── resource_skip_callback_ctocpp.h │ ├── response_ctocpp.cc │ ├── response_ctocpp.h │ ├── response_filter_ctocpp.cc │ ├── response_filter_ctocpp.h │ ├── run_context_menu_callback_ctocpp.cc │ ├── run_context_menu_callback_ctocpp.h │ ├── run_file_dialog_callback_ctocpp.cc │ ├── run_file_dialog_callback_ctocpp.h │ ├── scheme_handler_factory_ctocpp.cc │ ├── scheme_handler_factory_ctocpp.h │ ├── scheme_registrar_ctocpp.cc │ ├── scheme_registrar_ctocpp.h │ ├── select_client_certificate_callback_ctocpp.cc │ ├── select_client_certificate_callback_ctocpp.h │ ├── server_ctocpp.cc │ ├── server_ctocpp.h │ ├── server_handler_ctocpp.cc │ ├── server_handler_ctocpp.h │ ├── set_cookie_callback_ctocpp.cc │ ├── set_cookie_callback_ctocpp.h │ ├── sslinfo_ctocpp.cc │ ├── sslinfo_ctocpp.h │ ├── sslstatus_ctocpp.cc │ ├── sslstatus_ctocpp.h │ ├── stream_reader_ctocpp.cc │ ├── stream_reader_ctocpp.h │ ├── stream_writer_ctocpp.cc │ ├── stream_writer_ctocpp.h │ ├── string_visitor_ctocpp.cc │ ├── string_visitor_ctocpp.h │ ├── task_ctocpp.cc │ ├── task_ctocpp.h │ ├── task_runner_ctocpp.cc │ ├── task_runner_ctocpp.h │ ├── test │ │ ├── translator_test_ctocpp.cc │ │ ├── translator_test_ctocpp.h │ │ ├── translator_test_ref_ptr_client_child_ctocpp.cc │ │ ├── translator_test_ref_ptr_client_child_ctocpp.h │ │ ├── translator_test_ref_ptr_client_ctocpp.cc │ │ ├── translator_test_ref_ptr_client_ctocpp.h │ │ ├── translator_test_ref_ptr_library_child_child_ctocpp.cc │ │ ├── translator_test_ref_ptr_library_child_child_ctocpp.h │ │ ├── translator_test_ref_ptr_library_child_ctocpp.cc │ │ ├── translator_test_ref_ptr_library_child_ctocpp.h │ │ ├── translator_test_ref_ptr_library_ctocpp.cc │ │ ├── translator_test_ref_ptr_library_ctocpp.h │ │ ├── translator_test_scoped_client_child_ctocpp.cc │ │ ├── translator_test_scoped_client_child_ctocpp.h │ │ ├── translator_test_scoped_client_ctocpp.cc │ │ ├── translator_test_scoped_client_ctocpp.h │ │ ├── translator_test_scoped_library_child_child_ctocpp.cc │ │ ├── translator_test_scoped_library_child_child_ctocpp.h │ │ ├── translator_test_scoped_library_child_ctocpp.cc │ │ ├── translator_test_scoped_library_child_ctocpp.h │ │ ├── translator_test_scoped_library_ctocpp.cc │ │ └── translator_test_scoped_library_ctocpp.h │ ├── thread_ctocpp.cc │ ├── thread_ctocpp.h │ ├── urlrequest_client_ctocpp.cc │ ├── urlrequest_client_ctocpp.h │ ├── urlrequest_ctocpp.cc │ ├── urlrequest_ctocpp.h │ ├── v8accessor_ctocpp.cc │ ├── v8accessor_ctocpp.h │ ├── v8array_buffer_release_callback_ctocpp.cc │ ├── v8array_buffer_release_callback_ctocpp.h │ ├── v8context_ctocpp.cc │ ├── v8context_ctocpp.h │ ├── v8exception_ctocpp.cc │ ├── v8exception_ctocpp.h │ ├── v8handler_ctocpp.cc │ ├── v8handler_ctocpp.h │ ├── v8interceptor_ctocpp.cc │ ├── v8interceptor_ctocpp.h │ ├── v8stack_frame_ctocpp.cc │ ├── v8stack_frame_ctocpp.h │ ├── v8stack_trace_ctocpp.cc │ ├── v8stack_trace_ctocpp.h │ ├── v8value_ctocpp.cc │ ├── v8value_ctocpp.h │ ├── value_ctocpp.cc │ ├── value_ctocpp.h │ ├── views │ │ ├── box_layout_ctocpp.cc │ │ ├── box_layout_ctocpp.h │ │ ├── browser_view_ctocpp.cc │ │ ├── browser_view_ctocpp.h │ │ ├── browser_view_delegate_ctocpp.cc │ │ ├── browser_view_delegate_ctocpp.h │ │ ├── button_ctocpp.cc │ │ ├── button_ctocpp.h │ │ ├── button_delegate_ctocpp.cc │ │ ├── button_delegate_ctocpp.h │ │ ├── display_ctocpp.cc │ │ ├── display_ctocpp.h │ │ ├── fill_layout_ctocpp.cc │ │ ├── fill_layout_ctocpp.h │ │ ├── label_button_ctocpp.cc │ │ ├── label_button_ctocpp.h │ │ ├── layout_ctocpp.cc │ │ ├── layout_ctocpp.h │ │ ├── menu_button_ctocpp.cc │ │ ├── menu_button_ctocpp.h │ │ ├── menu_button_delegate_ctocpp.cc │ │ ├── menu_button_delegate_ctocpp.h │ │ ├── menu_button_pressed_lock_ctocpp.cc │ │ ├── menu_button_pressed_lock_ctocpp.h │ │ ├── overlay_controller_ctocpp.cc │ │ ├── overlay_controller_ctocpp.h │ │ ├── panel_ctocpp.cc │ │ ├── panel_ctocpp.h │ │ ├── panel_delegate_ctocpp.cc │ │ ├── panel_delegate_ctocpp.h │ │ ├── scroll_view_ctocpp.cc │ │ ├── scroll_view_ctocpp.h │ │ ├── textfield_ctocpp.cc │ │ ├── textfield_ctocpp.h │ │ ├── textfield_delegate_ctocpp.cc │ │ ├── textfield_delegate_ctocpp.h │ │ ├── view_ctocpp.cc │ │ ├── view_ctocpp.h │ │ ├── view_delegate_ctocpp.cc │ │ ├── view_delegate_ctocpp.h │ │ ├── window_ctocpp.cc │ │ ├── window_ctocpp.h │ │ ├── window_delegate_ctocpp.cc │ │ └── window_delegate_ctocpp.h │ ├── waitable_event_ctocpp.cc │ ├── waitable_event_ctocpp.h │ ├── write_handler_ctocpp.cc │ ├── write_handler_ctocpp.h │ ├── x509cert_principal_ctocpp.cc │ ├── x509cert_principal_ctocpp.h │ ├── x509certificate_ctocpp.cc │ ├── x509certificate_ctocpp.h │ ├── xml_reader_ctocpp.cc │ ├── xml_reader_ctocpp.h │ ├── zip_reader_ctocpp.cc │ └── zip_reader_ctocpp.h ├── libcef.dll.manifest ├── libcef.lst ├── libcef_dll.cc ├── libcef_dll.rc ├── libcef_dll2.cc ├── resource.h ├── sandbox │ ├── sandbox_mac.mm │ └── sandbox_win.cc ├── shutdown_checker.cc ├── shutdown_checker.h ├── template_util.h ├── transfer_util.cc ├── transfer_util.h ├── wrapper │ ├── cef_browser_info_map.h │ ├── cef_byte_read_handler.cc │ ├── cef_closure_task.cc │ ├── cef_library_loader_mac.mm │ ├── cef_message_router.cc │ ├── cef_resource_manager.cc │ ├── cef_scoped_temp_dir.cc │ ├── cef_stream_resource_handler.cc │ ├── cef_xml_object.cc │ ├── cef_zip_archive.cc │ ├── libcef_dll_dylib.cc │ ├── libcef_dll_wrapper.cc │ └── libcef_dll_wrapper2.cc └── wrapper_types.h ├── patch ├── README.txt ├── patch.cfg └── patches │ ├── Revert-Delete-CHROMIUM_image-extension.patch │ ├── base_command_line_1872.patch │ ├── base_sandbox_2743.patch │ ├── base_time_3650405.patch │ ├── browser_scheduler.patch │ ├── browser_security_policy_1081397.patch │ ├── browser_web_ui_controller_factory.patch │ ├── build.patch │ ├── chrome_browser.patch │ ├── chrome_browser_autofill_1322387.patch │ ├── chrome_browser_background_mode_1100085.patch │ ├── chrome_browser_browser.patch │ ├── chrome_browser_content_settings.patch │ ├── chrome_browser_context_menus.patch │ ├── chrome_browser_dialogs.patch │ ├── chrome_browser_extensions.patch │ ├── chrome_browser_net_proxy.patch │ ├── chrome_browser_privacy_1119417.patch │ ├── chrome_browser_profile_menu.patch │ ├── chrome_browser_profiles.patch │ ├── chrome_browser_safe_browsing.patch │ ├── chrome_browser_themes.patch │ ├── chrome_plugins.patch │ ├── chrome_pref_watcher.patch │ ├── chrome_renderer.patch │ ├── chrome_runtime.patch │ ├── chrome_runtime_views.patch │ ├── component_build.patch │ ├── content_2015.patch │ ├── content_main_654986.patch │ ├── crashpad_1995.patch │ ├── crashpad_tp_1995.patch │ ├── embedder_product_override.patch │ ├── extensions_1947.patch │ ├── font_family_cache_1501.patch │ ├── gn_config.patch │ ├── gritsettings.patch │ ├── libvpx_cve.patch │ ├── libwebp_cve.patch │ ├── libxml_visibility.patch │ ├── linux-ui-nogtk.patch │ ├── linux_assets_path_1936.patch │ ├── linux_atk_1123214.patch │ ├── linux_blink_thread_local.patch │ ├── linux_bluetooth_1319006.patch │ ├── linux_chrome_widevine_3149.patch │ ├── linux_ui_ozone.patch │ ├── mac_event_observer_2539.patch │ ├── mac_fling_scheduler_2540.patch │ ├── mac_gpu.patch │ ├── message_loop.patch │ ├── message_pump_mac_2495.patch │ ├── mime_handler_view_guest_1565_2727.patch │ ├── net_cookie_flags.patch │ ├── osr_fling_2745.patch │ ├── print_preview_123.patch │ ├── printing_context_2196.patch │ ├── printing_pdf_3047.patch │ ├── renderer_host_1070713.patch │ ├── resource_bundle_2512.patch │ ├── runhooks.patch │ ├── rwh_background_color_1984.patch │ ├── services_network_2622.patch │ ├── services_network_2718.patch │ ├── set_resize_background_color.patch │ ├── storage_incognito_2289.patch │ ├── trace_event.patch │ ├── ui_dragdrop_355390.patch │ ├── underlay_1051.patch │ ├── views_1749_2102_3330.patch │ ├── views_widget.patch │ ├── viz_osr_2575.patch │ ├── web_contents_1257_1565.patch │ ├── web_url_loader_cancel_1617042.patch │ ├── webkit_plugin_info_2015.patch │ ├── webkit_popups.patch │ ├── webkit_runtime_enabled_features.patch │ ├── webui_2037.patch │ ├── win_cpp17_msvc_sandbox_2819.patch │ ├── win_sandbox_3210.patch │ └── win_shell_dialogs_3294.patch ├── tests ├── cefclient │ ├── CMakeLists.txt.in │ ├── browser │ │ ├── binding_test.cc │ │ ├── binding_test.h │ │ ├── browser_window.cc │ │ ├── browser_window.h │ │ ├── browser_window_osr_gtk.cc │ │ ├── browser_window_osr_gtk.h │ │ ├── browser_window_osr_mac.h │ │ ├── browser_window_osr_mac.mm │ │ ├── browser_window_osr_win.cc │ │ ├── browser_window_osr_win.h │ │ ├── browser_window_std_gtk.cc │ │ ├── browser_window_std_gtk.h │ │ ├── browser_window_std_mac.h │ │ ├── browser_window_std_mac.mm │ │ ├── browser_window_std_win.cc │ │ ├── browser_window_std_win.h │ │ ├── bytes_write_handler.cc │ │ ├── bytes_write_handler.h │ │ ├── client_app_delegates_browser.cc │ │ ├── client_browser.cc │ │ ├── client_browser.h │ │ ├── client_handler.cc │ │ ├── client_handler.h │ │ ├── client_handler_osr.cc │ │ ├── client_handler_osr.h │ │ ├── client_handler_std.cc │ │ ├── client_handler_std.h │ │ ├── client_types.h │ │ ├── dialog_handler_gtk.cc │ │ ├── dialog_handler_gtk.h │ │ ├── dialog_test.cc │ │ ├── dialog_test.h │ │ ├── image_cache.cc │ │ ├── image_cache.h │ │ ├── main_context.cc │ │ ├── main_context.h │ │ ├── main_context_impl.cc │ │ ├── main_context_impl.h │ │ ├── main_context_impl_posix.cc │ │ ├── main_context_impl_win.cc │ │ ├── main_message_loop_multithreaded_gtk.cc │ │ ├── main_message_loop_multithreaded_gtk.h │ │ ├── main_message_loop_multithreaded_win.cc │ │ ├── main_message_loop_multithreaded_win.h │ │ ├── media_router_test.cc │ │ ├── media_router_test.h │ │ ├── osr_accessibility_helper.cc │ │ ├── osr_accessibility_helper.h │ │ ├── osr_accessibility_node.cc │ │ ├── osr_accessibility_node.h │ │ ├── osr_accessibility_node_mac.mm │ │ ├── osr_accessibility_node_win.cc │ │ ├── osr_d3d11_win.cc │ │ ├── osr_d3d11_win.h │ │ ├── osr_dragdrop_events.h │ │ ├── osr_dragdrop_win.cc │ │ ├── osr_dragdrop_win.h │ │ ├── osr_ime_handler_win.cc │ │ ├── osr_ime_handler_win.h │ │ ├── osr_render_handler_win.cc │ │ ├── osr_render_handler_win.h │ │ ├── osr_render_handler_win_d3d11.cc │ │ ├── osr_render_handler_win_d3d11.h │ │ ├── osr_render_handler_win_gl.cc │ │ ├── osr_render_handler_win_gl.h │ │ ├── osr_renderer.cc │ │ ├── osr_renderer.h │ │ ├── osr_renderer_settings.h │ │ ├── osr_window_win.cc │ │ ├── osr_window_win.h │ │ ├── preferences_test.cc │ │ ├── preferences_test.h │ │ ├── print_handler_gtk.cc │ │ ├── print_handler_gtk.h │ │ ├── resource.h │ │ ├── resource_util_linux.cc │ │ ├── resource_util_win_idmap.cc │ │ ├── response_filter_test.cc │ │ ├── response_filter_test.h │ │ ├── root_window.cc │ │ ├── root_window.h │ │ ├── root_window_create.cc │ │ ├── root_window_gtk.cc │ │ ├── root_window_gtk.h │ │ ├── root_window_mac.h │ │ ├── root_window_mac.mm │ │ ├── root_window_manager.cc │ │ ├── root_window_manager.h │ │ ├── root_window_views.cc │ │ ├── root_window_views.h │ │ ├── root_window_win.cc │ │ ├── root_window_win.h │ │ ├── scheme_test.cc │ │ ├── scheme_test.h │ │ ├── server_test.cc │ │ ├── server_test.h │ │ ├── temp_window.h │ │ ├── temp_window_mac.h │ │ ├── temp_window_mac.mm │ │ ├── temp_window_win.cc │ │ ├── temp_window_win.h │ │ ├── temp_window_x11.cc │ │ ├── temp_window_x11.h │ │ ├── test_runner.cc │ │ ├── test_runner.h │ │ ├── text_input_client_osr_mac.h │ │ ├── text_input_client_osr_mac.mm │ │ ├── urlrequest_test.cc │ │ ├── urlrequest_test.h │ │ ├── util_gtk.cc │ │ ├── util_gtk.h │ │ ├── views_menu_bar.cc │ │ ├── views_menu_bar.h │ │ ├── views_overlay_controls.cc │ │ ├── views_overlay_controls.h │ │ ├── views_style.cc │ │ ├── views_style.h │ │ ├── views_window.cc │ │ ├── views_window.h │ │ ├── window_test.cc │ │ ├── window_test.h │ │ ├── window_test_runner.cc │ │ ├── window_test_runner.h │ │ ├── window_test_runner_gtk.cc │ │ ├── window_test_runner_gtk.h │ │ ├── window_test_runner_mac.h │ │ ├── window_test_runner_mac.mm │ │ ├── window_test_runner_views.cc │ │ ├── window_test_runner_views.h │ │ ├── window_test_runner_win.cc │ │ └── window_test_runner_win.h │ ├── cefclient_gtk.cc │ ├── cefclient_mac.mm │ ├── cefclient_win.cc │ ├── common │ │ ├── client_app_delegates_common.cc │ │ ├── scheme_test_common.cc │ │ └── scheme_test_common.h │ ├── renderer │ │ ├── client_app_delegates_renderer.cc │ │ ├── client_renderer.cc │ │ ├── client_renderer.h │ │ ├── performance_test.cc │ │ ├── performance_test.h │ │ ├── performance_test_setup.h │ │ └── performance_test_tests.cc │ └── resources │ │ ├── binding.html │ │ ├── dialogs.html │ │ ├── draggable.html │ │ ├── extensions │ │ └── set_page_color │ │ │ ├── README.md │ │ │ ├── icon.png │ │ │ ├── manifest.json │ │ │ ├── popup.html │ │ │ └── popup.js │ │ ├── localstorage.html │ │ ├── logo.png │ │ ├── mac │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ ├── cefclient.icns │ │ └── helper-Info.plist │ │ ├── media_router.html │ │ ├── menu_icon.1x.png │ │ ├── menu_icon.2x.png │ │ ├── other_tests.html │ │ ├── performance.html │ │ ├── performance2.html │ │ ├── preferences.html │ │ ├── response_filter.html │ │ ├── server.html │ │ ├── transparency.html │ │ ├── urlrequest.html │ │ ├── websocket.html │ │ ├── win │ │ ├── cefclient.exe.manifest │ │ ├── cefclient.ico │ │ ├── cefclient.rc │ │ └── small.ico │ │ ├── window.html │ │ └── xmlhttprequest.html ├── cefsimple │ ├── CMakeLists.txt.in │ ├── cefsimple.exe.manifest │ ├── cefsimple.rc │ ├── cefsimple_linux.cc │ ├── cefsimple_mac.mm │ ├── cefsimple_win.cc │ ├── mac │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ ├── cefsimple.icns │ │ └── helper-Info.plist │ ├── process_helper_mac.cc │ ├── res │ │ ├── cefsimple.ico │ │ └── small.ico │ ├── resource.h │ ├── simple_app.cc │ ├── simple_app.h │ ├── simple_handler.cc │ ├── simple_handler.h │ ├── simple_handler_linux.cc │ ├── simple_handler_mac.mm │ └── simple_handler_win.cc ├── ceftests │ ├── CMakeLists.txt.in │ ├── audio_output_unittest.cc │ ├── browser_info_map_unittest.cc │ ├── client_app_delegates.cc │ ├── command_line_unittest.cc │ ├── cookie_unittest.cc │ ├── cors_unittest.cc │ ├── devtools_message_unittest.cc │ ├── dialog_unittest.cc │ ├── display_unittest.cc │ ├── dom_unittest.cc │ ├── download_unittest.cc │ ├── draggable_regions_unittest.cc │ ├── extensions │ │ ├── background_unittest.cc │ │ ├── chrome_alarms_unittest.cc │ │ ├── chrome_storage_unittest.cc │ │ ├── chrome_tabs_unittest.cc │ │ ├── extension_test_handler.cc │ │ ├── extension_test_handler.h │ │ └── view_unittest.cc │ ├── file_util_unittest.cc │ ├── frame_handler_unittest.cc │ ├── frame_unittest.cc │ ├── image_unittest.cc │ ├── image_util.cc │ ├── image_util.h │ ├── jsdialog_unittest.cc │ ├── life_span_unittest.cc │ ├── message_router_unittest.cc │ ├── navigation_unittest.cc │ ├── os_rendering_unittest.cc │ ├── os_rendering_unittest_mac.h │ ├── os_rendering_unittest_mac.mm │ ├── osr_accessibility_unittest.cc │ ├── osr_display_unittest.cc │ ├── parser_unittest.cc │ ├── pdf_viewer_unittest.cc │ ├── preference_unittest.cc │ ├── print_unittest.cc │ ├── process_message_unittest.cc │ ├── request_context_unittest.cc │ ├── request_handler_unittest.cc │ ├── request_unittest.cc │ ├── resource.h │ ├── resource_manager_unittest.cc │ ├── resource_request_handler_unittest.cc │ ├── resource_util_linux.cc │ ├── resource_util_win_idmap.cc │ ├── resources │ │ ├── mac │ │ │ ├── English.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── MainMenu.xib │ │ │ ├── Info.plist │ │ │ ├── ceftests.icns │ │ │ └── helper-Info.plist │ │ └── win │ │ │ ├── ceftests.exe.manifest │ │ │ ├── ceftests.ico │ │ │ ├── ceftests.rc │ │ │ └── small.ico │ ├── response_unittest.cc │ ├── routing_test_handler.cc │ ├── routing_test_handler.h │ ├── run_all_unittests.cc │ ├── run_all_unittests_mac.mm │ ├── scheme_handler_unittest.cc │ ├── scoped_temp_dir_unittest.cc │ ├── server_unittest.cc │ ├── stream_resource_handler_unittest.cc │ ├── stream_unittest.cc │ ├── string_unittest.cc │ ├── task_unittest.cc │ ├── test_handler.cc │ ├── test_handler.h │ ├── test_request.cc │ ├── test_request.h │ ├── test_server.cc │ ├── test_server.h │ ├── test_server_unittest.cc │ ├── test_suite.cc │ ├── test_suite.h │ ├── test_util.cc │ ├── test_util.h │ ├── thread_helper.cc │ ├── thread_helper.h │ ├── thread_unittest.cc │ ├── tracing_unittest.cc │ ├── track_callback.h │ ├── translator_unittest.cc │ ├── urlrequest_unittest.cc │ ├── v8_unittest.cc │ ├── values_unittest.cc │ ├── version_unittest.cc │ ├── views │ │ ├── button_unittest.cc │ │ ├── panel_unittest.cc │ │ ├── scroll_view_unittest.cc │ │ ├── test_window_delegate.cc │ │ ├── test_window_delegate.h │ │ ├── textfield_unittest.cc │ │ └── window_unittest.cc │ ├── waitable_event_unittest.cc │ ├── webui_unittest.cc │ ├── xml_reader_unittest.cc │ └── zip_reader_unittest.cc ├── gtest │ ├── CMakeLists.txt.in │ ├── include │ │ └── gtest │ │ │ └── gtest.h │ └── teamcity │ │ ├── README.cef │ │ ├── include │ │ └── teamcity_gtest.h │ │ └── src │ │ ├── teamcity_gtest.cpp │ │ ├── teamcity_messages.cpp │ │ └── teamcity_messages.h └── shared │ ├── browser │ ├── client_app_browser.cc │ ├── client_app_browser.h │ ├── extension_util.cc │ ├── extension_util.h │ ├── file_util.cc │ ├── file_util.h │ ├── geometry_util.cc │ ├── geometry_util.h │ ├── main_message_loop.cc │ ├── main_message_loop.h │ ├── main_message_loop_external_pump.cc │ ├── main_message_loop_external_pump.h │ ├── main_message_loop_external_pump_linux.cc │ ├── main_message_loop_external_pump_mac.mm │ ├── main_message_loop_external_pump_win.cc │ ├── main_message_loop_std.cc │ ├── main_message_loop_std.h │ ├── resource_util.h │ ├── resource_util_linux.cc │ ├── resource_util_mac.mm │ ├── resource_util_posix.cc │ ├── resource_util_win.cc │ ├── util_win.cc │ └── util_win.h │ ├── common │ ├── client_app.cc │ ├── client_app.h │ ├── client_app_other.cc │ ├── client_app_other.h │ ├── client_switches.cc │ └── client_switches.h │ ├── process_helper_mac.cc │ ├── renderer │ ├── client_app_renderer.cc │ └── client_app_renderer.h │ └── resources │ ├── osr_test.html │ ├── pdf.html │ ├── pdf.pdf │ ├── window_icon.1x.png │ └── window_icon.2x.png └── tools ├── automate └── automate-git.py ├── cef_api_hash.py ├── cef_parser.py ├── cef_version.py ├── cefbuilds ├── cef_json_builder.py ├── cef_json_builder_example.py └── cef_json_builder_test.py ├── clang_util.py ├── combine_libs.py ├── compile_ib_files.py ├── crash_server.py ├── date_util.py ├── distrib ├── README-TRANSFER.txt ├── README.client.txt ├── README.footer.txt ├── README.header.txt ├── gtest │ ├── LICENSE │ ├── README.cef │ ├── gtest-all.cc │ └── gtest.h ├── linux │ ├── README.minimal.txt │ ├── README.redistrib.txt │ └── README.standard.txt ├── mac │ ├── README.minimal.txt │ ├── README.redistrib.txt │ └── README.standard.txt ├── transfer.cfg └── win │ ├── README.minimal.txt │ ├── README.redistrib.txt │ ├── README.sandbox.txt │ ├── README.standard.txt │ ├── transfer_standard.cfg │ ├── x64 │ └── d3dcompiler_47.dll │ └── x86 │ └── d3dcompiler_47.dll ├── exec_util.py ├── file_util.py ├── fix_style.bat ├── fix_style.py ├── fix_style.sh ├── gclient_hook.py ├── gclient_util.py ├── git_util.py ├── gn_args.py ├── gypi_to_gn.py ├── issue_1999.py ├── make_api_hash_header.py ├── make_capi_header.py ├── make_cmake.py ├── make_config_header.py ├── make_cppdocs.bat ├── make_cpptoc_header.py ├── make_cpptoc_impl.py ├── make_ctocpp_header.py ├── make_ctocpp_impl.py ├── make_distrib.bat ├── make_distrib.py ├── make_distrib.sh ├── make_gypi_file.py ├── make_libcef_dll_dylib_impl.py ├── make_pack_header.py ├── make_version_header.bat ├── make_version_header.py ├── make_version_header.sh ├── make_wrapper_types_header.py ├── msvs_env.bat ├── patch.bat ├── patch.sh ├── patch_updater.bat ├── patch_updater.py ├── patch_updater.sh ├── patcher.README.txt ├── patcher.py ├── translator.README.txt ├── translator.bat ├── translator.py ├── translator.sh ├── yapf ├── LICENSE ├── README.cef ├── __main__.py └── yapf │ ├── __init__.py │ └── yapflib │ ├── __init__.py │ ├── blank_line_calculator.py │ ├── comment_splicer.py │ ├── continuation_splicer.py │ ├── errors.py │ ├── file_resources.py │ ├── format_decision_state.py │ ├── format_token.py │ ├── line_joiner.py │ ├── py3compat.py │ ├── pytree_unwrapper.py │ ├── pytree_utils.py │ ├── pytree_visitor.py │ ├── reformatter.py │ ├── split_penalty.py │ ├── style.py │ ├── subtype_assigner.py │ ├── unwrapped_line.py │ ├── verifier.py │ └── yapf_api.py └── yapf_util.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.gypcmd 2 | *.mk 3 | *.ncb 4 | *.opensdf 5 | *.props 6 | *.pyc 7 | *.rules 8 | *.sdf 9 | *.sln 10 | *.sublime-project 11 | *.sublime-workspace 12 | *.suo 13 | *.targets 14 | *.user 15 | *.vcproj 16 | *.vcxproj 17 | *.vcxproj.filters 18 | *.vpj 19 | *.vpw 20 | *.vpwhistu 21 | *.vtg 22 | *.xcodeproj 23 | *.xcworkspace 24 | *_proto.xml 25 | *_proto_cpp.xml 26 | *~ 27 | !Android.mk 28 | .*.sw? 29 | .DS_Store 30 | .classpath 31 | .cproject 32 | .gdb_history 33 | .gdbinit 34 | .landmines 35 | .metadata 36 | .project 37 | .pydevproject 38 | .vscode 39 | # Settings directory for eclipse 40 | /.settings 41 | .checkstyle 42 | cscope.* 43 | Session.vim 44 | tags 45 | Thumbs.db 46 | # IDE's 47 | .vs/ 48 | .kdev4/ 49 | *.kdev4 50 | # CEF generated directories 51 | /binary_distrib 52 | /docs 53 | # CEF generated files 54 | /include/cef_config.h 55 | /include/cef_version.h 56 | .ccls-cache/ 57 | -------------------------------------------------------------------------------- /.style.cfg: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | # reserved. Use of this source code is governed by a BSD-style license that 3 | # can be found in the LICENSE file 4 | 5 | # Configuration settings for tools/fix_style.py 6 | { 7 | # Directories containing these path components will be ignored. 8 | 'ignore_directories': ['yapf'], 9 | } 10 | -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- 1 | [style] 2 | based_on_style = chromium 3 | -------------------------------------------------------------------------------- /CHROMIUM_BUILD_COMPATIBILITY.txt: -------------------------------------------------------------------------------- 1 | # The Chromium Embedded Framework (CEF) project is built on top of the Chromium 2 | # project source tree. Chromium should be updated to the URL and revision listed 3 | # below before building CEF. Chromium compatibility information for older CEF 4 | # revisions is available by viewing this file's change history. 5 | # 6 | # Instructions for building CEF are available at: 7 | # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding 8 | 9 | { 10 | 'chromium_checkout': 'refs/tags/103.0.5060.134', 11 | 'depot_tools_checkout': '964f8124b6' 12 | } 13 | -------------------------------------------------------------------------------- /DEPS: -------------------------------------------------------------------------------- 1 | hooks = [ 2 | { 3 | # A change to a .gyp, .gypi, or to GYP itself should run the generator. 4 | "pattern": ".", 5 | "action": ["python", "src/cef/tools/gclient_hook.py"], 6 | }, 7 | ] 8 | -------------------------------------------------------------------------------- /VERSION.in: -------------------------------------------------------------------------------- 1 | CEF_MAJOR=3 2 | -------------------------------------------------------------------------------- /cef_create_projects.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat tools\gclient_hook.py 3 | -------------------------------------------------------------------------------- /cef_create_projects.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 tools/gclient_hook.py 3 | -------------------------------------------------------------------------------- /include/base/internal/cef_net_error_list.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | // 5 | // Include net error codes from the Chromium source location. When creating a 6 | // CEF binary distribution this file will be replaced with the Chromium version. 7 | 8 | #include "net/base/net_error_list.h" 9 | -------------------------------------------------------------------------------- /libcef/browser/alloy/alloy_browser_main_win.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #include "libcef/browser/alloy/alloy_browser_main.h" 10 | 11 | #include "base/logging.h" 12 | 13 | void AlloyBrowserMainParts::PlatformInitialize() { 14 | HRESULT res; 15 | 16 | // Initialize common controls. 17 | res = CoInitialize(nullptr); 18 | DCHECK(SUCCEEDED(res)); 19 | INITCOMMONCONTROLSEX InitCtrlEx; 20 | InitCtrlEx.dwSize = sizeof(INITCOMMONCONTROLSEX); 21 | InitCtrlEx.dwICC = ICC_STANDARD_CLASSES; 22 | InitCommonControlsEx(&InitCtrlEx); 23 | 24 | // Start COM stuff. 25 | res = OleInitialize(nullptr); 26 | DCHECK(SUCCEEDED(res)); 27 | } 28 | -------------------------------------------------------------------------------- /libcef/browser/alloy/alloy_download_util.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/alloy/alloy_download_util.h" 6 | 7 | #include "libcef/browser/alloy/alloy_browser_context.h" 8 | 9 | namespace alloy { 10 | 11 | DownloadPrefs* GetDownloadPrefsFromBrowserContext( 12 | content::BrowserContext* context) { 13 | return static_cast(context)->GetDownloadPrefs(); 14 | } 15 | 16 | } // namespace alloy 17 | -------------------------------------------------------------------------------- /libcef/browser/alloy/alloy_download_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_ALLOY_ALLOY_DOWNLOAD_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_ALLOY_ALLOY_DOWNLOAD_UTIL_H_ 7 | #pragma once 8 | 9 | class DownloadPrefs; 10 | 11 | namespace content { 12 | class BrowserContext; 13 | } // namespace content 14 | 15 | namespace alloy { 16 | 17 | // Called from DownloadPrefs::FromBrowserContext. 18 | DownloadPrefs* GetDownloadPrefsFromBrowserContext( 19 | content::BrowserContext* context); 20 | 21 | } // namespace alloy 22 | 23 | #endif // CEF_LIBCEF_BROWSER_ALLOY_ALLOY_DOWNLOAD_UTIL_H_ 24 | -------------------------------------------------------------------------------- /libcef/browser/alloy/chrome_profile_manager_alloy.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2012 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | // This file provides a stub implementation of Chrome's ProfileManager object 7 | // for use as an interop layer between CEF and files that live in chrome/. 8 | 9 | #ifndef CEF_LIBCEF_BROWSER_ALLOY_CHROME_PROFILE_MANAGER_ALLOY_H_ 10 | #define CEF_LIBCEF_BROWSER_ALLOY_CHROME_PROFILE_MANAGER_ALLOY_H_ 11 | 12 | #include "chrome/browser/profiles/profile_manager.h" 13 | 14 | class ChromeProfileManagerAlloy : public ProfileManager { 15 | public: 16 | ChromeProfileManagerAlloy(); 17 | 18 | ChromeProfileManagerAlloy(const ChromeProfileManagerAlloy&) = delete; 19 | ChromeProfileManagerAlloy& operator=(const ChromeProfileManagerAlloy&) = 20 | delete; 21 | 22 | ~ChromeProfileManagerAlloy() override; 23 | 24 | Profile* GetProfile(const base::FilePath& profile_dir) override; 25 | bool IsValidProfile(const void* profile) override; 26 | }; 27 | 28 | #endif // CEF_LIBCEF_BROWSER_ALLOY_CHROME_PROFILE_MANAGER_ALLOY_H_ 29 | -------------------------------------------------------------------------------- /libcef/browser/browser_context_keyed_service_factories.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_H_ 6 | #define CEF_LIBCEF_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_H_ 7 | 8 | namespace cef { 9 | 10 | // Ensures the existence of any BrowserContextKeyedServiceFactory provided by 11 | // the CEF extensions code or otherwise required by CEF. See 12 | // libcef/common/extensions/api/README.txt for additional details. 13 | void EnsureBrowserContextKeyedServiceFactoriesBuilt(); 14 | 15 | } // namespace cef 16 | 17 | #endif // CEF_LIBCEF_BROWSER_BROWSER_CONTEXT_KEYED_SERVICE_FACTORIES_H_ 18 | -------------------------------------------------------------------------------- /libcef/browser/browser_message_loop.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_ 6 | #define CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_ 7 | 8 | void InitExternalMessagePumpFactoryForUI(); 9 | 10 | #endif // CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_ 11 | -------------------------------------------------------------------------------- /libcef/browser/browser_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_BROWSER_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_BROWSER_UTIL_H_ 7 | #pragma once 8 | 9 | #include "include/internal/cef_types_wrappers.h" 10 | 11 | namespace content { 12 | struct NativeWebKeyboardEvent; 13 | } 14 | 15 | namespace ui { 16 | class KeyEvent; 17 | } 18 | 19 | namespace browser_util { 20 | 21 | // Convert a content::NativeWebKeyboardEvent to a CefKeyEvent. 22 | bool GetCefKeyEvent(const content::NativeWebKeyboardEvent& event, 23 | CefKeyEvent& cef_event); 24 | 25 | // Convert a ui::KeyEvent to a CefKeyEvent. 26 | bool GetCefKeyEvent(const ui::KeyEvent& event, CefKeyEvent& cef_event); 27 | 28 | } // namespace browser_util 29 | 30 | #endif // CEF_LIBCEF_BROWSER_BROWSER_UTIL_H_ 31 | -------------------------------------------------------------------------------- /libcef/browser/chrome/chrome_context_menu_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_CHROME_CHROME_CONTEXT_MENU_HANDLER_H_ 6 | #define CEF_LIBCEF_BROWSER_CHROME_CHROME_CONTEXT_MENU_HANDLER_H_ 7 | #pragma once 8 | 9 | namespace context_menu { 10 | 11 | // Register the context menu created callback. 12 | void RegisterMenuCreatedCallback(); 13 | 14 | } // namespace context_menu 15 | 16 | #endif // CEF_LIBCEF_BROWSER_CHROME_CHROME_CONTEXT_MENU_HANDLER_H_ 17 | -------------------------------------------------------------------------------- /libcef/browser/chrome/views/chrome_child_window.h: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_CHILD_WINDOW_H_ 6 | #define CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_CHILD_WINDOW_H_ 7 | #pragma once 8 | 9 | #include "libcef/browser/browser_host_base.h" 10 | 11 | #include "ui/gfx/native_widget_types.h" 12 | 13 | namespace chrome_child_window { 14 | 15 | bool HasParentHandle(const CefWindowInfo& window_info); 16 | gfx::AcceleratedWidget GetParentHandle(const CefWindowInfo& window_info); 17 | 18 | // Called from CefBrowserHostBase::Create. 19 | CefRefPtr MaybeCreateChildBrowser( 20 | const CefBrowserCreateParams& create_params); 21 | 22 | } // namespace chrome_child_window 23 | 24 | #endif // CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_CHILD_WINDOW_H_ 25 | -------------------------------------------------------------------------------- /libcef/browser/chrome/views/chrome_views_util.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/chrome/views/chrome_views_util.h" 6 | 7 | #include "libcef/browser/views/view_util.h" 8 | 9 | namespace cef { 10 | 11 | bool IsCefView(views::View* view) { 12 | return view_util::GetFor(view, /*find_known_parent=*/false) != nullptr; 13 | } 14 | 15 | } // namespace cef 16 | -------------------------------------------------------------------------------- /libcef/browser/chrome/views/chrome_views_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_VIEWS_H_ 6 | #define CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_VIEWS_H_ 7 | #pragma once 8 | 9 | namespace views { 10 | class View; 11 | } 12 | 13 | namespace cef { 14 | 15 | // Returns true if |view| is a CefView. 16 | bool IsCefView(views::View* view); 17 | 18 | } // namespace cef 19 | 20 | #endif // CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_VIEWS_H_ 21 | -------------------------------------------------------------------------------- /libcef/browser/chrome/views/toolbar_view_view.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/chrome/views/toolbar_view_view.h" 6 | 7 | CefToolbarViewView::CefToolbarViewView(CefViewDelegate* cef_delegate, 8 | Browser* browser, 9 | BrowserView* browser_view, 10 | absl::optional display_mode) 11 | : ParentClass(cef_delegate, browser, browser_view, display_mode) {} 12 | -------------------------------------------------------------------------------- /libcef/browser/chrome/views/toolbar_view_view.h: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_CHROME_VIEWS_TOOLBAR_VIEW_VIEW_H_ 6 | #define CEF_LIBCEF_BROWSER_CHROME_VIEWS_TOOLBAR_VIEW_VIEW_H_ 7 | #pragma once 8 | 9 | #include "libcef/browser/views/view_view.h" 10 | 11 | #include "chrome/browser/ui/views/toolbar/toolbar_view.h" 12 | 13 | class CefToolbarViewView : public CefViewView { 14 | public: 15 | using ParentClass = CefViewView; 16 | 17 | // |cef_delegate| may be nullptr. 18 | explicit CefToolbarViewView(CefViewDelegate* cef_delegate, 19 | Browser* browser, 20 | BrowserView* browser_view, 21 | absl::optional display_mode); 22 | 23 | CefToolbarViewView(const CefToolbarViewView&) = delete; 24 | CefToolbarViewView& operator=(const CefToolbarViewView&) = delete; 25 | }; 26 | 27 | #endif // CEF_LIBCEF_BROWSER_CHROME_VIEWS_TOOLBAR_VIEW_VIEW_H_ 28 | -------------------------------------------------------------------------------- /libcef/browser/chrome_crash_reporter_client_stub.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2013 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #include "build/build_config.h" 7 | 8 | #if BUILDFLAG(IS_MAC) 9 | 10 | #include "chrome/app/chrome_crash_reporter_client.h" 11 | 12 | // Required due to https://crrev.com/1c9f89a06f 13 | void ChromeCrashReporterClient::Create() {} 14 | 15 | #endif // BUILDFLAG(IS_MAC) 16 | -------------------------------------------------------------------------------- /libcef/browser/extensions/alloy_extensions_util.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/extensions/alloy_extensions_util.h" 6 | 7 | #include "libcef/browser/alloy/alloy_browser_host_impl.h" 8 | 9 | namespace extensions { 10 | namespace alloy { 11 | 12 | int GetTabIdForWebContents(content::WebContents* web_contents) { 13 | auto browser = AlloyBrowserHostImpl::GetBrowserForContents(web_contents); 14 | if (!browser) 15 | return -1; 16 | return browser->GetIdentifier(); 17 | } 18 | 19 | } // namespace alloy 20 | } // namespace extensions 21 | -------------------------------------------------------------------------------- /libcef/browser/extensions/alloy_extensions_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_ 7 | 8 | namespace content { 9 | class WebContents; 10 | } 11 | 12 | namespace extensions { 13 | namespace alloy { 14 | 15 | // Returns the tabId for |web_contents|, or -1 if not found. 16 | int GetTabIdForWebContents(content::WebContents* web_contents); 17 | 18 | } // namespace alloy 19 | } // namespace extensions 20 | 21 | #endif // CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_ 22 | -------------------------------------------------------------------------------- /libcef/browser/extensions/chrome_api_registration.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_CHROME_API_REGISTRATION_H_ 6 | #define CEF_LIBCEF_BROWSER_EXTENSIONS_CHROME_API_REGISTRATION_H_ 7 | 8 | #include 9 | 10 | class ExtensionFunctionRegistry; 11 | 12 | namespace extensions { 13 | namespace api { 14 | namespace cef { 15 | 16 | // Array of currently supported APIs. 17 | extern const char* const kSupportedAPIs[]; 18 | 19 | class ChromeFunctionRegistry { 20 | public: 21 | static bool IsSupported(const std::string& name); 22 | static void RegisterAll(ExtensionFunctionRegistry* registry); 23 | }; 24 | 25 | } // namespace cef 26 | } // namespace api 27 | } // namespace extensions 28 | 29 | #endif // CEF_LIBCEF_BROWSER_EXTENSIONS_CHROME_API_REGISTRATION_H_ 30 | -------------------------------------------------------------------------------- /libcef/browser/extensions/extensions_browser_api_provider.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/extensions/extensions_browser_api_provider.h" 6 | #include "libcef/browser/extensions/chrome_api_registration.h" 7 | 8 | //#include "cef/libcef/browser/extensions/api/generated_api_registration.h" 9 | #include "extensions/browser/api/generated_api_registration.h" 10 | 11 | namespace extensions { 12 | 13 | CefExtensionsBrowserAPIProvider::CefExtensionsBrowserAPIProvider() = default; 14 | CefExtensionsBrowserAPIProvider::~CefExtensionsBrowserAPIProvider() = default; 15 | 16 | void CefExtensionsBrowserAPIProvider::RegisterExtensionFunctions( 17 | ExtensionFunctionRegistry* registry) { 18 | // CEF-only APIs. 19 | // TODO(cef): Enable if/when CEF exposes its own Mojo APIs. See 20 | // libcef/common/extensions/api/README.txt for details. 21 | // api::cef::CefGeneratedFunctionRegistry::RegisterAll(registry); 22 | 23 | // Chrome APIs whitelisted by CEF. 24 | api::cef::ChromeFunctionRegistry::RegisterAll(registry); 25 | } 26 | 27 | } // namespace extensions 28 | -------------------------------------------------------------------------------- /libcef/browser/extensions/extensions_browser_api_provider.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_API_PROVIDER_H_ 6 | #define CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_API_PROVIDER_H_ 7 | 8 | #include "extensions/browser/extensions_browser_api_provider.h" 9 | 10 | namespace extensions { 11 | 12 | class CefExtensionsBrowserAPIProvider : public ExtensionsBrowserAPIProvider { 13 | public: 14 | CefExtensionsBrowserAPIProvider(); 15 | 16 | CefExtensionsBrowserAPIProvider(const CefExtensionsBrowserAPIProvider&) = 17 | delete; 18 | CefExtensionsBrowserAPIProvider& operator=( 19 | const CefExtensionsBrowserAPIProvider&) = delete; 20 | 21 | ~CefExtensionsBrowserAPIProvider() override; 22 | 23 | void RegisterExtensionFunctions(ExtensionFunctionRegistry* registry) override; 24 | }; 25 | 26 | } // namespace extensions 27 | 28 | #endif // CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_API_PROVIDER_H_ 29 | -------------------------------------------------------------------------------- /libcef/browser/file_dialog_runner.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2012 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #ifndef CEF_LIBCEF_BROWSER_FILE_DIALOG_RUNNER_H_ 7 | #define CEF_LIBCEF_BROWSER_FILE_DIALOG_RUNNER_H_ 8 | #pragma once 9 | 10 | namespace file_dialog_runner { 11 | 12 | // One-time registration on startup. 13 | void RegisterFactory(); 14 | 15 | } // namespace file_dialog_runner 16 | 17 | #endif // CEF_LIBCEF_BROWSER_FILE_DIALOG_RUNNER_H_ 18 | -------------------------------------------------------------------------------- /libcef/browser/media_router/media_source_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef/browser/media_router/media_source_impl.h" 6 | 7 | CefMediaSourceImpl::CefMediaSourceImpl( 8 | const media_router::MediaSource::Id& source_id) 9 | : source_(source_id) {} 10 | 11 | CefMediaSourceImpl::CefMediaSourceImpl(const GURL& presentation_url) 12 | : source_(presentation_url) {} 13 | 14 | CefString CefMediaSourceImpl::GetId() { 15 | return source_.id(); 16 | } 17 | 18 | bool CefMediaSourceImpl::IsCastSource() { 19 | return !IsDialSource(); 20 | } 21 | 22 | bool CefMediaSourceImpl::IsDialSource() { 23 | return source_.IsDialSource(); 24 | } 25 | -------------------------------------------------------------------------------- /libcef/browser/native/browser_platform_delegate_native.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/native/browser_platform_delegate_native.h" 6 | 7 | #include "libcef/browser/alloy/alloy_browser_host_impl.h" 8 | 9 | #include "content/public/browser/render_view_host.h" 10 | #include "content/public/browser/render_widget_host.h" 11 | #include "third_party/blink/public/common/input/web_mouse_event.h" 12 | 13 | CefBrowserPlatformDelegateNative::CefBrowserPlatformDelegateNative( 14 | const CefWindowInfo& window_info, 15 | SkColor background_color) 16 | : window_info_(window_info), 17 | background_color_(background_color), 18 | windowless_handler_(nullptr) {} 19 | 20 | SkColor CefBrowserPlatformDelegateNative::GetBackgroundColor() const { 21 | return background_color_; 22 | } 23 | 24 | void CefBrowserPlatformDelegateNative::WasResized() { 25 | content::RenderViewHost* host = web_contents_->GetRenderViewHost(); 26 | if (host) { 27 | host->GetWidget()->SynchronizeVisualProperties(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /libcef/browser/native/cursor_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NATIVE_CURSOR_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_NATIVE_CURSOR_UTIL_H_ 7 | 8 | #include "include/cef_browser.h" 9 | 10 | #include "ui/base/cursor/cursor.h" 11 | #include "ui/base/cursor/mojom/cursor_type.mojom-forward.h" 12 | 13 | #if defined(USE_AURA) 14 | #include "ui/base/cursor/platform_cursor.h" 15 | #endif 16 | 17 | namespace cursor_util { 18 | 19 | #if defined(USE_AURA) 20 | cef_cursor_handle_t ToCursorHandle(scoped_refptr cursor); 21 | #endif // defined(USE_AURA) 22 | 23 | // Returns true if the client handled the cursor change. 24 | bool OnCursorChange(CefRefPtr browser, const ui::Cursor& ui_cursor); 25 | 26 | } // namespace cursor_util 27 | 28 | #endif // CEF_LIBCEF_BROWSER_NATIVE_CURSOR_UTIL_H_ 29 | -------------------------------------------------------------------------------- /libcef/browser/native/cursor_util_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/native/cursor_util.h" 6 | 7 | #include "ui/ozone/buildflags.h" 8 | 9 | #if BUILDFLAG(OZONE_PLATFORM_X11) 10 | #include "ui/base/x/x11_cursor.h" 11 | #elif defined(USE_OZONE) 12 | #include "ui/ozone/common/bitmap_cursor.h" 13 | #endif 14 | 15 | namespace cursor_util { 16 | 17 | cef_cursor_handle_t ToCursorHandle(scoped_refptr cursor) { 18 | #if BUILDFLAG(OZONE_PLATFORM_X11) 19 | // See https://crbug.com/1029142 for background. 20 | return static_cast( 21 | ui::X11Cursor::FromPlatformCursor(cursor)->xcursor()); 22 | #elif defined(USE_OZONE) 23 | return static_cast( 24 | ui::BitmapCursor::FromPlatformCursor(cursor)->platform_data()); 25 | #else 26 | return 0; 27 | #endif 28 | } 29 | 30 | } // namespace cursor_util 31 | -------------------------------------------------------------------------------- /libcef/browser/native/cursor_util_win.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. Portions copyright 2 | // 2012 The Chromium Authors. All rights reserved. Use of this source code is 3 | // governed by a BSD-style license that can be found in the LICENSE file. 4 | 5 | #include "libcef/browser/native/cursor_util.h" 6 | 7 | #include "ui/base/win/win_cursor.h" 8 | 9 | namespace cursor_util { 10 | 11 | cef_cursor_handle_t ToCursorHandle(scoped_refptr cursor) { 12 | return ui::WinCursor::FromPlatformCursor(cursor)->hcursor(); 13 | } 14 | 15 | } // namespace cursor_util 16 | -------------------------------------------------------------------------------- /libcef/browser/native/menu_runner_mac.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_MAC_H_ 6 | #define CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_MAC_H_ 7 | #pragma once 8 | 9 | #include "libcef/browser/menu_runner.h" 10 | 11 | #include "base/mac/scoped_nsobject.h" 12 | 13 | #if __OBJC__ 14 | @class MenuControllerCocoa; 15 | #else 16 | class MenuControllerCocoa; 17 | #endif 18 | 19 | class CefMenuRunnerMac : public CefMenuRunner { 20 | public: 21 | CefMenuRunnerMac(); 22 | ~CefMenuRunnerMac() override; 23 | 24 | // CefMenuRunner methods. 25 | bool RunContextMenu(AlloyBrowserHostImpl* browser, 26 | CefMenuModelImpl* model, 27 | const content::ContextMenuParams& params) override; 28 | void CancelContextMenu() override; 29 | 30 | private: 31 | base::scoped_nsobject menu_controller_; 32 | }; 33 | 34 | #endif // CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_MAC_H_ 35 | -------------------------------------------------------------------------------- /libcef/browser/native/menu_runner_views_aura.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_VIEWS_AURA_H_ 6 | #define CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_VIEWS_AURA_H_ 7 | #pragma once 8 | 9 | #include "libcef/browser/menu_runner.h" 10 | 11 | #include "ui/views/controls/menu/menu_runner.h" 12 | 13 | class CefMenuRunnerViewsAura : public CefMenuRunner { 14 | public: 15 | CefMenuRunnerViewsAura(); 16 | 17 | // CefMenuRunner methods. 18 | bool RunContextMenu(AlloyBrowserHostImpl* browser, 19 | CefMenuModelImpl* model, 20 | const content::ContextMenuParams& params) override; 21 | void CancelContextMenu() override; 22 | bool FormatLabel(std::u16string& label) override; 23 | 24 | private: 25 | std::unique_ptr menu_; 26 | }; 27 | 28 | #endif // CEF_LIBCEF_BROWSER_NATIVE_MENU_RUNNER_VIEWS_AURA_H_ 29 | -------------------------------------------------------------------------------- /libcef/browser/net/chrome_scheme_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NET_CHROME_SCHEME_HANDLER_H_ 6 | #define CEF_LIBCEF_BROWSER_NET_CHROME_SCHEME_HANDLER_H_ 7 | #pragma once 8 | 9 | #include 10 | 11 | #include "include/cef_browser.h" 12 | #include "include/cef_frame.h" 13 | #include "include/cef_process_message.h" 14 | 15 | #include "url/gurl.h" 16 | 17 | namespace base { 18 | class ListValue; 19 | } 20 | 21 | namespace content { 22 | class BrowserURLHandler; 23 | } 24 | 25 | namespace url { 26 | class Origin; 27 | } 28 | 29 | namespace scheme { 30 | 31 | extern const char kChromeURL[]; 32 | 33 | // Register the WebUI controller factory. 34 | void RegisterWebUIControllerFactory(); 35 | 36 | // Register the WebUI handler. 37 | void BrowserURLHandlerCreated(content::BrowserURLHandler* handler); 38 | 39 | // Returns true if WebUI is allowed to make network requests. 40 | bool IsWebUIAllowedToMakeNetworkRequests(const url::Origin& origin); 41 | 42 | } // namespace scheme 43 | 44 | #endif // CEF_LIBCEF_BROWSER_CHROME_SCHEME_HANDLER_H_ 45 | -------------------------------------------------------------------------------- /libcef/browser/net/devtools_scheme_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NET_DEVTOOLS_SCHEME_HANDLER_H_ 6 | #define CEF_LIBCEF_BROWSER_NET_DEVTOOLS_SCHEME_HANDLER_H_ 7 | #pragma once 8 | 9 | class CefIOThreadState; 10 | 11 | namespace scheme { 12 | 13 | extern const char kChromeDevToolsHost[]; 14 | 15 | // Register the chrome-devtools scheme handler. 16 | void RegisterChromeDevToolsHandler(CefIOThreadState* iothread_state); 17 | 18 | } // namespace scheme 19 | 20 | #endif // CEF_LIBCEF_BROWSER_NET_DEVTOOLS_SCHEME_HANDLER_H_ 21 | -------------------------------------------------------------------------------- /libcef/browser/net/scheme_handler.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef/browser/net/scheme_handler.h" 6 | 7 | #include 8 | 9 | #include "libcef/browser/net/chrome_scheme_handler.h" 10 | #include "libcef/browser/net/devtools_scheme_handler.h" 11 | #include "libcef/common/net/scheme_registration.h" 12 | #include "libcef/features/runtime.h" 13 | 14 | #include "content/public/common/url_constants.h" 15 | 16 | namespace scheme { 17 | 18 | void RegisterInternalHandlers(CefIOThreadState* iothread_state) { 19 | if (!cef::IsAlloyRuntimeEnabled()) 20 | return; 21 | 22 | scheme::RegisterChromeDevToolsHandler(iothread_state); 23 | } 24 | 25 | } // namespace scheme 26 | -------------------------------------------------------------------------------- /libcef/browser/net/scheme_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NET_SCHEME_HANDLER_H_ 6 | #define CEF_LIBCEF_BROWSER_NET_SCHEME_HANDLER_H_ 7 | #pragma once 8 | 9 | #include "include/cef_frame.h" 10 | 11 | #include "content/public/browser/browser_context.h" 12 | #include "url/gurl.h" 13 | 14 | class CefIOThreadState; 15 | 16 | namespace scheme { 17 | 18 | // Register the internal scheme handlers that can be overridden. 19 | void RegisterInternalHandlers(CefIOThreadState* iothread_state); 20 | 21 | } // namespace scheme 22 | 23 | #endif // CEF_LIBCEF_BROWSER_NET_SCHEME_HANDLER_H_ 24 | -------------------------------------------------------------------------------- /libcef/browser/net/throttle_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NET_THROTTLE_HANDLER_H_ 6 | #define CEF_LIBCEF_BROWSER_NET_THROTTLE_HANDLER_H_ 7 | #pragma once 8 | 9 | #include 10 | #include 11 | 12 | namespace content { 13 | class NavigationHandle; 14 | class NavigationThrottle; 15 | } // namespace content 16 | 17 | namespace throttle { 18 | 19 | using NavigationThrottleList = 20 | std::vector>; 21 | 22 | void CreateThrottlesForNavigation(content::NavigationHandle* navigation_handle, 23 | NavigationThrottleList& throttles); 24 | 25 | } // namespace throttle 26 | 27 | #endif // CEF_LIBCEF_BROWSER_NET_THROTTLE_HANDLER_H_ 28 | -------------------------------------------------------------------------------- /libcef/browser/net_service/resource_handler_wrapper.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_NET_SERVICE_RESOURCE_HANDLER_WRAPPER_H_ 6 | #define CEF_LIBCEF_BROWSER_NET_SERVICE_RESOURCE_HANDLER_WRAPPER_H_ 7 | 8 | #include "include/cef_request.h" 9 | #include "include/cef_resource_handler.h" 10 | 11 | namespace net_service { 12 | 13 | class ResourceResponse; 14 | 15 | // Create a ResourceResponse that delegates to |handler|. 16 | // The resulting object should be passed to 17 | // InterceptedRequestHandler::ShouldInterceptRequestResultCallback. 18 | std::unique_ptr CreateResourceResponse( 19 | int32_t request_id, 20 | CefRefPtr handler); 21 | 22 | } // namespace net_service 23 | 24 | #endif // CEF_LIBCEF_BROWSER_NET_SERVICE_RESOURCE_HANDLER_WRAPPER_H_ 25 | -------------------------------------------------------------------------------- /libcef/browser/origin_whitelist_impl.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_ORIGIN_WHITELIST_IMPL_H_ 6 | #define CEF_LIBCEF_BROWSER_ORIGIN_WHITELIST_IMPL_H_ 7 | 8 | #include 9 | 10 | #include "third_party/abseil-cpp/absl/types/optional.h" 11 | 12 | #include "cef/libcef/common/mojom/cef.mojom-forward.h" 13 | 14 | namespace content { 15 | class RenderProcessHost; 16 | } 17 | 18 | namespace url { 19 | class Origin; 20 | } 21 | 22 | using CrossOriginWhiteList = 23 | std::vector; 24 | 25 | // Called to retrieve the current list of cross-origin white list entries. This 26 | // method is thread safe. 27 | void GetCrossOriginWhitelistEntries( 28 | absl::optional* entries); 29 | 30 | // Returns true if |source| can access |target| based on the cross-origin white 31 | // list settings. 32 | bool HasCrossOriginWhitelistEntry(const url::Origin& source, 33 | const url::Origin& target); 34 | 35 | #endif // CEF_LIBCEF_BROWSER_ORIGIN_WHITELIST_IMPL_H_ 36 | -------------------------------------------------------------------------------- /libcef/browser/osr/BUILD.gn: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # Used only for the shared texture mojom bindings 6 | 7 | import("//mojo/public/tools/bindings/mojom.gni") 8 | import("//ui/ozone/ozone.gni") 9 | 10 | mojom("osr") { 11 | sources = [ 12 | "external_renderer_updater.mojom" 13 | ] 14 | 15 | public_deps = [ 16 | "//mojo/public/mojom/base", 17 | "//ui/gfx/geometry/mojom", 18 | "//ui/gfx/mojom" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/osr/browser_platform_delegate_osr_linux.h" 6 | 7 | #include 8 | 9 | CefBrowserPlatformDelegateOsrLinux::CefBrowserPlatformDelegateOsrLinux( 10 | std::unique_ptr native_delegate, 11 | bool use_external_begin_frame) 12 | : CefBrowserPlatformDelegateOsr(std::move(native_delegate), 13 | /*use_shared_texture=*/false, 14 | use_external_begin_frame) {} 15 | 16 | CefWindowHandle CefBrowserPlatformDelegateOsrLinux::GetHostWindowHandle() 17 | const { 18 | return native_delegate_->window_info().parent_window; 19 | } 20 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_linux.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_LINUX_H_ 6 | #define CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_LINUX_H_ 7 | 8 | #include "libcef/browser/osr/browser_platform_delegate_osr.h" 9 | 10 | // Windowless browser implementation for Linux. 11 | class CefBrowserPlatformDelegateOsrLinux 12 | : public CefBrowserPlatformDelegateOsr { 13 | public: 14 | CefBrowserPlatformDelegateOsrLinux( 15 | std::unique_ptr native_delegate, 16 | bool use_external_begin_frame); 17 | 18 | // CefBrowserPlatformDelegate methods: 19 | CefWindowHandle GetHostWindowHandle() const override; 20 | }; 21 | 22 | #endif // CEF_LIBCEF_BROWSER_NATIVE_BROWSER_PLATFORM_DELEGATE_OSR_LINUX_H_ 23 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_mac.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_MAC_H_ 6 | #define CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_MAC_H_ 7 | 8 | #include "libcef/browser/osr/browser_platform_delegate_osr.h" 9 | 10 | // Windowless browser implementation for Mac OS X. 11 | class CefBrowserPlatformDelegateOsrMac : public CefBrowserPlatformDelegateOsr { 12 | public: 13 | explicit CefBrowserPlatformDelegateOsrMac( 14 | std::unique_ptr native_delegate, 15 | bool use_shared_texture, 16 | bool use_external_begin_frame); 17 | 18 | // CefBrowserPlatformDelegate methods: 19 | CefWindowHandle GetHostWindowHandle() const override; 20 | }; 21 | 22 | #endif // CEF_LIBCEF_BROWSER_NATIVE_BROWSER_PLATFORM_DELEGATE_OSR_MAC_H_ 23 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_mac.mm: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/osr/browser_platform_delegate_osr_mac.h" 6 | 7 | #include 8 | 9 | CefBrowserPlatformDelegateOsrMac::CefBrowserPlatformDelegateOsrMac( 10 | std::unique_ptr native_delegate, 11 | bool use_shared_texture, 12 | bool use_external_begin_frame) 13 | : CefBrowserPlatformDelegateOsr(std::move(native_delegate), 14 | use_shared_texture, 15 | use_external_begin_frame) {} 16 | 17 | CefWindowHandle CefBrowserPlatformDelegateOsrMac::GetHostWindowHandle() const { 18 | return native_delegate_->window_info().parent_view; 19 | } 20 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_win.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/osr/browser_platform_delegate_osr_win.h" 6 | 7 | #include 8 | 9 | CefBrowserPlatformDelegateOsrWin::CefBrowserPlatformDelegateOsrWin( 10 | std::unique_ptr native_delegate, 11 | bool use_shared_texture, 12 | bool use_external_begin_frame) 13 | : CefBrowserPlatformDelegateOsr(std::move(native_delegate), 14 | use_shared_texture, 15 | use_external_begin_frame) {} 16 | 17 | CefWindowHandle CefBrowserPlatformDelegateOsrWin::GetHostWindowHandle() const { 18 | return native_delegate_->window_info().parent_window; 19 | } 20 | -------------------------------------------------------------------------------- /libcef/browser/osr/browser_platform_delegate_osr_win.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_WIN_H_ 6 | #define CEF_LIBCEF_BROWSER_OSR_BROWSER_PLATFORM_DELEGATE_OSR_WIN_H_ 7 | 8 | #include "libcef/browser/osr/browser_platform_delegate_osr.h" 9 | 10 | // Windowless browser implementation for Windows. 11 | class CefBrowserPlatformDelegateOsrWin : public CefBrowserPlatformDelegateOsr { 12 | public: 13 | explicit CefBrowserPlatformDelegateOsrWin( 14 | std::unique_ptr native_delegate, 15 | bool use_shared_texture, 16 | bool use_external_begin_frame); 17 | 18 | // CefBrowserPlatformDelegate methods: 19 | CefWindowHandle GetHostWindowHandle() const override; 20 | }; 21 | 22 | #endif // CEF_LIBCEF_BROWSER_NATIVE_BROWSER_PLATFORM_DELEGATE_OSR_WIN_H_ 23 | -------------------------------------------------------------------------------- /libcef/browser/osr/external_renderer_updater.mojom: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | module viz.mojom; 6 | 7 | import "mojo/public/mojom/base/shared_memory.mojom"; 8 | import "ui/gfx/geometry/mojom/geometry.mojom"; 9 | import "ui/gfx/mojom/buffer_types.mojom"; 10 | 11 | interface ExternalRendererUpdater { 12 | OnAfterFlip(gfx.mojom.GpuMemoryBufferHandle buffer, bool new_texture, gfx.mojom.Rect damage_rect) => (); 13 | }; 14 | 15 | -------------------------------------------------------------------------------- /libcef/browser/osr/osr_accessibility_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_OSR_ACCESSIBILITY_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_OSR_ACCESSIBILITY_UTIL_H_ 7 | #pragma once 8 | 9 | #include 10 | #include "include/cef_values.h" 11 | 12 | namespace content { 13 | struct AXEventNotificationDetails; 14 | struct AXLocationChangeNotificationDetails; 15 | } // namespace content 16 | 17 | namespace osr_accessibility_util { 18 | 19 | // Convert Accessibility Event and location updates to CefValue, which may be 20 | // consumed or serialized with CefJSONWrite. 21 | CefRefPtr ParseAccessibilityEventData( 22 | const content::AXEventNotificationDetails& data); 23 | 24 | CefRefPtr ParseAccessibilityLocationData( 25 | const std::vector& data); 26 | 27 | } // namespace osr_accessibility_util 28 | 29 | #endif // CEF_LIBCEF_BROWSER_ACCESSIBILITY_UTIL_H_ 30 | -------------------------------------------------------------------------------- /libcef/browser/osr/osr_util.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/browser/osr/osr_util.h" 6 | 7 | namespace osr_util { 8 | 9 | namespace { 10 | 11 | // The rate at which new calls to OnPaint will be generated. 12 | const int kDefaultFrameRate = 30; 13 | 14 | } // namespace 15 | 16 | int ClampFrameRate(int frame_rate) { 17 | if (frame_rate < 1) 18 | return kDefaultFrameRate; 19 | 20 | return frame_rate; 21 | } 22 | 23 | } // namespace osr_util 24 | -------------------------------------------------------------------------------- /libcef/browser/osr/osr_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_OSR_OSR_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_OSR_OSR_UTIL_H_ 7 | 8 | namespace osr_util { 9 | 10 | int ClampFrameRate(int frame_rate); 11 | 12 | } // namespace osr_util 13 | 14 | #endif // CEF_LIBCEF_BROWSER_OSR_OSR_UTIL_H_ 15 | -------------------------------------------------------------------------------- /libcef/browser/printing/constrained_window_views_client.h: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_PRINTING_CONSTRAINED_WINDOW_VIEWS_CLIENT_H_ 6 | #define CEF_LIBCEF_BROWSER_PRINTING_CONSTRAINED_WINDOW_VIEWS_CLIENT_H_ 7 | 8 | #include 9 | 10 | #include "components/constrained_window/constrained_window_views_client.h" 11 | 12 | // Creates a ConstrainedWindowViewsClient for the Chrome environment. 13 | std::unique_ptr 14 | CreateCefConstrainedWindowViewsClient(); 15 | 16 | #endif // CEF_LIBCEF_BROWSER_PRINTING_CONSTRAINED_WINDOW_VIEWS_CLIENT_H_ -------------------------------------------------------------------------------- /libcef/browser/process_util_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "include/cef_process_util.h" 6 | #include "libcef/common/command_line_impl.h" 7 | 8 | #include "base/logging.h" 9 | #include "base/notreached.h" 10 | #include "base/process/launch.h" 11 | #include "content/public/browser/child_process_launcher_utils.h" 12 | 13 | bool CefLaunchProcess(CefRefPtr command_line) { 14 | if (!command_line.get()) { 15 | NOTREACHED() << "invalid parameter"; 16 | return false; 17 | } 18 | 19 | if (!content::CurrentlyOnProcessLauncherTaskRunner()) { 20 | NOTREACHED() << "called on invalid thread"; 21 | return false; 22 | } 23 | 24 | CefCommandLineImpl* impl = 25 | static_cast(command_line.get()); 26 | 27 | CefValueController::AutoLock lock_scope(impl->controller()); 28 | 29 | base::LaunchOptions options; 30 | return base::LaunchProcess(impl->command_line(), options).IsValid(); 31 | } 32 | -------------------------------------------------------------------------------- /libcef/browser/scheme_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #include "include/cef_scheme.h" 6 | #include "libcef/browser/context.h" 7 | 8 | #include "base/logging.h" 9 | 10 | bool CefRegisterSchemeHandlerFactory( 11 | const CefString& scheme_name, 12 | const CefString& domain_name, 13 | CefRefPtr factory) { 14 | // Verify that the context is in a valid state. 15 | if (!CONTEXT_STATE_VALID()) { 16 | NOTREACHED() << "context not valid"; 17 | return false; 18 | } 19 | 20 | return CefRequestContext::GetGlobalContext()->RegisterSchemeHandlerFactory( 21 | scheme_name, domain_name, factory); 22 | } 23 | 24 | bool CefClearSchemeHandlerFactories() { 25 | // Verify that the context is in a valid state. 26 | if (!CONTEXT_STATE_VALID()) { 27 | NOTREACHED() << "context not valid"; 28 | return false; 29 | } 30 | 31 | return CefRequestContext::GetGlobalContext()->ClearSchemeHandlerFactories(); 32 | } 33 | -------------------------------------------------------------------------------- /libcef/browser/ssl_info_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef/browser/ssl_info_impl.h" 6 | #include "libcef/browser/x509_certificate_impl.h" 7 | 8 | #include "net/cert/cert_status_flags.h" 9 | 10 | CefSSLInfoImpl::CefSSLInfoImpl(const net::SSLInfo& value) 11 | : cert_status_(CERT_STATUS_NONE) { 12 | cert_status_ = static_cast(value.cert_status); 13 | if (value.cert.get()) { 14 | cert_ = new CefX509CertificateImpl(value.cert); 15 | } 16 | } 17 | 18 | cef_cert_status_t CefSSLInfoImpl::GetCertStatus() { 19 | return cert_status_; 20 | } 21 | 22 | CefRefPtr CefSSLInfoImpl::GetX509Certificate() { 23 | return cert_; 24 | } 25 | 26 | bool CefIsCertStatusError(cef_cert_status_t status) { 27 | return net::IsCertStatusError(status); 28 | } 29 | -------------------------------------------------------------------------------- /libcef/browser/ssl_info_impl.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_SSL_INFO_IMPL_H_ 6 | #define CEF_LIBCEF_BROWSER_SSL_INFO_IMPL_H_ 7 | #pragma once 8 | 9 | #include "include/cef_ssl_info.h" 10 | 11 | #include "net/ssl/ssl_info.h" 12 | 13 | // CefSSLInfo implementation 14 | class CefSSLInfoImpl : public CefSSLInfo { 15 | public: 16 | explicit CefSSLInfoImpl(const net::SSLInfo& value); 17 | 18 | CefSSLInfoImpl(const CefSSLInfoImpl&) = delete; 19 | CefSSLInfoImpl& operator=(const CefSSLInfoImpl&) = delete; 20 | 21 | // CefSSLInfo methods. 22 | cef_cert_status_t GetCertStatus() override; 23 | CefRefPtr GetX509Certificate() override; 24 | 25 | private: 26 | cef_cert_status_t cert_status_; 27 | CefRefPtr cert_; 28 | 29 | IMPLEMENT_REFCOUNTING(CefSSLInfoImpl); 30 | }; 31 | 32 | #endif // CEF_LIBCEF_BROWSER_SSL_INFO_IMPL_H_ 33 | -------------------------------------------------------------------------------- /libcef/browser/views/basic_label_button_view.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/basic_label_button_view.h" 6 | 7 | CefBasicLabelButtonView::CefBasicLabelButtonView( 8 | CefButtonDelegate* cef_delegate) 9 | : ParentClass(cef_delegate) {} 10 | -------------------------------------------------------------------------------- /libcef/browser/views/basic_panel_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/basic_panel_impl.h" 6 | 7 | #include "libcef/browser/views/basic_panel_view.h" 8 | 9 | // static 10 | CefRefPtr CefPanel::CreatePanel( 11 | CefRefPtr delegate) { 12 | return CefBasicPanelImpl::Create(delegate); 13 | } 14 | 15 | // static 16 | CefRefPtr CefBasicPanelImpl::Create( 17 | CefRefPtr delegate) { 18 | CEF_REQUIRE_UIT_RETURN(nullptr); 19 | CefRefPtr panel = new CefBasicPanelImpl(delegate); 20 | panel->Initialize(); 21 | return panel; 22 | } 23 | 24 | CefBasicPanelImpl::CefBasicPanelImpl(CefRefPtr delegate) 25 | : ParentClass(delegate) {} 26 | 27 | views::View* CefBasicPanelImpl::CreateRootView() { 28 | return new CefBasicPanelView(delegate()); 29 | } 30 | 31 | void CefBasicPanelImpl::InitializeRootView() { 32 | static_cast(root_view())->Initialize(); 33 | } 34 | -------------------------------------------------------------------------------- /libcef/browser/views/basic_panel_view.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/basic_panel_view.h" 6 | 7 | CefBasicPanelView::CefBasicPanelView(CefPanelDelegate* cef_delegate) 8 | : ParentClass(cef_delegate) {} 9 | -------------------------------------------------------------------------------- /libcef/browser/views/basic_panel_view.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_VIEWS_BASIC_PANEL_VIEW_H_ 6 | #define CEF_LIBCEF_BROWSER_VIEWS_BASIC_PANEL_VIEW_H_ 7 | #pragma once 8 | 9 | #include "include/views/cef_panel_delegate.h" 10 | 11 | #include "libcef/browser/views/panel_view.h" 12 | 13 | class CefBasicPanelView : public CefPanelView { 14 | public: 15 | using ParentClass = CefPanelView; 16 | 17 | // |cef_delegate| may be nullptr. 18 | explicit CefBasicPanelView(CefPanelDelegate* cef_delegate); 19 | 20 | CefBasicPanelView(const CefBasicPanelView&) = delete; 21 | CefBasicPanelView& operator=(const CefBasicPanelView&) = delete; 22 | }; 23 | 24 | #endif // CEF_LIBCEF_BROWSER_VIEWS_BASIC_PANEL_VIEW_H_ 25 | -------------------------------------------------------------------------------- /libcef/browser/views/fill_layout_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/fill_layout_impl.h" 6 | 7 | #include "libcef/browser/thread_util.h" 8 | 9 | // static 10 | CefRefPtr CefFillLayoutImpl::Create(views::View* owner_view) { 11 | CEF_REQUIRE_UIT_RETURN(nullptr); 12 | CefRefPtr impl = new CefFillLayoutImpl(); 13 | impl->Initialize(owner_view); 14 | return impl; 15 | } 16 | 17 | CefFillLayoutImpl::CefFillLayoutImpl() {} 18 | 19 | views::FillLayout* CefFillLayoutImpl::CreateLayout() { 20 | return new views::FillLayout(); 21 | } 22 | -------------------------------------------------------------------------------- /libcef/browser/views/layout_adapter.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/layout_adapter.h" 6 | 7 | #include "libcef/browser/views/box_layout_impl.h" 8 | #include "libcef/browser/views/fill_layout_impl.h" 9 | 10 | // static 11 | CefLayoutAdapter* CefLayoutAdapter::GetFor(CefRefPtr layout) { 12 | CefLayoutAdapter* adapter = nullptr; 13 | if (layout->AsBoxLayout()) { 14 | adapter = static_cast(layout->AsBoxLayout().get()); 15 | } else if (layout->AsFillLayout()) { 16 | adapter = static_cast(layout->AsFillLayout().get()); 17 | } 18 | 19 | DCHECK(adapter); 20 | return adapter; 21 | } 22 | -------------------------------------------------------------------------------- /libcef/browser/views/layout_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_UTIL_H_ 6 | #define CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_UTIL_H_ 7 | #pragma once 8 | 9 | #include "include/views/cef_layout.h" 10 | 11 | #include "ui/views/layout/layout_manager.h" 12 | 13 | namespace views { 14 | class View; 15 | } 16 | 17 | // The below functions manage the relationship between CefLayout and 18 | // views::LayoutManager instances. See comments in view_impl.h for a usage 19 | // overview. 20 | 21 | namespace layout_util { 22 | 23 | // Returns the CefLayout object associated with |owner_view|. 24 | CefRefPtr GetFor(const views::View* owner_view); 25 | 26 | // Assign ownership of |layout| to |owner_view|. If a CefLayout is already 27 | // associated with |owner_view| it will be invalidated. 28 | void Assign(CefRefPtr layout, views::View* owner_view); 29 | 30 | } // namespace layout_util 31 | 32 | #endif // CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_UTIL_H_ 33 | -------------------------------------------------------------------------------- /libcef/browser/views/menu_runner_views.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_VIEWS_MENU_RUNNER_VIEWS_H_ 6 | #define CEF_LIBCEF_BROWSER_VIEWS_MENU_RUNNER_VIEWS_H_ 7 | #pragma once 8 | 9 | #include "libcef/browser/menu_runner.h" 10 | 11 | class CefBrowserViewImpl; 12 | 13 | class CefMenuRunnerViews : public CefMenuRunner { 14 | public: 15 | // |browser_view| is guaranteed to outlive this object. 16 | explicit CefMenuRunnerViews(CefBrowserViewImpl* browser_view); 17 | 18 | // CefMenuRunner methods. 19 | bool RunContextMenu(AlloyBrowserHostImpl* browser, 20 | CefMenuModelImpl* model, 21 | const content::ContextMenuParams& params) override; 22 | void CancelContextMenu() override; 23 | bool FormatLabel(std::u16string& label) override; 24 | 25 | private: 26 | CefBrowserViewImpl* browser_view_; 27 | }; 28 | 29 | #endif // CEF_LIBCEF_BROWSER_VIEWS_MENU_RUNNER_VIEWS_H_ 30 | -------------------------------------------------------------------------------- /libcef/browser/views/scroll_view_view.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #include "libcef/browser/views/scroll_view_view.h" 6 | 7 | CefScrollViewView::CefScrollViewView(CefViewDelegate* cef_delegate) 8 | : ParentClass(cef_delegate) {} 9 | -------------------------------------------------------------------------------- /libcef/browser/views/scroll_view_view.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_BROWSER_VIEWS_SCROLL_VIEW_VIEW_H_ 6 | #define CEF_LIBCEF_BROWSER_VIEWS_SCROLL_VIEW_VIEW_H_ 7 | #pragma once 8 | 9 | #include "include/views/cef_panel_delegate.h" 10 | 11 | #include "libcef/browser/views/view_view.h" 12 | 13 | #include "ui/views/controls/scroll_view.h" 14 | 15 | class CefScrollViewView 16 | : public CefViewView { 17 | public: 18 | using ParentClass = CefViewView; 19 | 20 | // |cef_delegate| may be nullptr. 21 | explicit CefScrollViewView(CefViewDelegate* cef_delegate); 22 | 23 | CefScrollViewView(const CefScrollViewView&) = delete; 24 | CefScrollViewView& operator=(const CefScrollViewView&) = delete; 25 | }; 26 | 27 | #endif // CEF_LIBCEF_BROWSER_VIEWS_SCROLL_VIEW_VIEW_H_ 28 | -------------------------------------------------------------------------------- /libcef/common/cef_crash_report_utils.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_CEF_CRASH_REPORT_UTILS_H_ 6 | #define CEF_LIBCEF_COMMON_CEF_CRASH_REPORT_UTILS_H_ 7 | 8 | #include 9 | #include 10 | 11 | namespace crash_report_utils { 12 | 13 | using ParameterMap = std::map; 14 | 15 | ParameterMap FilterParameters(const ParameterMap& parameters); 16 | 17 | } // namespace crash_report_utils 18 | 19 | #endif // CEF_LIBCEF_COMMON_CEF_CRASH_REPORT_UTILS_H_ 20 | -------------------------------------------------------------------------------- /libcef/common/chrome/chrome_content_client_cef.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. 2 | // Portions copyright 2014 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #include "libcef/common/chrome/chrome_content_client_cef.h" 7 | 8 | #include "libcef/common/app_manager.h" 9 | 10 | ChromeContentClientCef::ChromeContentClientCef() = default; 11 | ChromeContentClientCef::~ChromeContentClientCef() = default; 12 | 13 | void ChromeContentClientCef::AddAdditionalSchemes(Schemes* schemes) { 14 | ChromeContentClient::AddAdditionalSchemes(schemes); 15 | CefAppManager::Get()->AddAdditionalSchemes(schemes); 16 | } 17 | -------------------------------------------------------------------------------- /libcef/common/chrome/chrome_content_client_cef.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. 2 | // Portions copyright 2014 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #ifndef CEF_LIBCEF_COMMON_CHROME_CHROME_CONTENT_CLIENT_CEF_H_ 7 | #define CEF_LIBCEF_COMMON_CHROME_CHROME_CONTENT_CLIENT_CEF_H_ 8 | 9 | #include "chrome/common/chrome_content_client.h" 10 | 11 | class ChromeContentClientCef : public ChromeContentClient { 12 | public: 13 | ChromeContentClientCef(); 14 | ~ChromeContentClientCef() override; 15 | 16 | // content::ContentClient overrides. 17 | void AddAdditionalSchemes(Schemes* schemes) override; 18 | }; 19 | 20 | #endif // CEF_LIBCEF_COMMON_CHROME_CHROME_CONTENT_CLIENT_CEF_H_ 21 | -------------------------------------------------------------------------------- /libcef/common/extensions/api/BUILD.gn: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Embedded Framework Authors. Portions copyright 2 | # 2014 the Chromium Authors. All rights reserved. Use of this source code is 3 | # governed by a BSD-style license that can be found in the LICENSE file. 4 | 5 | import("//tools/json_schema_compiler/json_features.gni") 6 | 7 | json_features("cef_api_features") { 8 | feature_type = "APIFeature" 9 | method_name = "AddCEFAPIFeatures" 10 | sources = [ 11 | "_api_features.json", 12 | ] 13 | } 14 | 15 | json_features("cef_permission_features") { 16 | feature_type = "PermissionFeature" 17 | method_name = "AddCEFPermissionFeatures" 18 | sources = [ 19 | "_permission_features.json", 20 | ] 21 | } 22 | 23 | json_features("cef_manifest_features") { 24 | feature_type = "ManifestFeature" 25 | method_name = "AddCEFManifestFeatures" 26 | sources = [ 27 | # Use the same manifest features as Chrome. 28 | "//chrome/common/extensions/api/_manifest_features.json", 29 | ] 30 | } 31 | 32 | group("extensions_features") { 33 | public_deps = [ 34 | ":cef_api_features", 35 | ":cef_manifest_features", 36 | ":cef_permission_features", 37 | "//extensions/common/api:extensions_features", 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /libcef/common/extensions/chrome_generated_schemas.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/common/extensions/chrome_generated_schemas.h" 6 | 7 | #include "libcef/browser/extensions/chrome_api_registration.h" 8 | 9 | #include "chrome/common/extensions/api/generated_schemas.h" 10 | 11 | namespace extensions { 12 | namespace api { 13 | namespace cef { 14 | 15 | // static 16 | base::StringPiece ChromeGeneratedSchemas::Get(const std::string& name) { 17 | if (!ChromeFunctionRegistry::IsSupported(name)) 18 | return base::StringPiece(); 19 | return extensions::api::ChromeGeneratedSchemas::Get(name); 20 | } 21 | 22 | // static 23 | bool ChromeGeneratedSchemas::IsGenerated(std::string name) { 24 | if (!ChromeFunctionRegistry::IsSupported(name)) 25 | return false; 26 | return extensions::api::ChromeGeneratedSchemas::IsGenerated(name); 27 | } 28 | 29 | } // namespace cef 30 | } // namespace api 31 | } // namespace extensions 32 | -------------------------------------------------------------------------------- /libcef/common/extensions/chrome_generated_schemas.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // GENERATED FROM THE API DEFINITIONS IN 6 | // chrome\common\extensions\api 7 | // DO NOT EDIT. 8 | 9 | #ifndef CEF_LIBCEF_COMMON_EXTENSIONS_CHROME_GENERATED_SCHEMAS_H_ 10 | #define CEF_LIBCEF_COMMON_EXTENSIONS_CHROME_GENERATED_SCHEMAS_H_ 11 | 12 | #include 13 | #include 14 | 15 | #include "base/strings/string_piece.h" 16 | 17 | namespace extensions { 18 | namespace api { 19 | namespace cef { 20 | 21 | class ChromeGeneratedSchemas { 22 | public: 23 | // Determines if schema named |name| is generated. 24 | static bool IsGenerated(std::string name); 25 | 26 | // Gets the API schema named |name|. 27 | static base::StringPiece Get(const std::string& name); 28 | }; 29 | 30 | } // namespace cef 31 | } // namespace api 32 | } // namespace extensions 33 | 34 | #endif // CEF_LIBCEF_COMMON_EXTENSIONS_CHROME_GENERATED_SCHEMAS_H_ 35 | -------------------------------------------------------------------------------- /libcef/common/extensions/extensions_util.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_UTIL_H_ 6 | #define CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_UTIL_H_ 7 | 8 | namespace extensions { 9 | 10 | // Returns true if extensions have not been disabled via the command-line. 11 | bool ExtensionsEnabled(); 12 | 13 | // Returns true if the PDF extension has not been disabled via the command-line. 14 | bool PdfExtensionEnabled(); 15 | 16 | // Returns true if Print Preview has been enabled via the command-line. 17 | bool PrintPreviewEnabled(); 18 | 19 | } // namespace extensions 20 | 21 | #endif // CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_UTIL_H_ 22 | -------------------------------------------------------------------------------- /libcef/common/i18n_util_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #include "include/cef_i18n_util.h" 6 | 7 | #include "base/i18n/rtl.h" 8 | 9 | bool CefIsRTL() { 10 | return base::i18n::IsRTL(); 11 | } 12 | -------------------------------------------------------------------------------- /libcef/common/main_runner_handler.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_MAIN_RUNNER_HANDLER_H_ 6 | #define CEF_LIBCEF_COMMON_MAIN_RUNNER_HANDLER_H_ 7 | #pragma once 8 | 9 | namespace content { 10 | struct MainFunctionParams; 11 | } 12 | 13 | // Handles running of the main process. 14 | class CefMainRunnerHandler { 15 | public: 16 | virtual void PreBrowserMain() = 0; 17 | virtual int RunMainProcess( 18 | content::MainFunctionParams main_function_params) = 0; 19 | 20 | protected: 21 | virtual ~CefMainRunnerHandler() {} 22 | }; 23 | 24 | #endif // CEF_LIBCEF_COMMON_MAIN_RUNNER_HANDLER_H_ 25 | -------------------------------------------------------------------------------- /libcef/common/mojom/BUILD.gn: -------------------------------------------------------------------------------- 1 | # Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import("//mojo/public/tools/bindings/mojom.gni") 6 | 7 | mojom("mojom") { 8 | sources = [ "cef.mojom" ] 9 | 10 | cpp_only = true 11 | disable_variants = true 12 | 13 | public_deps = [ 14 | "//content/public/common:interfaces", 15 | "//mojo/public/mojom/base", 16 | "//services/network/public/mojom:cookies_mojom", 17 | "//services/network/public/mojom:url_loader_base", 18 | "//third_party/blink/public/mojom:mojom_platform", 19 | "//ui/gfx/geometry/mojom", 20 | "//url/mojom:url_mojom_gurl", 21 | ] 22 | 23 | overridden_deps = [ 24 | "//content/public/common:interfaces", 25 | "//third_party/blink/public/mojom:mojom_platform", 26 | ] 27 | 28 | component_deps = [ "//content/public/common" ] 29 | } 30 | -------------------------------------------------------------------------------- /libcef/common/net/http_header_utils.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_NET_HTTP_HEADER_UTILS_H_ 6 | #define CEF_LIBCEF_COMMON_NET_HTTP_HEADER_UTILS_H_ 7 | #pragma once 8 | 9 | #include 10 | #include 11 | 12 | #include "include/cef_base.h" 13 | 14 | namespace HttpHeaderUtils { 15 | 16 | using HeaderMap = std::multimap; 17 | 18 | std::string GenerateHeaders(const HeaderMap& map); 19 | void ParseHeaders(const std::string& header_str, HeaderMap& map); 20 | 21 | // Convert |str| to lower-case. 22 | void MakeASCIILower(std::string* str); 23 | 24 | // Finds the first instance of |name| (already lower-case) in |map| with 25 | // case-insensitive comparison. 26 | HeaderMap::iterator FindHeaderInMap(const std::string& name, HeaderMap& map); 27 | 28 | } // namespace HttpHeaderUtils 29 | 30 | #endif // CEF_LIBCEF_COMMON_NET_HTTP_HEADER_UTILS_H_ 31 | -------------------------------------------------------------------------------- /libcef/common/net/net_resource_provider.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef/common/net/net_resource_provider.h" 6 | 7 | #include "base/logging.h" 8 | #include "chrome/common/net/net_resource_provider.h" 9 | 10 | scoped_refptr NetResourceProvider(int key) { 11 | // Chrome performs substitution of localized strings for directory listings. 12 | scoped_refptr value = ChromeNetResourceProvider(key); 13 | if (!value) 14 | LOG(ERROR) << "No data resource available for id " << key; 15 | return value; 16 | } 17 | -------------------------------------------------------------------------------- /libcef/common/net/net_resource_provider.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_NET_RESOURCE_PROVIDER_H_ 6 | #define CEF_LIBCEF_COMMON_NET_RESOURCE_PROVIDER_H_ 7 | #pragma once 8 | 9 | #include "base/memory/ref_counted_memory.h" 10 | 11 | // This is called indirectly by the network layer to access resources. 12 | scoped_refptr NetResourceProvider(int key); 13 | 14 | #endif // CEF_LIBCEF_COMMON_NET_RESOURCE_PROVIDER_H_ 15 | -------------------------------------------------------------------------------- /libcef/common/net/scheme_registration.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_NET_SCHEME_REGISTRATION_H_ 6 | #define CEF_LIBCEF_COMMON_NET_SCHEME_REGISTRATION_H_ 7 | #pragma once 8 | 9 | #include 10 | #include 11 | 12 | #include "content/public/common/content_client.h" 13 | 14 | namespace scheme { 15 | 16 | // Add internal schemes. 17 | void AddInternalSchemes(content::ContentClient::Schemes* schemes); 18 | 19 | // Returns true if the specified |scheme| is handled internally. 20 | bool IsInternalHandledScheme(const std::string& scheme); 21 | 22 | // Returns true if the specified |scheme| is a registered standard scheme. 23 | bool IsStandardScheme(const std::string& scheme); 24 | 25 | // Returns true if the specified |scheme| is a registered CORS enabled scheme. 26 | bool IsCorsEnabledScheme(const std::string& scheme); 27 | 28 | } // namespace scheme 29 | 30 | #endif // CEF_LIBCEF_COMMON_NET_SCHEME_REGISTRATION_H_ 31 | -------------------------------------------------------------------------------- /libcef/common/net/url_util.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_NET_URL_UTIL_H_ 6 | #define CEF_LIBCEF_COMMON_NET_URL_UTIL_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | 11 | class GURL; 12 | 13 | namespace url_util { 14 | 15 | // Convert |url| to a GURL, adding a scheme prefix if necessary. 16 | // If |fixup| is true then FixupGURL() will also be called. 17 | GURL MakeGURL(const CefString& url, bool fixup); 18 | 19 | // Fix common problems with user-typed text. Among other things, this: 20 | // - Converts absolute file paths to "file://" URLs. 21 | // - Normalizes "about:" and "chrome:" to "chrome://" URLs 22 | // Modifies |gurl| if necessary. Returns true if |gurl| is empty or valid. 23 | bool FixupGURL(GURL& gurl); 24 | 25 | } // namespace url_util 26 | 27 | #endif // CEF_LIBCEF_COMMON_NET_URL_UTIL_H_ 28 | -------------------------------------------------------------------------------- /libcef/common/resource_bundle_impl.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_RESOURCE_BUNDLE_IMPL_H_ 6 | #define CEF_LIBCEF_COMMON_RESOURCE_BUNDLE_IMPL_H_ 7 | #pragma once 8 | 9 | #include "include/cef_resource_bundle.h" 10 | 11 | class CefResourceBundleImpl : public CefResourceBundle { 12 | public: 13 | CefResourceBundleImpl(); 14 | 15 | CefResourceBundleImpl(const CefResourceBundleImpl&) = delete; 16 | CefResourceBundleImpl& operator=(const CefResourceBundleImpl&) = delete; 17 | 18 | // CefResourceBundle methods. 19 | CefString GetLocalizedString(int string_id) override; 20 | CefRefPtr GetDataResource(int resource_id) override; 21 | CefRefPtr GetDataResourceForScale( 22 | int resource_id, 23 | ScaleFactor scale_factor) override; 24 | 25 | private: 26 | IMPLEMENT_REFCOUNTING(CefResourceBundleImpl); 27 | }; 28 | 29 | #endif // CEF_LIBCEF_COMMON_RESOURCE_BUNDLE_IMPL_H_ 30 | -------------------------------------------------------------------------------- /libcef/common/scheme_registrar_impl.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_SCHEME_REGISTRAR_IMPL_H_ 6 | #define CEF_LIBCEF_COMMON_SCHEME_REGISTRAR_IMPL_H_ 7 | #pragma once 8 | 9 | #include 10 | #include 11 | 12 | #include "include/cef_scheme.h" 13 | 14 | #include "content/public/common/content_client.h" 15 | 16 | class CefSchemeRegistrarImpl : public CefSchemeRegistrar { 17 | public: 18 | CefSchemeRegistrarImpl(); 19 | 20 | CefSchemeRegistrarImpl(const CefSchemeRegistrarImpl&) = delete; 21 | CefSchemeRegistrarImpl& operator=(const CefSchemeRegistrarImpl&) = delete; 22 | 23 | // CefSchemeRegistrar methods. 24 | bool AddCustomScheme(const CefString& scheme_name, int options) override; 25 | 26 | void GetSchemes(content::ContentClient::Schemes* schemes); 27 | 28 | private: 29 | content::ContentClient::Schemes schemes_; 30 | std::set registered_schemes_; 31 | }; 32 | 33 | #endif // CEF_LIBCEF_COMMON_SCHEME_REGISTRAR_IMPL_H_ 34 | -------------------------------------------------------------------------------- /libcef/common/task_runner_manager.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/common/task_runner_manager.h" 6 | 7 | #include "base/logging.h" 8 | 9 | namespace { 10 | 11 | CefTaskRunnerManager* g_manager = nullptr; 12 | 13 | } // namespace 14 | 15 | // static 16 | CefTaskRunnerManager* CefTaskRunnerManager::Get() { 17 | return g_manager; 18 | } 19 | 20 | CefTaskRunnerManager::CefTaskRunnerManager() { 21 | // Only a single instance should exist. 22 | DCHECK(!g_manager); 23 | g_manager = this; 24 | } 25 | 26 | CefTaskRunnerManager::~CefTaskRunnerManager() { 27 | g_manager = nullptr; 28 | } 29 | -------------------------------------------------------------------------------- /libcef/common/time_util.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_TIME_UTIL_H_ 6 | #define CEF_LIBCEF_COMMON_TIME_UTIL_H_ 7 | #pragma once 8 | 9 | #include "base/time/time.h" 10 | #include "include/internal/cef_time.h" 11 | 12 | // Converts cef_time_t to/from a base::Time object. 13 | void cef_time_to_basetime(const cef_time_t& cef_time, base::Time& time); 14 | void cef_time_from_basetime(const base::Time& time, cef_time_t& cef_time); 15 | 16 | #endif // CEF_LIBCEF_COMMON_TIME_UTIL_H_ 17 | -------------------------------------------------------------------------------- /libcef/common/util_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Chromium Embedded Framework Authors. Portions copyright 2 | // 2011 The Chromium Authors. All rights reserved. Use of this source code is 3 | // governed by a BSD-style license that can be found in the LICENSE file. 4 | 5 | #include "libcef/common/util_linux.h" 6 | 7 | #include "base/command_line.h" 8 | #include "base/files/file_path.h" 9 | #include "base/path_service.h" 10 | #include "content/public/common/content_paths.h" 11 | #include "content/public/common/content_switches.h" 12 | 13 | namespace util_linux { 14 | 15 | namespace { 16 | 17 | void OverrideChildProcessPath() { 18 | base::FilePath child_process_path = 19 | base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( 20 | switches::kBrowserSubprocessPath); 21 | if (child_process_path.empty()) 22 | return; 23 | 24 | // Used by ChildProcessHost::GetChildPath and PlatformCrashpadInitialization. 25 | base::PathService::Override(content::CHILD_PROCESS_EXE, child_process_path); 26 | } 27 | 28 | } // namespace 29 | 30 | void PreSandboxStartup() { 31 | OverrideChildProcessPath(); 32 | } 33 | 34 | } // namespace util_linux 35 | -------------------------------------------------------------------------------- /libcef/common/util_linux.h: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Chromium Embedded Framework Authors. Portions copyright 2 | // 2011 The Chromium Authors. All rights reserved. Use of this source code is 3 | // governed by a BSD-style license that can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_UTIL_LINUX_H_ 6 | #define CEF_LIBCEF_COMMON_UTIL_LINUX_H_ 7 | #pragma once 8 | 9 | namespace util_linux { 10 | 11 | // Called from MainDelegate::PreSandboxStartup for the main process. 12 | void PreSandboxStartup(); 13 | 14 | } // namespace util_linux 15 | 16 | #endif // CEF_LIBCEF_COMMON_UTIL_LINUX_H_ 17 | -------------------------------------------------------------------------------- /libcef/common/waitable_event_impl.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that can 3 | // be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_COMMON_WAITABLE_EVENT_IMPL_H_ 6 | #define CEF_LIBCEF_COMMON_WAITABLE_EVENT_IMPL_H_ 7 | #pragma once 8 | 9 | #include "include/cef_waitable_event.h" 10 | 11 | #include "base/synchronization/waitable_event.h" 12 | 13 | class CefWaitableEventImpl : public CefWaitableEvent { 14 | public: 15 | CefWaitableEventImpl(bool automatic_reset, bool initially_signaled); 16 | 17 | CefWaitableEventImpl(const CefWaitableEventImpl&) = delete; 18 | CefWaitableEventImpl& operator=(const CefWaitableEventImpl&) = delete; 19 | 20 | // CefWaitableEvent methods: 21 | void Reset() override; 22 | void Signal() override; 23 | bool IsSignaled() override; 24 | void Wait() override; 25 | bool TimedWait(int64 max_ms) override; 26 | 27 | private: 28 | base::WaitableEvent event_; 29 | 30 | IMPLEMENT_REFCOUNTING(CefWaitableEventImpl); 31 | }; 32 | 33 | #endif // CEF_LIBCEF_COMMON_WAITABLE_EVENT_IMPL_H_ 34 | -------------------------------------------------------------------------------- /libcef/features/features.gni: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | declare_args() { 6 | enable_cef = true 7 | 8 | # Enables base target customizations necessary for distribution of the 9 | # cef_sandbox static library. This value will be set via gn_args.py for the 10 | # official sandbox build configurations only. DO NOT SET THIS VALUE MANUALLY 11 | # FOR OTHER CHROMIUM/CEF BUILD CONFIGURATIONS AS ITS USE MAY HAVE SIGNIFICANT 12 | # PERFORMANCE AND/OR SECURITY IMPLICATIONS. 13 | is_cef_sandbox_build = false 14 | } 15 | -------------------------------------------------------------------------------- /libcef/features/runtime.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_FEATURES_RUNTIME_H_ 6 | #define CEF_LIBCEF_FEATURES_RUNTIME_H_ 7 | #pragma once 8 | 9 | #include "cef/libcef/features/features.h" 10 | 11 | namespace cef { 12 | 13 | #if BUILDFLAG(ENABLE_CEF) 14 | 15 | inline bool IsCefBuildEnabled() { 16 | return true; 17 | } 18 | 19 | // True if CEF was initialized with the Alloy runtime. 20 | bool IsAlloyRuntimeEnabled(); 21 | 22 | // True if CEF was initialized with the Chrome runtime. 23 | bool IsChromeRuntimeEnabled(); 24 | 25 | // True if CEF crash reporting is enabled. 26 | bool IsCrashReportingEnabled(); 27 | 28 | #else 29 | 30 | inline bool IsCefBuildEnabled() { 31 | return false; 32 | } 33 | inline bool IsAlloyRuntimeEnabled() { 34 | return false; 35 | } 36 | inline bool IsChromeRuntimeEnabled() { 37 | return false; 38 | } 39 | inline bool IsCrashReportingEnabled() { 40 | return false; 41 | } 42 | 43 | #endif 44 | 45 | } // namespace cef 46 | 47 | #endif // CEF_LIBCEF_FEATURES_RUNTIME_H_ 48 | -------------------------------------------------------------------------------- /libcef/features/runtime_checks.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_FEATURES_RUNTIME_CHECKS_H_ 6 | #define CEF_LIBCEF_FEATURES_RUNTIME_CHECKS_H_ 7 | #pragma once 8 | 9 | #include "base/logging.h" 10 | #include "cef/libcef/features/runtime.h" 11 | 12 | #define REQUIRE_ALLOY_RUNTIME() \ 13 | CHECK(cef::IsAlloyRuntimeEnabled()) << "Alloy runtime is required" 14 | 15 | #define REQUIRE_CHROME_RUNTIME() \ 16 | CHECK(cef::IsChromeRuntimeEnabled()) << "Chrome runtime is required" 17 | 18 | #endif // CEF_LIBCEF_FEATURES_RUNTIME_CHECKS_H_ 19 | -------------------------------------------------------------------------------- /libcef/renderer/extensions/extensions_dispatcher_delegate.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "libcef/renderer/extensions/extensions_dispatcher_delegate.h" 6 | 7 | #include "base/feature_list.h" 8 | #include "chrome/grit/renderer_resources.h" 9 | #include "extensions/common/extension_features.h" 10 | #include "extensions/renderer/resource_bundle_source_map.h" 11 | 12 | namespace extensions { 13 | 14 | CefExtensionsDispatcherDelegate::CefExtensionsDispatcherDelegate() {} 15 | 16 | CefExtensionsDispatcherDelegate::~CefExtensionsDispatcherDelegate() {} 17 | 18 | void CefExtensionsDispatcherDelegate::PopulateSourceMap( 19 | extensions::ResourceBundleSourceMap* source_map) {} 20 | 21 | } // namespace extensions 22 | -------------------------------------------------------------------------------- /libcef/renderer/extensions/extensions_dispatcher_delegate.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_ 6 | #define CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_ 7 | 8 | #include "extensions/renderer/dispatcher_delegate.h" 9 | 10 | namespace extensions { 11 | 12 | class CefExtensionsDispatcherDelegate : public DispatcherDelegate { 13 | public: 14 | CefExtensionsDispatcherDelegate(); 15 | 16 | CefExtensionsDispatcherDelegate(const CefExtensionsDispatcherDelegate&) = 17 | delete; 18 | CefExtensionsDispatcherDelegate& operator=( 19 | const CefExtensionsDispatcherDelegate&) = delete; 20 | 21 | ~CefExtensionsDispatcherDelegate() override; 22 | 23 | void PopulateSourceMap( 24 | extensions::ResourceBundleSourceMap* source_map) override; 25 | }; 26 | 27 | } // namespace extensions 28 | 29 | #endif // CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_ 30 | -------------------------------------------------------------------------------- /libcef/renderer/extensions/print_render_frame_helper_delegate.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_RENDERER_EXTENSIONS_PRINT_RENDER_FRAME_HELPER_DELEGATE_H_ 6 | #define CEF_LIBCEF_RENDERER_EXTENSIONS_PRINT_RENDER_FRAME_HELPER_DELEGATE_H_ 7 | 8 | #include "components/printing/renderer/print_render_frame_helper.h" 9 | 10 | namespace extensions { 11 | 12 | class CefPrintRenderFrameHelperDelegate 13 | : public printing::PrintRenderFrameHelper::Delegate { 14 | public: 15 | explicit CefPrintRenderFrameHelperDelegate(bool is_windowless); 16 | ~CefPrintRenderFrameHelperDelegate() override; 17 | 18 | blink::WebElement GetPdfElement(blink::WebLocalFrame* frame) override; 19 | bool IsPrintPreviewEnabled() override; 20 | bool OverridePrint(blink::WebLocalFrame* frame) override; 21 | 22 | private: 23 | bool is_windowless_; 24 | }; 25 | 26 | } // namespace extensions 27 | 28 | #endif // CEF_LIBCEF_RENDERER_EXTENSIONS_PRINT_RENDER_FRAME_HELPER_DELEGATE_H_ 29 | -------------------------------------------------------------------------------- /libcef/renderer/render_frame_util.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2011 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #ifndef CEF_LIBCEF_RENDERER_RENDER_FRAME_UTIL_H_ 7 | #define CEF_LIBCEF_RENDERER_RENDER_FRAME_UTIL_H_ 8 | 9 | #include 10 | 11 | #include 12 | 13 | namespace blink { 14 | class WebLocalFrame; 15 | } 16 | 17 | namespace render_frame_util { 18 | 19 | int64_t GetIdentifier(blink::WebLocalFrame* frame); 20 | std::string GetName(blink::WebLocalFrame* frame); 21 | 22 | } // namespace render_frame_util 23 | 24 | #endif // CEF_LIBCEF_RENDERER_RENDER_FRAME_UTIL_H_ 25 | -------------------------------------------------------------------------------- /libcef/resources/cef_resources.grd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /libcef/resources/framework-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.cef.framework 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | FMWK 15 | CFBundleSignature 16 | ???? 17 | 18 | 19 | -------------------------------------------------------------------------------- /libcef_dll/base/cef_atomic_flag.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "include/base/cef_atomic_flag.h" 6 | 7 | #include "include/base/cef_logging.h" 8 | 9 | namespace base { 10 | 11 | AtomicFlag::AtomicFlag() { 12 | // It doesn't matter where the AtomicFlag is built so long as it's always 13 | // Set() from the same sequence after. Note: the sequencing requirements are 14 | // necessary for IsSet()'s callers to know which sequence's memory operations 15 | // they are synchronized with. 16 | set_thread_checker_.DetachFromThread(); 17 | } 18 | 19 | AtomicFlag::~AtomicFlag() = default; 20 | 21 | void AtomicFlag::Set() { 22 | DCHECK(set_thread_checker_.CalledOnValidThread()); 23 | flag_.store(1, std::memory_order_release); 24 | } 25 | 26 | void AtomicFlag::UnsafeResetForTesting() { 27 | set_thread_checker_.DetachFromThread(); 28 | flag_.store(0, std::memory_order_release); 29 | } 30 | 31 | } // namespace base 32 | -------------------------------------------------------------------------------- /libcef_dll/base/cef_thread_checker_impl.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "include/base/internal/cef_thread_checker_impl.h" 6 | 7 | namespace base { 8 | namespace cef_internal { 9 | 10 | ThreadCheckerImpl::ThreadCheckerImpl() : valid_thread_id_() { 11 | EnsureThreadIdAssigned(); 12 | } 13 | 14 | ThreadCheckerImpl::~ThreadCheckerImpl() {} 15 | 16 | bool ThreadCheckerImpl::CalledOnValidThread() const { 17 | EnsureThreadIdAssigned(); 18 | AutoLock auto_lock(lock_); 19 | return valid_thread_id_ == PlatformThread::CurrentRef(); 20 | } 21 | 22 | void ThreadCheckerImpl::DetachFromThread() { 23 | AutoLock auto_lock(lock_); 24 | valid_thread_id_ = PlatformThreadRef(); 25 | } 26 | 27 | void ThreadCheckerImpl::EnsureThreadIdAssigned() const { 28 | AutoLock auto_lock(lock_); 29 | if (valid_thread_id_.is_null()) { 30 | valid_thread_id_ = PlatformThread::CurrentRef(); 31 | } 32 | } 33 | 34 | } // namespace cef_internal 35 | } // namespace base 36 | -------------------------------------------------------------------------------- /libcef_dll/cpptoc/base_ref_counted_cpptoc.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef_dll/cpptoc/base_ref_counted_cpptoc.h" 6 | 7 | CefBaseRefCountedCppToC::CefBaseRefCountedCppToC() {} 8 | 9 | template <> 10 | CefRefPtr CefCppToCRefCounted< 11 | CefBaseRefCountedCppToC, 12 | CefBaseRefCounted, 13 | cef_base_ref_counted_t>::UnwrapDerived(CefWrapperType type, 14 | cef_base_ref_counted_t* s) { 15 | NOTREACHED(); 16 | return nullptr; 17 | } 18 | 19 | template <> 20 | CefWrapperType CefCppToCRefCounted::kWrapperType = 23 | WT_BASE_REF_COUNTED; 24 | -------------------------------------------------------------------------------- /libcef_dll/cpptoc/base_ref_counted_cpptoc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_DLL_CPPTOC_BASE_REF_COUNTED_CPPTOC_H_ 6 | #define CEF_LIBCEF_DLL_CPPTOC_BASE_REF_COUNTED_CPPTOC_H_ 7 | #pragma once 8 | 9 | #include "include/capi/cef_base_capi.h" 10 | #include "include/cef_base.h" 11 | #include "libcef_dll/cpptoc/cpptoc_ref_counted.h" 12 | 13 | #if !defined(WRAPPING_CEF_SHARED) 14 | #error This file can be included wrapper-side only 15 | #endif 16 | 17 | // Wrap a C++ class with a C structure. 18 | class CefBaseRefCountedCppToC 19 | : public CefCppToCRefCounted { 22 | public: 23 | CefBaseRefCountedCppToC(); 24 | }; 25 | 26 | #endif // CEF_LIBCEF_DLL_CPPTOC_BASE_REF_COUNTED_CPPTOC_H_ 27 | -------------------------------------------------------------------------------- /libcef_dll/cpptoc/base_scoped_cpptoc.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef_dll/cpptoc/base_scoped_cpptoc.h" 6 | 7 | CefBaseScopedCppToC::CefBaseScopedCppToC() {} 8 | 9 | template <> 10 | CefOwnPtr 11 | CefCppToCScoped:: 12 | UnwrapDerivedOwn(CefWrapperType type, cef_base_scoped_t* s) { 13 | NOTREACHED(); 14 | return CefOwnPtr(); 15 | } 16 | 17 | template <> 18 | CefRawPtr 19 | CefCppToCScoped:: 20 | UnwrapDerivedRaw(CefWrapperType type, cef_base_scoped_t* s) { 21 | NOTREACHED(); 22 | return nullptr; 23 | } 24 | 25 | template <> 26 | CefWrapperType CefCppToCScoped::kWrapperType = 29 | WT_BASE_SCOPED; 30 | -------------------------------------------------------------------------------- /libcef_dll/cpptoc/base_scoped_cpptoc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_DLL_CPPTOC_BASE_CPPTOC_H_ 6 | #define CEF_LIBCEF_DLL_CPPTOC_BASE_CPPTOC_H_ 7 | #pragma once 8 | 9 | #include "include/capi/cef_base_capi.h" 10 | #include "include/cef_base.h" 11 | #include "libcef_dll/cpptoc/cpptoc_scoped.h" 12 | 13 | #if !defined(WRAPPING_CEF_SHARED) 14 | #error This file can be included wrapper-side only 15 | #endif 16 | 17 | // Wrap a C++ class with a C structure. 18 | class CefBaseScopedCppToC : public CefCppToCScoped { 21 | public: 22 | CefBaseScopedCppToC(); 23 | }; 24 | 25 | #endif // CEF_LIBCEF_DLL_CPPTOC_BASE_CPPTOC_H_ 26 | -------------------------------------------------------------------------------- /libcef_dll/ctocpp/base_ref_counted_ctocpp.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef_dll/ctocpp/base_ref_counted_ctocpp.h" 6 | 7 | CefBaseRefCountedCToCpp::CefBaseRefCountedCToCpp() {} 8 | 9 | template <> 10 | cef_base_ref_counted_t* CefCToCppRefCounted< 11 | CefBaseRefCountedCToCpp, 12 | CefBaseRefCounted, 13 | cef_base_ref_counted_t>::UnwrapDerived(CefWrapperType type, 14 | CefBaseRefCounted* c) { 15 | NOTREACHED(); 16 | return NULL; 17 | } 18 | 19 | template <> 20 | CefWrapperType CefCToCppRefCounted::kWrapperType = 23 | WT_BASE_REF_COUNTED; 24 | -------------------------------------------------------------------------------- /libcef_dll/ctocpp/base_ref_counted_ctocpp.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_DLL_CTOCPP_BASE_REF_COUNTED_CTOCPP_H_ 6 | #define CEF_LIBCEF_DLL_CTOCPP_BASE_REF_COUNTED_CTOCPP_H_ 7 | #pragma once 8 | 9 | #include "include/capi/cef_base_capi.h" 10 | #include "include/cef_base.h" 11 | #include "libcef_dll/ctocpp/ctocpp_ref_counted.h" 12 | 13 | #if !defined(BUILDING_CEF_SHARED) 14 | #error This file can be included DLL-side only 15 | #endif 16 | 17 | // Wrap a C structure with a C++ class. 18 | class CefBaseRefCountedCToCpp 19 | : public CefCToCppRefCounted { 22 | public: 23 | CefBaseRefCountedCToCpp(); 24 | }; 25 | 26 | #endif // CEF_LIBCEF_DLL_CTOCPP_BASE_REF_COUNTED_CTOCPP_H_ 27 | -------------------------------------------------------------------------------- /libcef_dll/ctocpp/base_scoped_ctocpp.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef_dll/ctocpp/base_scoped_ctocpp.h" 6 | 7 | CefBaseScopedCToCpp::CefBaseScopedCToCpp() {} 8 | 9 | template <> 10 | cef_base_scoped_t* 11 | CefCToCppScoped:: 12 | UnwrapDerivedOwn(CefWrapperType type, CefOwnPtr c) { 13 | NOTREACHED(); 14 | return NULL; 15 | } 16 | 17 | template <> 18 | cef_base_scoped_t* 19 | CefCToCppScoped:: 20 | UnwrapDerivedRaw(CefWrapperType type, CefRawPtr c) { 21 | NOTREACHED(); 22 | return NULL; 23 | } 24 | 25 | template <> 26 | CefWrapperType CefCToCppScoped::kWrapperType = 29 | WT_BASE_SCOPED; 30 | -------------------------------------------------------------------------------- /libcef_dll/ctocpp/base_scoped_ctocpp.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_DLL_CTOCPP_BASE_SCOPED_CTOCPP_H_ 6 | #define CEF_LIBCEF_DLL_CTOCPP_BASE_SCOPED_CTOCPP_H_ 7 | #pragma once 8 | 9 | #include "include/capi/cef_base_capi.h" 10 | #include "include/cef_base.h" 11 | #include "libcef_dll/ctocpp/ctocpp_scoped.h" 12 | 13 | #if !defined(BUILDING_CEF_SHARED) 14 | #error This file can be included DLL-side only 15 | #endif 16 | 17 | // Wrap a C structure with a C++ class. 18 | class CefBaseScopedCToCpp : public CefCToCppScoped { 21 | public: 22 | CefBaseScopedCToCpp(); 23 | }; 24 | 25 | #endif // CEF_LIBCEF_DLL_CTOCPP_BASE_SCOPED_CTOCPP_H_ 26 | -------------------------------------------------------------------------------- /libcef_dll/libcef.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libcef_dll/libcef.lst: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | { 6 | /* Only export necessary symbols from libcef.so. */ 7 | global: cef_*; 8 | local: *; 9 | }; 10 | -------------------------------------------------------------------------------- /libcef_dll/libcef_dll2.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | // 5 | 6 | #include 7 | #include "include/cef_api_hash.h" 8 | #include "include/cef_version.h" 9 | 10 | CEF_EXPORT int cef_version_info(int entry) { 11 | switch (entry) { 12 | case 0: 13 | return CEF_VERSION_MAJOR; 14 | case 1: 15 | return CEF_VERSION_MINOR; 16 | case 2: 17 | return CEF_VERSION_PATCH; 18 | case 3: 19 | return CEF_COMMIT_NUMBER; 20 | case 4: 21 | return CHROME_VERSION_MAJOR; 22 | case 5: 23 | return CHROME_VERSION_MINOR; 24 | case 6: 25 | return CHROME_VERSION_BUILD; 26 | case 7: 27 | return CHROME_VERSION_PATCH; 28 | default: 29 | return 0; 30 | } 31 | } 32 | 33 | CEF_EXPORT const char* cef_api_hash(int entry) { 34 | switch (entry) { 35 | case 0: 36 | return CEF_API_HASH_PLATFORM; 37 | case 1: 38 | return CEF_API_HASH_UNIVERSAL; 39 | case 2: 40 | return CEF_COMMIT_HASH; 41 | default: 42 | return NULL; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /libcef_dll/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by libcef_dll.rc 4 | // 5 | 6 | // Avoid files associated with MacOS 7 | #define _X86_ 8 | 9 | #define IDD_ALERT 130 10 | #define IDD_CONFIRM 131 11 | #define IDD_PROMPT 132 12 | #define IDC_PROMPTEDIT 1000 13 | #define IDC_DIALOGTEXT 1001 14 | 15 | // Next default values for new objects 16 | // 17 | #ifdef APSTUDIO_INVOKED 18 | #ifndef APSTUDIO_READONLY_SYMBOLS 19 | #define _APS_NO_MFC 1 20 | #define _APS_NEXT_RESOURCE_VALUE 130 21 | #define _APS_NEXT_COMMAND_VALUE 32000 22 | #define _APS_NEXT_CONTROL_VALUE 1000 23 | #define _APS_NEXT_SYMED_VALUE 110 24 | #endif 25 | #endif 26 | -------------------------------------------------------------------------------- /libcef_dll/shutdown_checker.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "libcef_dll/shutdown_checker.h" 6 | 7 | #include 8 | 9 | #include "include/base/cef_logging.h" 10 | 11 | namespace shutdown_checker { 12 | 13 | #if DCHECK_IS_ON() 14 | 15 | namespace { 16 | 17 | std::atomic_bool g_cef_shutdown{false}; 18 | 19 | bool IsCefShutdown() { 20 | return g_cef_shutdown.load(); 21 | } 22 | 23 | void SetCefShutdown() { 24 | g_cef_shutdown.store(true); 25 | } 26 | 27 | } // namespace 28 | 29 | void AssertNotShutdown() { 30 | DCHECK(!IsCefShutdown()) 31 | << "Object reference incorrectly held at CefShutdown"; 32 | } 33 | 34 | void SetIsShutdown() { 35 | DCHECK(!IsCefShutdown()); 36 | SetCefShutdown(); 37 | } 38 | 39 | #else // !DCHECK_IS_ON() 40 | 41 | void AssertNotShutdown() {} 42 | 43 | #endif // !DCHECK_IS_ON() 44 | 45 | } // namespace shutdown_checker 46 | -------------------------------------------------------------------------------- /libcef_dll/shutdown_checker.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_LIBCEF_DLL_SHUTDOWN_CHECKER_H_ 6 | #define CEF_LIBCEF_DLL_SHUTDOWN_CHECKER_H_ 7 | #pragma once 8 | 9 | namespace shutdown_checker { 10 | 11 | // Check that CEF objects are not held at CefShutdown. 12 | void AssertNotShutdown(); 13 | 14 | // Called from libcef_dll.cc and libcef_dll_wrapper.cc. 15 | void SetIsShutdown(); 16 | 17 | } // namespace shutdown_checker 18 | 19 | #endif // CEF_LIBCEF_DLL_SHUTDOWN_CHECKER_H_ 20 | -------------------------------------------------------------------------------- /libcef_dll/wrapper/libcef_dll_wrapper2.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /patch/README.txt: -------------------------------------------------------------------------------- 1 | There may be instances where CEF requires changes to the source code for 2 | Chromium, Blink or third-party projects that are either not desired by those 3 | projects or that have not yet been merged into the source code versions of those 4 | projects used by CEF. To address this situation the CEF project adds a patch 5 | capability as part of cef_create_projects[.bat|sh] build step. This patch 6 | capability works as follows: 7 | 8 | 1. The CEF developer creates one or more patch files containing all required 9 | code changes and places those patch files in the "patches" subdirectory. 10 | 2. The CEF developer adds an entry for each patch file in the "patch.cfg" file. 11 | 3. When building CEF from source code the patch files are applied by the 12 | patcher.py tool via the cef_create_projects[.bat|sh] build step 13 | 4. When updating Chromium the patch_updater.py tool is used to update all patch 14 | files. See https://bitbucket.org/chromiumembedded/cef/wiki/ChromiumUpdate.md 15 | for more information about the update process. 16 | -------------------------------------------------------------------------------- /patch/patches/base_command_line_1872.patch: -------------------------------------------------------------------------------- 1 | diff --git base/command_line.cc base/command_line.cc 2 | index db71b62fabe5a..760a33acbc4fa 100644 3 | --- base/command_line.cc 4 | +++ base/command_line.cc 5 | @@ -338,11 +338,10 @@ void CommandLine::AppendSwitchPath(StringPiece switch_string, 6 | 7 | void CommandLine::AppendSwitchNative(StringPiece switch_string, 8 | CommandLine::StringPieceType value) { 9 | -#if BUILDFLAG(IS_WIN) 10 | const std::string switch_key = ToLowerASCII(switch_string); 11 | +#if BUILDFLAG(IS_WIN) 12 | StringType combined_switch_string(UTF8ToWide(switch_key)); 13 | #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) 14 | - StringPiece switch_key = switch_string; 15 | StringType combined_switch_string(switch_key); 16 | #endif 17 | size_t prefix_length = GetSwitchPrefixLength(combined_switch_string); 18 | -------------------------------------------------------------------------------- /patch/patches/base_time_3650405.patch: -------------------------------------------------------------------------------- 1 | diff --git base/time/time_win.cc base/time/time_win.cc 2 | index eabcc10ad2c31..014dd169992f0 100644 3 | --- base/time/time_win.cc 4 | +++ base/time/time_win.cc 5 | @@ -406,7 +406,7 @@ DWORD (*g_tick_function)(void) = &timeGetTimeWrapper; 6 | // "rollover" counter. 7 | union LastTimeAndRolloversState { 8 | // The state as a single 32-bit opaque value. 9 | - std::atomic as_opaque_32; 10 | + std::atomic as_opaque_32{0}; 11 | 12 | // The state as usable values. 13 | struct { 14 | -------------------------------------------------------------------------------- /patch/patches/browser_scheduler.patch: -------------------------------------------------------------------------------- 1 | diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc 2 | index 38d037f3b861f..b2af20324bd35 100644 3 | --- content/browser/scheduler/browser_task_executor.cc 4 | +++ content/browser/scheduler/browser_task_executor.cc 5 | @@ -304,7 +304,7 @@ BrowserTaskExecutor::OnUserInputStart() { 6 | 7 | // static 8 | void BrowserTaskExecutor::Shutdown() { 9 | - if (!g_browser_task_executor) 10 | + if (!g_browser_task_executor || !g_browser_task_executor->ui_thread_executor_) 11 | return; 12 | 13 | DCHECK(Get()->ui_thread_executor_); 14 | -------------------------------------------------------------------------------- /patch/patches/build.patch: -------------------------------------------------------------------------------- 1 | diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn 2 | index f378b9560d153..70b31d25c3bf8 100644 3 | --- build/config/compiler/BUILD.gn 4 | +++ build/config/compiler/BUILD.gn 5 | @@ -1836,8 +1836,6 @@ config("thin_archive") { 6 | # confuses lldb. 7 | if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) { 8 | arflags = [ "-T" ] 9 | - } else if (is_win && use_lld) { 10 | - arflags = [ "/llvmlibthin" ] 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /patch/patches/chrome_browser.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn 2 | index 817539af42794..57c9def28ff59 100644 3 | --- chrome/browser/BUILD.gn 4 | +++ chrome/browser/BUILD.gn 5 | @@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") 6 | import("//build/config/features.gni") 7 | import("//build/config/python.gni") 8 | import("//build/config/ui.gni") 9 | +import("//cef/libcef/features/features.gni") 10 | import("//chrome/browser/buildflags.gni") 11 | import("//chrome/browser/downgrade/buildflags.gni") 12 | import("//chrome/common/features.gni") 13 | @@ -1955,6 +1956,7 @@ static_library("browser") { 14 | "//build:chromeos_buildflags", 15 | "//build/config/compiler:compiler_buildflags", 16 | "//cc", 17 | + "//cef/libcef/features", 18 | "//chrome:extra_resources", 19 | "//chrome:resources", 20 | "//chrome:strings", 21 | @@ -2631,6 +2633,10 @@ static_library("browser") { 22 | deps += [ "//chrome/browser/ui/webui/connectors_internals:mojo_bindings" ] 23 | } 24 | 25 | + if (enable_cef) { 26 | + configs += [ "//cef/libcef/features:config" ] 27 | + } 28 | + 29 | if (is_android) { 30 | sources += [ 31 | "after_startup_task_utils_android.cc", 32 | -------------------------------------------------------------------------------- /patch/patches/chrome_browser_autofill_1322387.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc 2 | index 4ac565d8ebdd0..9d3d610a305ab 100644 3 | --- chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc 4 | +++ chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc 5 | @@ -38,7 +38,8 @@ void ApcOnboardingCoordinatorImpl::PerformOnboarding(Callback callback) { 6 | base::Unretained(this))); 7 | } 8 | 9 | -std::unique_ptr CreateOnboardingController( 10 | +std::unique_ptr 11 | +ApcOnboardingCoordinatorImpl::CreateOnboardingController( 12 | const AssistantOnboardingInformation& onboarding_information) { 13 | return AssistantOnboardingController::Create(onboarding_information); 14 | } 15 | -------------------------------------------------------------------------------- /patch/patches/chrome_browser_safe_browsing.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn 2 | index 0fdd7247bf67f..a80f9a05c37b4 100644 3 | --- chrome/browser/safe_browsing/BUILD.gn 4 | +++ chrome/browser/safe_browsing/BUILD.gn 5 | @@ -27,6 +27,7 @@ static_library("safe_browsing") { 6 | "//chrome/common:constants", 7 | "//components/browser_sync", 8 | "//components/enterprise/common:strings", 9 | + "//components/gcm_driver:gcm_buildflags", 10 | "//components/keyed_service/content", 11 | "//components/language/core/browser", 12 | "//components/no_state_prefetch/browser", 13 | -------------------------------------------------------------------------------- /patch/patches/chrome_pref_watcher.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h 2 | index 8d9cc4fd0ba86..09af446a550db 100644 3 | --- chrome/browser/ui/prefs/pref_watcher.h 4 | +++ chrome/browser/ui/prefs/pref_watcher.h 5 | @@ -30,10 +30,10 @@ class PrefWatcher : public KeyedService { 6 | void RegisterRendererPreferenceWatcher( 7 | mojo::PendingRemote watcher); 8 | 9 | - private: 10 | // KeyedService overrides: 11 | void Shutdown() override; 12 | 13 | + private: 14 | void UpdateRendererPreferences(); 15 | void OnWebPrefChanged(const std::string& pref_name); 16 | void OnLiveCaptionEnabledPrefChanged(const std::string& pref_name); 17 | -------------------------------------------------------------------------------- /patch/patches/chrome_renderer.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn 2 | index a32f28835170c..af0507fd0de55 100644 3 | --- chrome/renderer/BUILD.gn 4 | +++ chrome/renderer/BUILD.gn 5 | @@ -5,6 +5,7 @@ 6 | import("//build/config/buildflags_paint_preview.gni") 7 | import("//build/config/chromeos/ui_mode.gni") 8 | import("//build/config/features.gni") 9 | +import("//cef/libcef/features/features.gni") 10 | import("//chrome/common/features.gni") 11 | import("//components/nacl/features.gni") 12 | import("//components/offline_pages/buildflags/features.gni") 13 | @@ -118,6 +119,7 @@ static_library("renderer") { 14 | deps = [ 15 | "//base/allocator:buildflags", 16 | "//build:chromeos_buildflags", 17 | + "//cef/libcef/features", 18 | "//chrome:resources", 19 | "//chrome:strings", 20 | "//chrome/common", 21 | @@ -209,6 +211,10 @@ static_library("renderer") { 22 | 23 | configs += [ "//build/config/compiler:wexit_time_destructors" ] 24 | 25 | + if (enable_cef) { 26 | + configs += [ "//cef/libcef/features:config" ] 27 | + } 28 | + 29 | if (enable_nacl) { 30 | deps += [ "//components/nacl/renderer" ] 31 | 32 | -------------------------------------------------------------------------------- /patch/patches/font_family_cache_1501.patch: -------------------------------------------------------------------------------- 1 | diff --git chrome/browser/font_family_cache.h chrome/browser/font_family_cache.h 2 | index 7235413382341..38490e32f7b91 100644 3 | --- chrome/browser/font_family_cache.h 4 | +++ chrome/browser/font_family_cache.h 5 | @@ -19,6 +19,8 @@ class Profile; 6 | 7 | FORWARD_DECLARE_TEST(FontFamilyCacheTest, Caching); 8 | 9 | +extern const char kFontFamilyCacheKey[]; 10 | + 11 | // Caches font family preferences associated with a PrefService. This class 12 | // relies on the assumption that each concatenation of map_name + '.' + script 13 | // is a unique string. It also relies on the assumption that the (const char*) 14 | -------------------------------------------------------------------------------- /patch/patches/gritsettings.patch: -------------------------------------------------------------------------------- 1 | diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec 2 | index 31f80388a143f..15f38c9b0e511 100644 3 | --- tools/gritsettings/resource_ids.spec 4 | +++ tools/gritsettings/resource_ids.spec 5 | @@ -962,6 +962,15 @@ 6 | # END "everything else" section. 7 | # Everything but chrome/, components/, content/, and ios/ 8 | 9 | + "cef/libcef/resources/cef_resources.grd": { 10 | + "META": {"align": 31500}, 11 | + "includes": [31500], 12 | + }, 13 | + "cef/libcef/resources/cef_strings.grd": { 14 | + "META": {"align": 32000}, 15 | + "messages": [32000], 16 | + }, 17 | + 18 | # Thinking about appending to the end? 19 | # Please read the header and find the right section above instead. 20 | } 21 | -------------------------------------------------------------------------------- /patch/patches/libxml_visibility.patch: -------------------------------------------------------------------------------- 1 | diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn 2 | index f408123aeb7f9..b7380e1d12eab 100644 3 | --- third_party/libxml/BUILD.gn 4 | +++ third_party/libxml/BUILD.gn 5 | @@ -141,6 +141,7 @@ static_library("libxml") { 6 | ":libxml_utils", 7 | ":xml_reader", 8 | ":xml_writer", 9 | + "//cef:*", 10 | "//chromecast/internal", 11 | "//testing/libfuzzer/*", 12 | "//third_party/blink/renderer/*", 13 | -------------------------------------------------------------------------------- /patch/patches/linux-ui-nogtk.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ui/views/linux_ui/linux_ui.cc b/ui/views/linux_ui/linux_ui.cc 2 | index 3218eb1c3bcad9039f038b5d5caa1e3dc8f51978..7a7ed239ad54000e0b5bdac26a3c52cd01e7133c 100644 3 | --- ui/views/linux_ui/linux_ui.cc 4 | +++ ui/views/linux_ui/linux_ui.cc 5 | @@ -25,7 +25,7 @@ void LinuxUI::SetInstance(std::unique_ptr instance) { 6 | 7 | SkiaFontDelegate::SetInstance(g_linux_ui); 8 | #if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMECAST) 9 | - ShellDialogLinux::SetInstance(g_linux_ui); 10 | +// ShellDialogLinux::SetInstance(g_linux_ui); 11 | #endif 12 | ui::SetTextEditKeyBindingsDelegate(g_linux_ui); 13 | 14 | -------------------------------------------------------------------------------- /patch/patches/linux_atk_1123214.patch: -------------------------------------------------------------------------------- 1 | diff --git build/config/linux/atk/BUILD.gn build/config/linux/atk/BUILD.gn 2 | index 647bef697ec8f..64708b91d273f 100644 3 | --- build/config/linux/atk/BUILD.gn 4 | +++ build/config/linux/atk/BUILD.gn 5 | @@ -11,7 +11,7 @@ import("//build/config/ui.gni") 6 | assert(!is_chromeos) 7 | 8 | # These packages should _only_ be expected when building for a target. 9 | -assert(current_toolchain == default_toolchain) 10 | +# assert(current_toolchain == default_toolchain) 11 | 12 | if (use_atk) { 13 | assert(use_glib, "use_atk=true requires that use_glib=true") 14 | diff --git build/config/linux/atspi2/BUILD.gn build/config/linux/atspi2/BUILD.gn 15 | index d103d09a39a51..e032b7f357e85 100644 16 | --- build/config/linux/atspi2/BUILD.gn 17 | +++ build/config/linux/atspi2/BUILD.gn 18 | @@ -6,7 +6,7 @@ import("//build/config/linux/pkg_config.gni") 19 | import("//build/config/ui.gni") 20 | 21 | # These packages should _only_ be expected when building for a target. 22 | -assert(current_toolchain == default_toolchain) 23 | +# assert(current_toolchain == default_toolchain) 24 | 25 | if (use_atk) { 26 | pkg_config("atspi2") { 27 | -------------------------------------------------------------------------------- /patch/patches/linux_blink_thread_local.patch: -------------------------------------------------------------------------------- 1 | diff --git third_party/blink/renderer/platform/heap/thread_local.h third_party/blink/renderer/platform/heap/thread_local.h 2 | index 744b91e5b0c86..e67f542126ac6 100644 3 | --- third_party/blink/renderer/platform/heap/thread_local.h 4 | +++ third_party/blink/renderer/platform/heap/thread_local.h 5 | @@ -36,7 +36,7 @@ 6 | #if BLINK_HEAP_HIDE_THREAD_LOCAL_IN_LIBRARY 7 | #define BLINK_HEAP_THREAD_LOCAL_MODEL "local-dynamic" 8 | #else 9 | -#if BUILDFLAG(IS_WIN) 10 | +#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)) 11 | #define BLINK_HEAP_THREAD_LOCAL_MODEL "initial-exec" 12 | #elif BUILDFLAG(IS_ANDROID) 13 | #define BLINK_HEAP_THREAD_LOCAL_MODEL "local-dynamic" 14 | -------------------------------------------------------------------------------- /patch/patches/linux_bluetooth_1319006.patch: -------------------------------------------------------------------------------- 1 | diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn 2 | index 337047a678021..ae7a56d9cf564 100644 3 | --- device/bluetooth/BUILD.gn 4 | +++ device/bluetooth/BUILD.gn 5 | @@ -45,13 +45,6 @@ source_set("deprecated_experimental_mojo") { 6 | "socket.h", 7 | ] 8 | 9 | - if (is_chromeos || is_linux) { 10 | - sources += [ 11 | - "bluez/metrics_recorder.cc", 12 | - "bluez/metrics_recorder.h", 13 | - ] 14 | - } 15 | - 16 | deps = [ 17 | ":bluetooth", 18 | "//device/bluetooth/public/mojom:deprecated_experimental_interfaces", 19 | -------------------------------------------------------------------------------- /patch/patches/linux_ui_ozone.patch: -------------------------------------------------------------------------------- 1 | diff --git ui/ozone/BUILD.gn ui/ozone/BUILD.gn 2 | index bee32267d70ee..8975d1e77858b 100644 3 | --- ui/ozone/BUILD.gn 4 | +++ ui/ozone/BUILD.gn 5 | @@ -401,6 +401,8 @@ action("generate_test_support_constructor_list") { 6 | ] 7 | 8 | deps = [ ":generate_ozone_platform_list" ] 9 | + 10 | + visibility += [ "//cef:*" ] 11 | } 12 | 13 | test("ozone_unittests") { 14 | -------------------------------------------------------------------------------- /patch/patches/mac_event_observer_2539.patch: -------------------------------------------------------------------------------- 1 | diff --git content/browser/scheduler/responsiveness/native_event_observer_mac.mm content/browser/scheduler/responsiveness/native_event_observer_mac.mm 2 | index 7cb3238e97edb..ae800739b6863 100644 3 | --- content/browser/scheduler/responsiveness/native_event_observer_mac.mm 4 | +++ content/browser/scheduler/responsiveness/native_event_observer_mac.mm 5 | @@ -12,13 +12,15 @@ namespace content { 6 | namespace responsiveness { 7 | 8 | void NativeEventObserver::RegisterObserver() { 9 | - DCHECK([NSApp conformsToProtocol:@protocol(NativeEventProcessor)]); 10 | + if (![NSApp conformsToProtocol:@protocol(NativeEventProcessor)]) 11 | + return; 12 | id processor = 13 | static_cast>(NSApp); 14 | [processor addNativeEventProcessorObserver:this]; 15 | } 16 | void NativeEventObserver::DeregisterObserver() { 17 | - DCHECK([NSApp conformsToProtocol:@protocol(NativeEventProcessor)]); 18 | + if (![NSApp conformsToProtocol:@protocol(NativeEventProcessor)]) 19 | + return; 20 | id processor = 21 | static_cast>(NSApp); 22 | [processor removeNativeEventProcessorObserver:this]; 23 | -------------------------------------------------------------------------------- /patch/patches/mac_fling_scheduler_2540.patch: -------------------------------------------------------------------------------- 1 | diff --git content/browser/renderer_host/input/fling_scheduler_mac.mm content/browser/renderer_host/input/fling_scheduler_mac.mm 2 | index f10c5d161dd13..92a751dd984e5 100644 3 | --- content/browser/renderer_host/input/fling_scheduler_mac.mm 4 | +++ content/browser/renderer_host/input/fling_scheduler_mac.mm 5 | @@ -26,6 +26,10 @@ ui::Compositor* FlingSchedulerMac::GetCompositor() { 6 | return nullptr; 7 | } 8 | 9 | + // For CEF this will always be false when running in OSR mode. 10 | + if (!view->GetNativeView()) 11 | + return nullptr; 12 | + 13 | RenderWidgetHostViewMac* mac_view = 14 | static_cast(view); 15 | if (mac_view->BrowserCompositor()) 16 | -------------------------------------------------------------------------------- /patch/patches/mac_gpu.patch: -------------------------------------------------------------------------------- 1 | diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc 2 | index b1fbd1fedf16f..42948953fbac5 100644 3 | --- ui/gl/init/gl_initializer_mac.cc 4 | +++ ui/gl/init/gl_initializer_mac.cc 5 | @@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() { 6 | // GPU-related stuff is very slow without this, probably because 7 | // the sandbox prevents loading graphics drivers or some such. 8 | std::vector attribs; 9 | - if (GLContext::SwitchableGPUsSupported()) { 10 | - // Avoid switching to the discrete GPU just for this pixel 11 | - // format selection. 12 | - attribs.push_back(kCGLPFAAllowOfflineRenderers); 13 | - } 14 | + // Avoid switching to the discrete GPU just for this pixel format selection. 15 | + attribs.push_back(kCGLPFAAllowOfflineRenderers); 16 | if (GetGLImplementation() == kGLImplementationAppleGL) { 17 | attribs.push_back(kCGLPFARendererID); 18 | attribs.push_back( 19 | -------------------------------------------------------------------------------- /patch/patches/message_pump_mac_2495.patch: -------------------------------------------------------------------------------- 1 | diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm 2 | index a4f7d2429ce6c..2291b46582239 100644 3 | --- base/message_loop/message_pump_mac.mm 4 | +++ base/message_loop/message_pump_mac.mm 5 | @@ -662,7 +662,8 @@ void MessagePumpUIApplication::Detach() { 6 | #else 7 | 8 | ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { 9 | - DCHECK(g_app_pump); 10 | + if (!g_app_pump) 11 | + return; 12 | DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask()); 13 | // Pumping events in private runloop modes is known to interact badly with 14 | // app modal windows like NSAlert. 15 | @@ -672,7 +673,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { 16 | } 17 | 18 | ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() { 19 | - DCHECK(g_app_pump); 20 | + if (!g_app_pump) 21 | + return; 22 | g_app_pump->SetModeMask(kNSApplicationModalSafeModeMask); 23 | } 24 | 25 | -------------------------------------------------------------------------------- /patch/patches/renderer_host_1070713.patch: -------------------------------------------------------------------------------- 1 | diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc 2 | index dcd62488bd523..aec680b370a1c 100644 3 | --- content/browser/renderer_host/render_view_host_impl.cc 4 | +++ content/browser/renderer_host/render_view_host_impl.cc 5 | @@ -658,6 +658,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { 6 | } 7 | 8 | void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { 9 | + if (!GetWidget()->GetAssociatedFrameWidget().is_bound()) 10 | + return; 11 | GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /patch/patches/trace_event.patch: -------------------------------------------------------------------------------- 1 | diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h 2 | index a1a93418b0b0d..05cd1c28a0fa7 100644 3 | --- base/trace_event/builtin_categories.h 4 | +++ base/trace_event/builtin_categories.h 5 | @@ -63,6 +63,8 @@ 6 | X("cc") \ 7 | X("cc.debug") \ 8 | X("cdp.perf") \ 9 | + X("cef") \ 10 | + X("cef.client") \ 11 | X("chromeos") \ 12 | X("cma") \ 13 | X("compositor") \ 14 | -------------------------------------------------------------------------------- /patch/patches/ui_dragdrop_355390.patch: -------------------------------------------------------------------------------- 1 | diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc 2 | index d337bee1db15b..1dfc9e77a50aa 100644 3 | --- ui/base/x/x11_os_exchange_data_provider.cc 4 | +++ ui/base/x/x11_os_exchange_data_provider.cc 5 | @@ -139,7 +139,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url, 6 | format_map_.Insert(x11::GetAtom(kMimeTypeMozillaURL), mem); 7 | 8 | // Set a string fallback as well. 9 | - SetString(spec); 10 | + if (!HasString()) 11 | + SetString(spec); 12 | 13 | // Return early if this drag already contains file contents (this implies 14 | // that file contents must be populated before URLs). Nautilus (and possibly 15 | -------------------------------------------------------------------------------- /patch/patches/underlay_1051.patch: -------------------------------------------------------------------------------- 1 | diff --git ui/base/cocoa/underlay_opengl_hosting_window.h ui/base/cocoa/underlay_opengl_hosting_window.h 2 | index ec1c6c972ee8d..9f73342051325 100644 3 | --- ui/base/cocoa/underlay_opengl_hosting_window.h 4 | +++ ui/base/cocoa/underlay_opengl_hosting_window.h 5 | @@ -12,7 +12,7 @@ 6 | // Common base class for windows that host a OpenGL surface that renders under 7 | // the window. Previously contained methods related to hole punching, now just 8 | // contains common asserts. 9 | -COMPONENT_EXPORT(UI_BASE) 10 | +__attribute__((visibility("default"))) 11 | @interface UnderlayOpenGLHostingWindow : NSWindow 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /patch/patches/web_url_loader_cancel_1617042.patch: -------------------------------------------------------------------------------- 1 | diff --git third_party/blink/public/platform/web_url_loader.h third_party/blink/public/platform/web_url_loader.h 2 | index 6ba4364c434fa..6400e5b34b65a 100644 3 | --- third_party/blink/public/platform/web_url_loader.h 4 | +++ third_party/blink/public/platform/web_url_loader.h 5 | @@ -153,12 +153,14 @@ class BLINK_PLATFORM_EXPORT WebURLLoader { 6 | void SetResourceRequestSenderForTesting( 7 | std::unique_ptr resource_request_sender); 8 | 9 | + // Cancels an asynchronous load. This will appear as a load error to 10 | + // the client. 11 | + void Cancel(); 12 | + 13 | private: 14 | class Context; 15 | class RequestPeerImpl; 16 | 17 | - void Cancel(); 18 | - 19 | scoped_refptr context_; 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /patch/patches/win_cpp17_msvc_sandbox_2819.patch: -------------------------------------------------------------------------------- 1 | diff --git base/third_party/double_conversion/BUILD.gn base/third_party/double_conversion/BUILD.gn 2 | index 0083efdcd9c85..6f647c31e28aa 100644 3 | --- base/third_party/double_conversion/BUILD.gn 4 | +++ base/third_party/double_conversion/BUILD.gn 5 | @@ -9,6 +9,11 @@ config("config") { 6 | "-Wno-unused-const-variable", 7 | "-Wno-unused-function", 8 | ] 9 | + 10 | + # Build as C++17 to avoid export of templates that should be inlined. 11 | + if (is_win) { 12 | + cflags_cc = [ "/std:c++17" ] 13 | + } 14 | } 15 | 16 | static_library("double_conversion") { 17 | diff --git base/win/BUILD.gn base/win/BUILD.gn 18 | index eb5dca74bcea3..be10cc59b39c7 100644 19 | --- base/win/BUILD.gn 20 | +++ base/win/BUILD.gn 21 | @@ -33,4 +33,7 @@ static_library("pe_image") { 22 | "pe_image.cc", 23 | "pe_image.h", 24 | ] 25 | + 26 | + # Build as C++17 to avoid export of templates that should be inlined. 27 | + cflags_cc = [ "/std:c++17" ] 28 | } 29 | -------------------------------------------------------------------------------- /patch/patches/win_sandbox_3210.patch: -------------------------------------------------------------------------------- 1 | diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc 2 | index 7eaf2e4187b5c..7e11cde95ee76 100644 3 | --- sandbox/policy/win/sandbox_win.cc 4 | +++ sandbox/policy/win/sandbox_win.cc 5 | @@ -1129,6 +1129,13 @@ ResultCode SandboxWin::StartSandboxedProcess( 6 | const base::HandlesToInheritVector& handles_to_inherit, 7 | SandboxDelegate* delegate, 8 | base::Process* process) { 9 | + // Will be nullptr if SandboxInterfaceInfo was not initialized by the CEF 10 | + // client, meaning that the sandbox is implicitly disabled. 11 | + if (!g_broker_services) { 12 | + return LaunchWithoutSandbox(cmd_line, handles_to_inherit, delegate, 13 | + process); 14 | + } 15 | + 16 | auto policy = g_broker_services->CreatePolicy(); 17 | ResultCode result = GeneratePolicyForSandboxedProcess( 18 | cmd_line, process_type, handles_to_inherit, delegate, policy.get()); 19 | -------------------------------------------------------------------------------- /tests/cefclient/browser/binding_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_BINDING_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_BINDING_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace binding_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace binding_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_BINDING_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/client_app_delegates_browser.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/shared/browser/client_app_browser.h" 6 | 7 | #include "tests/cefclient/browser/client_browser.h" 8 | 9 | namespace client { 10 | 11 | // static 12 | void ClientAppBrowser::RegisterCookieableSchemes( 13 | std::vector& cookieable_schemes) {} 14 | 15 | // static 16 | void ClientAppBrowser::CreateDelegates(DelegateSet& delegates) { 17 | browser::CreateDelegates(delegates); 18 | } 19 | 20 | } // namespace client 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/client_browser.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_BROWSER_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_BROWSER_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | #include "tests/shared/browser/client_app_browser.h" 11 | 12 | namespace client { 13 | namespace browser { 14 | 15 | // Create the browser delegate. Called from client_app_delegates_browser.cc. 16 | void CreateDelegates(ClientAppBrowser::DelegateSet& delegates); 17 | 18 | } // namespace browser 19 | } // namespace client 20 | 21 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_BROWSER_H_ 22 | -------------------------------------------------------------------------------- /tests/cefclient/browser/client_handler_std.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/browser/client_handler_std.h" 6 | 7 | namespace client { 8 | 9 | ClientHandlerStd::ClientHandlerStd(Delegate* delegate, 10 | bool with_controls, 11 | const std::string& startup_url) 12 | : ClientHandler(delegate, /*is_osr=*/false, with_controls, startup_url) {} 13 | 14 | } // namespace client 15 | -------------------------------------------------------------------------------- /tests/cefclient/browser/client_handler_std.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_HANDLER_STD_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_HANDLER_STD_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/client_handler.h" 10 | 11 | namespace client { 12 | 13 | // Client handler implementation for windowed browsers. There will only ever be 14 | // one browser per handler instance. 15 | class ClientHandlerStd : public ClientHandler { 16 | public: 17 | ClientHandlerStd(Delegate* delegate, 18 | bool with_controls, 19 | const std::string& startup_url); 20 | 21 | private: 22 | // Include the default reference counting implementation. 23 | IMPLEMENT_REFCOUNTING(ClientHandlerStd); 24 | DISALLOW_COPY_AND_ASSIGN(ClientHandlerStd); 25 | }; 26 | 27 | } // namespace client 28 | 29 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_HANDLER_STD_H_ 30 | -------------------------------------------------------------------------------- /tests/cefclient/browser/client_types.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_TYPES_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_TYPES_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | 11 | #if defined(OS_LINUX) 12 | #include 13 | 14 | // The Linux client uses GTK instead of the underlying platform type (X11). 15 | #define ClientWindowHandle GtkWidget* 16 | #else 17 | #define ClientWindowHandle CefWindowHandle 18 | #endif 19 | 20 | #if defined(OS_MAC) 21 | #define ClientNativeMacWindow void* 22 | #ifdef __OBJC__ 23 | #define CAST_CLIENT_NATIVE_MAC_WINDOW_TO_NSWINDOW(native) \ 24 | (__bridge NSWindow*)native 25 | #define CAST_NSWINDOW_TO_CLIENT_NATIVE_MAC_WINDOW(window) (__bridge void*)window 26 | #endif // __OBJC__ 27 | #endif // defined OS_MAC 28 | 29 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_CLIENT_TYPES_H_ 30 | -------------------------------------------------------------------------------- /tests/cefclient/browser/dialog_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_DIALOG_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_DIALOG_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace dialog_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace dialog_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_DIALOG_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/main_context.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/browser/main_context.h" 6 | 7 | #include "include/base/cef_logging.h" 8 | 9 | namespace client { 10 | 11 | namespace { 12 | 13 | MainContext* g_main_context = nullptr; 14 | 15 | } // namespace 16 | 17 | // static 18 | MainContext* MainContext::Get() { 19 | DCHECK(g_main_context); 20 | return g_main_context; 21 | } 22 | 23 | MainContext::MainContext() { 24 | DCHECK(!g_main_context); 25 | g_main_context = this; 26 | } 27 | 28 | MainContext::~MainContext() { 29 | g_main_context = nullptr; 30 | } 31 | 32 | } // namespace client 33 | -------------------------------------------------------------------------------- /tests/cefclient/browser/main_context_impl_posix.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/browser/main_context_impl.h" 6 | 7 | #include 8 | 9 | namespace client { 10 | 11 | std::string MainContextImpl::GetDownloadPath(const std::string& file_name) { 12 | return std::string(); 13 | } 14 | 15 | std::string MainContextImpl::GetAppWorkingDirectory() { 16 | char szWorkingDir[256]; 17 | if (getcwd(szWorkingDir, sizeof(szWorkingDir) - 1) == nullptr) { 18 | szWorkingDir[0] = 0; 19 | } else { 20 | // Add trailing path separator. 21 | size_t len = strlen(szWorkingDir); 22 | szWorkingDir[len] = '/'; 23 | szWorkingDir[len + 1] = 0; 24 | } 25 | return szWorkingDir; 26 | } 27 | 28 | } // namespace client 29 | -------------------------------------------------------------------------------- /tests/cefclient/browser/media_router_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_MEDIA_ROUTER_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_MEDIA_ROUTER_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace media_router_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace media_router_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_MEDIA_ROUTER_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/preferences_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_PREFERENCES_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_PREFERENCES_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace preferences_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace preferences_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_PREFERENCES_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/resource_util_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2011 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #include "tests/shared/browser/resource_util.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace client { 13 | 14 | bool GetResourceDir(std::string& dir) { 15 | char buff[1024]; 16 | 17 | // Retrieve the executable path. 18 | ssize_t len = readlink("/proc/self/exe", buff, sizeof(buff) - 1); 19 | if (len == -1) 20 | return false; 21 | 22 | buff[len] = 0; 23 | 24 | // Remove the executable name from the path. 25 | char* pos = strrchr(buff, '/'); 26 | if (!pos) 27 | return false; 28 | 29 | // Add "cefclient_files" to the path. 30 | strcpy(pos + 1, "cefclient_files"); 31 | dir = std::string(buff); 32 | return true; 33 | } 34 | 35 | } // namespace client 36 | -------------------------------------------------------------------------------- /tests/cefclient/browser/response_filter_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_RESPONSE_FILTER_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_RESPONSE_FILTER_TEST_H_ 7 | #pragma once 8 | 9 | #include "include/cef_browser.h" 10 | #include "include/cef_request.h" 11 | #include "include/cef_response.h" 12 | #include "include/cef_response_filter.h" 13 | 14 | namespace client { 15 | namespace response_filter_test { 16 | 17 | // Create a resource response filter. Called from test_runner.cc. 18 | CefRefPtr GetResourceResponseFilter( 19 | CefRefPtr browser, 20 | CefRefPtr frame, 21 | CefRefPtr request, 22 | CefRefPtr response); 23 | 24 | } // namespace response_filter_test 25 | } // namespace client 26 | 27 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_RESPONSE_FILTER_TEST_H_ 28 | -------------------------------------------------------------------------------- /tests/cefclient/browser/root_window_create.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/browser/root_window.h" 6 | 7 | #include "tests/cefclient/browser/root_window_views.h" 8 | 9 | #if defined(OS_WIN) 10 | #include "tests/cefclient/browser/root_window_win.h" 11 | #elif defined(OS_LINUX) 12 | #include "tests/cefclient/browser/root_window_gtk.h" 13 | #elif defined(OS_MAC) 14 | #include "tests/cefclient/browser/root_window_mac.h" 15 | #endif 16 | 17 | namespace client { 18 | 19 | // static 20 | scoped_refptr RootWindow::Create(bool use_views) { 21 | if (use_views) { 22 | return new RootWindowViews(); 23 | } 24 | 25 | #if defined(OS_WIN) 26 | return new RootWindowWin(); 27 | #elif defined(OS_LINUX) 28 | return new RootWindowGtk(); 29 | #elif defined(OS_MAC) 30 | return new RootWindowMac(); 31 | #else 32 | #error Unsupported platform 33 | #endif 34 | } 35 | 36 | } // namespace client 37 | -------------------------------------------------------------------------------- /tests/cefclient/browser/scheme_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_SCHEME_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_SCHEME_TEST_H_ 7 | #pragma once 8 | 9 | namespace client { 10 | namespace scheme_test { 11 | 12 | // Create and register the custom scheme handler. See 13 | // common/scheme_handler_common.h for registration of the custom scheme 14 | // name/type which must occur in all processes. Called from test_runner.cc. 15 | void RegisterSchemeHandlers(); 16 | 17 | } // namespace scheme_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_SCHEME_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/server_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_SERVER_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_SERVER_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace server_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace server_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_SERVER_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/temp_window.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/client_types.h" 10 | 11 | #if defined(OS_WIN) 12 | #include "tests/cefclient/browser/temp_window_win.h" 13 | #elif defined(OS_LINUX) 14 | #include "tests/cefclient/browser/temp_window_x11.h" 15 | #elif defined(OS_MAC) 16 | #include "tests/cefclient/browser/temp_window_mac.h" 17 | #endif 18 | 19 | namespace client { 20 | 21 | #if defined(OS_WIN) 22 | typedef TempWindowWin TempWindow; 23 | #elif defined(OS_LINUX) 24 | typedef TempWindowX11 TempWindow; 25 | #elif defined(OS_MAC) 26 | typedef TempWindowMac TempWindow; 27 | #endif 28 | 29 | } // namespace client 30 | 31 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_H_ 32 | -------------------------------------------------------------------------------- /tests/cefclient/browser/temp_window_win.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_WIN_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_WIN_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | 11 | namespace client { 12 | 13 | // Represents a singleton hidden window that acts as a temporary parent for 14 | // popup browsers. Only accessed on the UI thread. 15 | class TempWindowWin { 16 | public: 17 | // Returns the singleton window handle. 18 | static CefWindowHandle GetWindowHandle(); 19 | 20 | private: 21 | // A single instance will be created/owned by RootWindowManager. 22 | friend class RootWindowManager; 23 | // Allow deletion via std::unique_ptr only. 24 | friend std::default_delete; 25 | 26 | TempWindowWin(); 27 | ~TempWindowWin(); 28 | 29 | CefWindowHandle hwnd_; 30 | 31 | DISALLOW_COPY_AND_ASSIGN(TempWindowWin); 32 | }; 33 | 34 | } // namespace client 35 | 36 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_WIN_H_ 37 | -------------------------------------------------------------------------------- /tests/cefclient/browser/temp_window_x11.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_X11_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_X11_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | 11 | namespace client { 12 | 13 | // Represents a singleton hidden window that acts as a temporary parent for 14 | // popup browsers. Only accessed on the UI thread. 15 | class TempWindowX11 { 16 | public: 17 | // Returns the singleton window handle. 18 | static CefWindowHandle GetWindowHandle(); 19 | 20 | private: 21 | // A single instance will be created/owned by RootWindowManager. 22 | friend class RootWindowManager; 23 | // Allow deletion via std::unique_ptr only. 24 | friend std::default_delete; 25 | 26 | TempWindowX11(); 27 | ~TempWindowX11(); 28 | 29 | CefWindowHandle xwindow_; 30 | 31 | DISALLOW_COPY_AND_ASSIGN(TempWindowX11); 32 | }; 33 | 34 | } // namespace client 35 | 36 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_TEMP_WINDOW_X11_H_ 37 | -------------------------------------------------------------------------------- /tests/cefclient/browser/urlrequest_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_URLREQUEST_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_URLREQUEST_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace urlrequest_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace urlrequest_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_URLREQUEST_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/util_gtk.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/browser/util_gtk.h" 6 | 7 | #include 8 | 9 | namespace client { 10 | 11 | base::PlatformThreadId ScopedGdkThreadsEnter::locked_thread_ = 12 | kInvalidPlatformThreadId; 13 | 14 | ScopedGdkThreadsEnter::ScopedGdkThreadsEnter() { 15 | // The GDK lock is not reentrant, so don't try to lock again if the current 16 | // thread already holds it. 17 | base::PlatformThreadId current_thread = base::PlatformThread::CurrentId(); 18 | take_lock_ = current_thread != locked_thread_; 19 | 20 | if (take_lock_) { 21 | gdk_threads_enter(); 22 | locked_thread_ = current_thread; 23 | } 24 | } 25 | 26 | ScopedGdkThreadsEnter::~ScopedGdkThreadsEnter() { 27 | if (take_lock_) { 28 | locked_thread_ = kInvalidPlatformThreadId; 29 | gdk_threads_leave(); 30 | } 31 | } 32 | 33 | } // namespace client 34 | -------------------------------------------------------------------------------- /tests/cefclient/browser/views_style.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_VIEWS_STYLE_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_VIEWS_STYLE_H_ 7 | #pragma once 8 | 9 | #include "include/cef_menu_model.h" 10 | #include "include/views/cef_label_button.h" 11 | #include "include/views/cef_panel.h" 12 | #include "include/views/cef_textfield.h" 13 | 14 | namespace client { 15 | 16 | namespace views_style { 17 | 18 | // Returns true if a style is set. 19 | bool IsSet(); 20 | 21 | // Apply style to views objects. 22 | void ApplyBackgroundTo(CefRefPtr view); 23 | void ApplyTo(CefRefPtr panel); 24 | void ApplyTo(CefRefPtr label_button); 25 | void ApplyTo(CefRefPtr textfield); 26 | void ApplyTo(CefRefPtr menu_model); 27 | 28 | } // namespace views_style 29 | 30 | } // namespace client 31 | 32 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_VIEWS_STYLE_H_ 33 | -------------------------------------------------------------------------------- /tests/cefclient/browser/window_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/test_runner.h" 10 | 11 | namespace client { 12 | namespace window_test { 13 | 14 | // Create message handlers. Called from test_runner.cc. 15 | void CreateMessageHandlers(test_runner::MessageHandlerSet& handlers); 16 | 17 | } // namespace window_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/browser/window_test_runner_gtk.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_GTK_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_GTK_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/window_test_runner.h" 10 | 11 | namespace client { 12 | namespace window_test { 13 | 14 | // GTK platform implementation. 15 | class WindowTestRunnerGtk : public WindowTestRunner { 16 | public: 17 | WindowTestRunnerGtk(); 18 | 19 | void SetPos(CefRefPtr browser, 20 | int x, 21 | int y, 22 | int width, 23 | int height) override; 24 | void Minimize(CefRefPtr browser) override; 25 | void Maximize(CefRefPtr browser) override; 26 | void Restore(CefRefPtr browser) override; 27 | }; 28 | 29 | } // namespace window_test 30 | } // namespace client 31 | 32 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_GTK_H_ 33 | -------------------------------------------------------------------------------- /tests/cefclient/browser/window_test_runner_mac.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_MAC_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_MAC_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/window_test_runner.h" 10 | 11 | namespace client { 12 | namespace window_test { 13 | 14 | // Mac OS X platform implementation. 15 | class WindowTestRunnerMac : public WindowTestRunner { 16 | public: 17 | WindowTestRunnerMac(); 18 | 19 | void SetPos(CefRefPtr browser, 20 | int x, 21 | int y, 22 | int width, 23 | int height) override; 24 | void Minimize(CefRefPtr browser) override; 25 | void Maximize(CefRefPtr browser) override; 26 | void Restore(CefRefPtr browser) override; 27 | }; 28 | 29 | } // namespace window_test 30 | } // namespace client 31 | 32 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_MAC_H_ 33 | -------------------------------------------------------------------------------- /tests/cefclient/browser/window_test_runner_views.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_VIEWS_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_VIEWS_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/window_test_runner.h" 10 | 11 | namespace client { 12 | namespace window_test { 13 | 14 | // Views platform implementation. 15 | class WindowTestRunnerViews : public WindowTestRunner { 16 | public: 17 | WindowTestRunnerViews(); 18 | 19 | void SetPos(CefRefPtr browser, 20 | int x, 21 | int y, 22 | int width, 23 | int height) override; 24 | void Minimize(CefRefPtr browser) override; 25 | void Maximize(CefRefPtr browser) override; 26 | void Restore(CefRefPtr browser) override; 27 | }; 28 | 29 | } // namespace window_test 30 | } // namespace client 31 | 32 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_VIEWS_H_ 33 | -------------------------------------------------------------------------------- /tests/cefclient/browser/window_test_runner_win.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_WIN_H_ 6 | #define CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_WIN_H_ 7 | #pragma once 8 | 9 | #include "tests/cefclient/browser/window_test_runner.h" 10 | 11 | namespace client { 12 | namespace window_test { 13 | 14 | // Windows platform implementation. Methods are safe to call on any browser 15 | // process thread. 16 | class WindowTestRunnerWin : public WindowTestRunner { 17 | public: 18 | WindowTestRunnerWin(); 19 | 20 | void SetPos(CefRefPtr browser, 21 | int x, 22 | int y, 23 | int width, 24 | int height) override; 25 | void Minimize(CefRefPtr browser) override; 26 | void Maximize(CefRefPtr browser) override; 27 | void Restore(CefRefPtr browser) override; 28 | }; 29 | 30 | } // namespace window_test 31 | } // namespace client 32 | 33 | #endif // CEF_TESTS_CEFCLIENT_BROWSER_WINDOW_TEST_RUNNER_WIN_H_ 34 | -------------------------------------------------------------------------------- /tests/cefclient/common/client_app_delegates_common.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/common/scheme_test_common.h" 6 | #include "tests/shared/common/client_app.h" 7 | 8 | namespace client { 9 | 10 | // static 11 | void ClientApp::RegisterCustomSchemes(CefRawPtr registrar) { 12 | scheme_test::RegisterCustomSchemes(registrar); 13 | } 14 | 15 | } // namespace client 16 | -------------------------------------------------------------------------------- /tests/cefclient/common/scheme_test_common.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/common/scheme_test_common.h" 6 | 7 | #include "include/cef_scheme.h" 8 | 9 | namespace client { 10 | namespace scheme_test { 11 | 12 | void RegisterCustomSchemes(CefRawPtr registrar) { 13 | registrar->AddCustomScheme( 14 | "client", CEF_SCHEME_OPTION_STANDARD | CEF_SCHEME_OPTION_CORS_ENABLED); 15 | } 16 | 17 | } // namespace scheme_test 18 | } // namespace client 19 | -------------------------------------------------------------------------------- /tests/cefclient/common/scheme_test_common.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_COMMON_SCHEME_TEST_COMMON_H_ 6 | #define CEF_TESTS_CEFCLIENT_COMMON_SCHEME_TEST_COMMON_H_ 7 | #pragma once 8 | 9 | #include 10 | 11 | #include "include/cef_scheme.h" 12 | 13 | namespace client { 14 | namespace scheme_test { 15 | 16 | // Register the custom scheme name/type. This must be done in all processes. 17 | // See browser/scheme_test.h for creation/registration of the custom scheme 18 | // handler which only occurs in the browser process. Called from 19 | // client_app_delegates_common.cc. 20 | void RegisterCustomSchemes(CefRawPtr registrar); 21 | 22 | } // namespace scheme_test 23 | } // namespace client 24 | 25 | #endif // CEF_TESTS_CEFCLIENT_COMMON_SCHEME_TEST_COMMON_H_ 26 | -------------------------------------------------------------------------------- /tests/cefclient/renderer/client_app_delegates_renderer.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefclient/renderer/client_renderer.h" 6 | #include "tests/cefclient/renderer/performance_test.h" 7 | #include "tests/shared/renderer/client_app_renderer.h" 8 | 9 | namespace client { 10 | 11 | // static 12 | void ClientAppRenderer::CreateDelegates(DelegateSet& delegates) { 13 | renderer::CreateDelegates(delegates); 14 | performance_test::CreateDelegates(delegates); 15 | } 16 | 17 | } // namespace client 18 | -------------------------------------------------------------------------------- /tests/cefclient/renderer/client_renderer.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_RENDERER_CLIENT_RENDERER_H_ 6 | #define CEF_TESTS_CEFCLIENT_RENDERER_CLIENT_RENDERER_H_ 7 | #pragma once 8 | 9 | #include "include/cef_base.h" 10 | #include "tests/shared/renderer/client_app_renderer.h" 11 | 12 | namespace client { 13 | namespace renderer { 14 | 15 | // Create the renderer delegate. Called from client_app_delegates_renderer.cc. 16 | void CreateDelegates(ClientAppRenderer::DelegateSet& delegates); 17 | 18 | } // namespace renderer 19 | } // namespace client 20 | 21 | #endif // CEF_TESTS_CEFCLIENT_RENDERER_CLIENT_RENDERER_H_ 22 | -------------------------------------------------------------------------------- /tests/cefclient/renderer/performance_test.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFCLIENT_RENDERER_PERFORMANCE_TEST_H_ 6 | #define CEF_TESTS_CEFCLIENT_RENDERER_PERFORMANCE_TEST_H_ 7 | #pragma once 8 | 9 | #include "tests/shared/renderer/client_app_renderer.h" 10 | 11 | namespace client { 12 | namespace performance_test { 13 | 14 | // Create the renderer delegate. Called from client_app_delegates_renderer.cc. 15 | void CreateDelegates(ClientAppRenderer::DelegateSet& delegates); 16 | 17 | } // namespace performance_test 18 | } // namespace client 19 | 20 | #endif // CEF_TESTS_CEFCLIENT_RENDERER_PERFORMANCE_TEST_H_ 21 | -------------------------------------------------------------------------------- /tests/cefclient/resources/extensions/set_page_color/README.md: -------------------------------------------------------------------------------- 1 | # Color Extension 2 | 3 | Demonstrates basic extension app loading and integration by using a popup to change the page color. 4 | 5 | ## Usage 6 | 7 | Run `cefclient --load-extension=set_page_color`. 8 | 9 | When using the Views framework (`--use-views`) an extension icon will be added to the control bar and clicking the icon will open the extension window. When not using the Views framework an extension window will be opened automatically on application start. 10 | 11 | ## Implementation 12 | 13 | Based on the [set_page_color](https://developer.chrome.com/extensions/samples#search:browser%20action%20with%20a%20popup) example extension. 14 | 15 | Calls: 16 | 17 | * [tabs.executeScript](https://developer.chrome.com/extensions/tabs#method-executeScript) 18 | -------------------------------------------------------------------------------- /tests/cefclient/resources/extensions/set_page_color/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/extensions/set_page_color/icon.png -------------------------------------------------------------------------------- /tests/cefclient/resources/extensions/set_page_color/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "A browser action with a popup that changes the page color", 3 | "description": "Change the current page color", 4 | "version": "1.0", 5 | "permissions": [ 6 | "tabs", "http://*/*", "https://*/*" 7 | ], 8 | "browser_action": { 9 | "default_title": "Set this page's color.", 10 | "default_icon": "icon.png", 11 | "default_popup": "popup.html" 12 | }, 13 | "manifest_version": 2 14 | } 15 | -------------------------------------------------------------------------------- /tests/cefclient/resources/extensions/set_page_color/popup.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | function click(e) { 7 | chrome.tabs.executeScript(null, 8 | {code:"document.body.style.backgroundColor='" + e.target.id + "'"}); 9 | } 10 | 11 | document.addEventListener('DOMContentLoaded', function () { 12 | var divs = document.querySelectorAll('div'); 13 | for (var i = 0; i < divs.length; i++) { 14 | divs[i].addEventListener('click', click); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /tests/cefclient/resources/localstorage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | Click the "Add Line" button to add a line or the "Clear" button to clear.
15 | This data will persist across sessions if a cache path was specified.
16 | 17 | 18 |
19 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/cefclient/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/logo.png -------------------------------------------------------------------------------- /tests/cefclient/resources/mac/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "© Chromium Embedded Framework Authors, 2010"; 4 | -------------------------------------------------------------------------------- /tests/cefclient/resources/mac/cefclient.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/mac/cefclient.icns -------------------------------------------------------------------------------- /tests/cefclient/resources/menu_icon.1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/menu_icon.1x.png -------------------------------------------------------------------------------- /tests/cefclient/resources/menu_icon.2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/menu_icon.2x.png -------------------------------------------------------------------------------- /tests/cefclient/resources/win/cefclient.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/cefclient/resources/win/cefclient.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/win/cefclient.ico -------------------------------------------------------------------------------- /tests/cefclient/resources/win/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefclient/resources/win/small.ico -------------------------------------------------------------------------------- /tests/cefsimple/cefsimple.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/cefsimple/mac/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "© Chromium Embedded Framework Authors, 2013"; 4 | -------------------------------------------------------------------------------- /tests/cefsimple/mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | cefsimple.icns 11 | CFBundleIdentifier 12 | org.cef.cefsimple 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSEnvironment 24 | 25 | MallocNanoZone 26 | 0 27 | 28 | LSMinimumSystemVersion 29 | 10.11.0 30 | NSMainNibFile 31 | MainMenu 32 | NSPrincipalClass 33 | NSApplication 34 | NSSupportsAutomaticGraphicsSwitching 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /tests/cefsimple/mac/cefsimple.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefsimple/mac/cefsimple.icns -------------------------------------------------------------------------------- /tests/cefsimple/mac/helper-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${EXECUTABLE_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | org.cef.cefsimple.helper${BUNDLE_ID_SUFFIX} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.11.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /tests/cefsimple/res/cefsimple.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefsimple/res/cefsimple.ico -------------------------------------------------------------------------------- /tests/cefsimple/res/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/cefsimple/res/small.ico -------------------------------------------------------------------------------- /tests/cefsimple/resource.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | //{{NO_DEPENDENCIES}} 6 | // Microsoft Visual C++ generated include file. 7 | // Used by cefsimple.rc 8 | // 9 | 10 | #define IDI_CEFSIMPLE 100 11 | #define IDI_SMALL 101 12 | 13 | // Avoid files associated with MacOS 14 | #define _X86_ 15 | 16 | // Next default values for new objects 17 | // 18 | #ifdef APSTUDIO_INVOKED 19 | #ifndef APSTUDIO_READONLY_SYMBOLS 20 | #define _APS_NO_MFC 1 21 | #define _APS_NEXT_RESOURCE_VALUE 102 22 | #define _APS_NEXT_COMMAND_VALUE 32700 23 | #define _APS_NEXT_CONTROL_VALUE 1000 24 | #define _APS_NEXT_SYMED_VALUE 102 25 | #endif 26 | #endif 27 | -------------------------------------------------------------------------------- /tests/cefsimple/simple_app.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFSIMPLE_SIMPLE_APP_H_ 6 | #define CEF_TESTS_CEFSIMPLE_SIMPLE_APP_H_ 7 | 8 | #include "include/cef_app.h" 9 | 10 | // Implement application-level callbacks for the browser process. 11 | class SimpleApp : public CefApp, public CefBrowserProcessHandler { 12 | public: 13 | SimpleApp(); 14 | 15 | // CefApp methods: 16 | CefRefPtr GetBrowserProcessHandler() override { 17 | return this; 18 | } 19 | 20 | // CefBrowserProcessHandler methods: 21 | void OnContextInitialized() override; 22 | CefRefPtr GetDefaultClient() override; 23 | 24 | private: 25 | // Include the default reference counting implementation. 26 | IMPLEMENT_REFCOUNTING(SimpleApp); 27 | }; 28 | 29 | #endif // CEF_TESTS_CEFSIMPLE_SIMPLE_APP_H_ 30 | -------------------------------------------------------------------------------- /tests/cefsimple/simple_handler_mac.mm: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefsimple/simple_handler.h" 6 | 7 | #import 8 | 9 | #include "include/cef_browser.h" 10 | 11 | void SimpleHandler::PlatformTitleChange(CefRefPtr browser, 12 | const CefString& title) { 13 | NSView* view = 14 | CAST_CEF_WINDOW_HANDLE_TO_NSVIEW(browser->GetHost()->GetWindowHandle()); 15 | NSWindow* window = [view window]; 16 | std::string titleStr(title); 17 | NSString* str = [NSString stringWithUTF8String:titleStr.c_str()]; 18 | [window setTitle:str]; 19 | } 20 | -------------------------------------------------------------------------------- /tests/cefsimple/simple_handler_win.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/cefsimple/simple_handler.h" 6 | 7 | #include 8 | #include 9 | 10 | #include "include/cef_browser.h" 11 | 12 | void SimpleHandler::PlatformTitleChange(CefRefPtr browser, 13 | const CefString& title) { 14 | CefWindowHandle hwnd = browser->GetHost()->GetWindowHandle(); 15 | if (hwnd) 16 | SetWindowText(hwnd, std::wstring(title).c_str()); 17 | } 18 | -------------------------------------------------------------------------------- /tests/ceftests/image_util.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFTESTS_IMAGE_UTIL_H_ 6 | #define CEF_TESTS_CEFTESTS_IMAGE_UTIL_H_ 7 | #pragma once 8 | 9 | #include "include/cef_image.h" 10 | 11 | namespace image_util { 12 | 13 | // Load an PNG image. Tests that the size is |expected_size| in DIPs. Call 14 | // multiple times to load the same image at different scale factors. 15 | void LoadImage(CefRefPtr image, 16 | double scale_factor, 17 | const std::string& name, 18 | const CefSize& expected_size); 19 | 20 | // Load an icon image. Expected size is 16x16 DIPs. 21 | void LoadIconImage(CefRefPtr image, 22 | double scale_factor, 23 | const std::string& name = "window_icon"); 24 | 25 | } // namespace image_util 26 | 27 | #endif // CEF_TESTS_CEFTESTS_IMAGE_UTIL_H_ 28 | -------------------------------------------------------------------------------- /tests/ceftests/os_rendering_unittest_mac.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license 3 | // that can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFTESTS_OS_RENDERING_UNITTEST_MAC_H_ 6 | #define CEF_TESTS_CEFTESTS_OS_RENDERING_UNITTEST_MAC_H_ 7 | 8 | #include "include/cef_base.h" 9 | 10 | namespace osr_unittests { 11 | 12 | CefWindowHandle GetFakeView(); 13 | 14 | } // namespace osr_unittests 15 | 16 | #endif // CEF_TESTS_CEFTESTS_OS_RENDERING_UNITTEST_MAC_H_ 17 | -------------------------------------------------------------------------------- /tests/ceftests/os_rendering_unittest_mac.mm: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license 3 | // that can be found in the LICENSE file. 4 | 5 | #import 6 | 7 | #include "tests/ceftests/os_rendering_unittest_mac.h" 8 | 9 | namespace osr_unittests { 10 | 11 | CefWindowHandle GetFakeView() { 12 | NSScreen* mainScreen = [NSScreen mainScreen]; 13 | NSRect screenRect = [mainScreen visibleFrame]; 14 | NSView* fakeView = [[NSView alloc] initWithFrame:screenRect]; 15 | return CAST_NSVIEW_TO_CEF_WINDOW_HANDLE(fakeView); 16 | } 17 | 18 | } // namespace osr_unittests 19 | -------------------------------------------------------------------------------- /tests/ceftests/resource.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | //{{NO_DEPENDENCIES}} 6 | // Microsoft Visual C++ generated include file. 7 | // Used by cefclient.rc 8 | // 9 | #define BINARY 256 10 | #define IDS_OSRTEST_HTML 1000 11 | #define IDS_PDF_HTML 1001 12 | #define IDS_PDF_PDF 1002 13 | #define IDS_WINDOW_ICON_1X_PNG 1003 14 | #define IDS_WINDOW_ICON_2X_PNG 1004 15 | 16 | // Next default values for new objects 17 | // 18 | #ifdef APSTUDIO_INVOKED 19 | #ifndef APSTUDIO_READONLY_SYMBOLS 20 | #define _APS_NO_MFC 1 21 | #define _APS_NEXT_RESOURCE_VALUE 130 22 | #define _APS_NEXT_COMMAND_VALUE 32774 23 | #define _APS_NEXT_CONTROL_VALUE 1000 24 | #define _APS_NEXT_SYMED_VALUE 111 25 | #endif 26 | #endif 27 | -------------------------------------------------------------------------------- /tests/ceftests/resource_util_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2011 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #include "tests/shared/browser/resource_util.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace client { 13 | 14 | bool GetResourceDir(std::string& dir) { 15 | char buff[1024]; 16 | 17 | // Retrieve the executable path. 18 | ssize_t len = readlink("/proc/self/exe", buff, sizeof(buff) - 1); 19 | if (len == -1) 20 | return false; 21 | 22 | buff[len] = 0; 23 | 24 | // Remove the executable name from the path. 25 | char* pos = strrchr(buff, '/'); 26 | if (!pos) 27 | return false; 28 | 29 | // Add "ceftests_files" to the path. 30 | strcpy(pos + 1, "ceftests_files"); 31 | dir = std::string(buff); 32 | return true; 33 | } 34 | 35 | } // namespace client 36 | -------------------------------------------------------------------------------- /tests/ceftests/resource_util_win_idmap.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include 6 | 7 | #include "tests/ceftests/resource.h" 8 | 9 | namespace client { 10 | 11 | int GetResourceId(const char* resource_name) { 12 | // Map of resource labels to BINARY id values. 13 | static struct _resource_map { 14 | const char* name; 15 | int id; 16 | } resource_map[] = { 17 | {"osr_test.html", IDS_OSRTEST_HTML}, 18 | {"pdf.html", IDS_PDF_HTML}, 19 | {"pdf.pdf", IDS_PDF_PDF}, 20 | {"window_icon.1x.png", IDS_WINDOW_ICON_1X_PNG}, 21 | {"window_icon.2x.png", IDS_WINDOW_ICON_2X_PNG}, 22 | }; 23 | 24 | for (size_t i = 0; i < sizeof(resource_map) / sizeof(_resource_map); ++i) { 25 | if (!strcmp(resource_map[i].name, resource_name)) 26 | return resource_map[i].id; 27 | } 28 | 29 | return 0; 30 | } 31 | 32 | } // namespace client 33 | -------------------------------------------------------------------------------- /tests/ceftests/resources/mac/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "© Chromium Embedded Framework Authors, 2010"; 4 | -------------------------------------------------------------------------------- /tests/ceftests/resources/mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | ceftests.icns 11 | CFBundleIdentifier 12 | org.cef.ceftests 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSEnvironment 24 | 25 | MallocNanoZone 26 | 0 27 | 28 | LSMinimumSystemVersion 29 | 10.11.0 30 | NSMainNibFile 31 | MainMenu 32 | NSPrincipalClass 33 | NSApplication 34 | NSSupportsAutomaticGraphicsSwitching 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /tests/ceftests/resources/mac/ceftests.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/ceftests/resources/mac/ceftests.icns -------------------------------------------------------------------------------- /tests/ceftests/resources/mac/helper-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${EXECUTABLE_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | org.cef.ceftests.helper${BUNDLE_ID_SUFFIX} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.11.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /tests/ceftests/resources/win/ceftests.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/ceftests/resources/win/ceftests.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/ceftests/resources/win/ceftests.ico -------------------------------------------------------------------------------- /tests/ceftests/resources/win/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/ceftests/resources/win/small.ico -------------------------------------------------------------------------------- /tests/ceftests/track_callback.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_CEFTESTS_TRACK_CALLBACK_H_ 6 | #define CEF_TESTS_CEFTESTS_TRACK_CALLBACK_H_ 7 | #pragma once 8 | 9 | class TrackCallback { 10 | public: 11 | TrackCallback() : gotit_(false) {} 12 | void yes() { gotit_ = true; } 13 | bool isSet() { return gotit_; } 14 | void reset() { gotit_ = false; } 15 | operator bool() const { return gotit_; } 16 | 17 | protected: 18 | bool gotit_; 19 | }; 20 | 21 | #endif // CEF_TESTS_CEFTESTS_TRACK_CALLBACK_H_ 22 | -------------------------------------------------------------------------------- /tests/ceftests/version_unittest.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "include/cef_api_hash.h" 6 | #include "include/cef_version.h" 7 | #include "tests/gtest/include/gtest/gtest.h" 8 | 9 | TEST(VersionTest, VersionInfo) { 10 | EXPECT_EQ(CEF_VERSION_MAJOR, cef_version_info(0)); 11 | EXPECT_EQ(CEF_VERSION_MINOR, cef_version_info(1)); 12 | EXPECT_EQ(CEF_VERSION_PATCH, cef_version_info(2)); 13 | EXPECT_EQ(CEF_COMMIT_NUMBER, cef_version_info(3)); 14 | EXPECT_EQ(CHROME_VERSION_MAJOR, cef_version_info(4)); 15 | EXPECT_EQ(CHROME_VERSION_MINOR, cef_version_info(5)); 16 | EXPECT_EQ(CHROME_VERSION_BUILD, cef_version_info(6)); 17 | EXPECT_EQ(CHROME_VERSION_PATCH, cef_version_info(7)); 18 | } 19 | 20 | TEST(VersionTest, ApiHash) { 21 | EXPECT_STREQ(CEF_API_HASH_PLATFORM, cef_api_hash(0)); 22 | EXPECT_STREQ(CEF_API_HASH_UNIVERSAL, cef_api_hash(1)); 23 | EXPECT_STREQ(CEF_COMMIT_HASH, cef_api_hash(2)); 24 | } 25 | -------------------------------------------------------------------------------- /tests/gtest/include/gtest/gtest.h: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | // Include GoogleTest from the Chromium source location. This file will be 6 | // re-written in the CEF binary distribution to include a fuzed version of 7 | // GoogleTest from the distribution tests/ folder. 8 | 9 | #include "testing/gtest/include/gtest/gtest.h" 10 | -------------------------------------------------------------------------------- /tests/gtest/teamcity/README.cef: -------------------------------------------------------------------------------- 1 | Name: TeamCity C++ Unit Test Reporting 2 | Short Name: teamcity-cpp 3 | URL: https://github.com/JetBrains/teamcity-cpp 4 | Version: 1.8 (commit b2c95c5) 5 | License: Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0) 6 | 7 | Description: 8 | GTest integration for reporting to TeamCity Continuous Integration Server. 9 | 10 | See the project URL for related documentation. 11 | 12 | Local Modifications: 13 | 1. Copy necessary C++ files only. 14 | 1. Use absolute include paths. 15 | -------------------------------------------------------------------------------- /tests/shared/browser/geometry_util.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_SHARED_BROWSER_GEOMETRY_UTIL_H_ 6 | #define CEF_TESTS_SHARED_BROWSER_GEOMETRY_UTIL_H_ 7 | #pragma once 8 | 9 | #include "include/internal/cef_types_wrappers.h" 10 | 11 | namespace client { 12 | 13 | // Convert |value| from logical coordinates to device coordinates. 14 | int LogicalToDevice(int value, float device_scale_factor); 15 | CefRect LogicalToDevice(const CefRect& value, float device_scale_factor); 16 | 17 | // Convert |value| from device coordinates to logical coordinates. 18 | int DeviceToLogical(int value, float device_scale_factor); 19 | void DeviceToLogical(CefMouseEvent& value, float device_scale_factor); 20 | void DeviceToLogical(CefTouchEvent& value, float device_scale_factor); 21 | 22 | } // namespace client 23 | 24 | #endif // CEF_TESTS_SHARED_BROWSER_GEOMETRY_UTIL_H_ 25 | -------------------------------------------------------------------------------- /tests/shared/browser/main_message_loop.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/shared/browser/main_message_loop.h" 6 | 7 | #include "include/cef_task.h" 8 | #include "include/wrapper/cef_closure_task.h" 9 | 10 | namespace client { 11 | 12 | namespace { 13 | 14 | MainMessageLoop* g_main_message_loop = nullptr; 15 | 16 | } // namespace 17 | 18 | MainMessageLoop::MainMessageLoop() { 19 | DCHECK(!g_main_message_loop); 20 | g_main_message_loop = this; 21 | } 22 | 23 | MainMessageLoop::~MainMessageLoop() { 24 | g_main_message_loop = nullptr; 25 | } 26 | 27 | // static 28 | MainMessageLoop* MainMessageLoop::Get() { 29 | DCHECK(g_main_message_loop); 30 | return g_main_message_loop; 31 | } 32 | 33 | void MainMessageLoop::PostClosure(base::OnceClosure closure) { 34 | PostTask(CefCreateClosureTask(std::move(closure))); 35 | } 36 | 37 | void MainMessageLoop::PostClosure(const base::RepeatingClosure& closure) { 38 | PostTask(CefCreateClosureTask(closure)); 39 | } 40 | 41 | } // namespace client 42 | -------------------------------------------------------------------------------- /tests/shared/browser/main_message_loop_std.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/shared/browser/main_message_loop_std.h" 6 | 7 | #include "include/cef_app.h" 8 | 9 | namespace client { 10 | 11 | MainMessageLoopStd::MainMessageLoopStd() {} 12 | 13 | int MainMessageLoopStd::Run() { 14 | CefRunMessageLoop(); 15 | return 0; 16 | } 17 | 18 | void MainMessageLoopStd::Quit() { 19 | CefQuitMessageLoop(); 20 | } 21 | 22 | void MainMessageLoopStd::PostTask(CefRefPtr task) { 23 | CefPostTask(TID_UI, task); 24 | } 25 | 26 | bool MainMessageLoopStd::RunsTasksOnCurrentThread() const { 27 | return CefCurrentlyOn(TID_UI); 28 | } 29 | 30 | #if defined(OS_WIN) 31 | void MainMessageLoopStd::SetCurrentModelessDialog(HWND hWndDialog) { 32 | // Nothing to do here. The Chromium message loop implementation will 33 | // internally route dialog messages. 34 | } 35 | #endif 36 | 37 | } // namespace client 38 | -------------------------------------------------------------------------------- /tests/shared/browser/main_message_loop_std.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_SHARED_BROWSER_MAIN_MESSAGE_LOOP_STD_H_ 6 | #define CEF_TESTS_SHARED_BROWSER_MAIN_MESSAGE_LOOP_STD_H_ 7 | #pragma once 8 | 9 | #include "tests/shared/browser/main_message_loop.h" 10 | 11 | namespace client { 12 | 13 | // Represents the main message loop in the browser process. This implementation 14 | // is a light-weight wrapper around the Chromium UI thread. 15 | class MainMessageLoopStd : public MainMessageLoop { 16 | public: 17 | MainMessageLoopStd(); 18 | 19 | // MainMessageLoop methods. 20 | int Run() override; 21 | void Quit() override; 22 | void PostTask(CefRefPtr task) override; 23 | bool RunsTasksOnCurrentThread() const override; 24 | 25 | #if defined(OS_WIN) 26 | void SetCurrentModelessDialog(HWND hWndDialog) override; 27 | #endif 28 | 29 | private: 30 | DISALLOW_COPY_AND_ASSIGN(MainMessageLoopStd); 31 | }; 32 | 33 | } // namespace client 34 | 35 | #endif // CEF_TESTS_SHARED_BROWSER_MAIN_MESSAGE_LOOP_STD_H_ 36 | -------------------------------------------------------------------------------- /tests/shared/browser/resource_util_linux.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Chromium Embedded Framework Authors. 2 | // Portions copyright (c) 2011 The Chromium Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | #include "tests/shared/browser/resource_util.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace client { 13 | 14 | bool GetResourceDir(std::string& dir) { 15 | char buff[1024]; 16 | 17 | // Retrieve the executable path. 18 | ssize_t len = readlink("/proc/self/exe", buff, sizeof(buff) - 1); 19 | if (len == -1) 20 | return false; 21 | 22 | buff[len] = 0; 23 | 24 | // Remove the executable name from the path. 25 | char* pos = strrchr(buff, '/'); 26 | if (!pos) 27 | return false; 28 | 29 | // Add "files" to the path. 30 | strcpy(pos + 1, "files"); 31 | dir = std::string(buff); 32 | return true; 33 | } 34 | 35 | } // namespace client 36 | -------------------------------------------------------------------------------- /tests/shared/common/client_app_other.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #include "tests/shared/common/client_app_other.h" 6 | 7 | #include "include/cef_command_line.h" 8 | 9 | namespace client { 10 | 11 | ClientAppOther::ClientAppOther() {} 12 | 13 | } // namespace client 14 | -------------------------------------------------------------------------------- /tests/shared/common/client_app_other.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights 2 | // reserved. Use of this source code is governed by a BSD-style license that 3 | // can be found in the LICENSE file. 4 | 5 | #ifndef CEF_TESTS_SHARED_COMMON_CLIENT_APP_OTHER_H_ 6 | #define CEF_TESTS_SHARED_COMMON_CLIENT_APP_OTHER_H_ 7 | #pragma once 8 | 9 | #include "tests/shared/common/client_app.h" 10 | 11 | namespace client { 12 | 13 | // Client app implementation for other process types. 14 | class ClientAppOther : public ClientApp { 15 | public: 16 | ClientAppOther(); 17 | 18 | private: 19 | IMPLEMENT_REFCOUNTING(ClientAppOther); 20 | DISALLOW_COPY_AND_ASSIGN(ClientAppOther); 21 | }; 22 | 23 | } // namespace client 24 | 25 | #endif // CEF_TESTS_SHARED_COMMON_CLIENT_APP_OTHER_H_ 26 | -------------------------------------------------------------------------------- /tests/shared/resources/pdf.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | PDF Test 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/shared/resources/pdf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/shared/resources/pdf.pdf -------------------------------------------------------------------------------- /tests/shared/resources/window_icon.1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/shared/resources/window_icon.1x.png -------------------------------------------------------------------------------- /tests/shared/resources/window_icon.2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tests/shared/resources/window_icon.2x.png -------------------------------------------------------------------------------- /tools/date_util.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights 2 | # reserved. Use of this source code is governed by a BSD-style license that 3 | # can be found in the LICENSE file. 4 | 5 | from __future__ import absolute_import 6 | import datetime 7 | 8 | 9 | def get_year(): 10 | """ Returns the current year. """ 11 | return str(datetime.datetime.now().year) 12 | 13 | 14 | def get_date(): 15 | """ Returns the current date. """ 16 | return datetime.datetime.now().strftime('%B %d, %Y') 17 | -------------------------------------------------------------------------------- /tools/distrib/README-TRANSFER.txt: -------------------------------------------------------------------------------- 1 | Files in this directory have been copied from other locations in the Chromium 2 | source tree. They have been modified only to the extent necessary to work in 3 | the CEF Binary Distribution directory structure. Below is a listing of the 4 | original file locations. 5 | 6 | -------------------------------------------------------------------------------- /tools/distrib/README.client.txt: -------------------------------------------------------------------------------- 1 | CONTENTS 2 | -------- 3 | 4 | Release Contains a release build of the sample application. 5 | 6 | 7 | USAGE 8 | ----- 9 | 10 | Please visit the CEF Website for additional usage information. 11 | 12 | https://bitbucket.org/chromiumembedded/cef/ 13 | -------------------------------------------------------------------------------- /tools/distrib/README.footer.txt: -------------------------------------------------------------------------------- 1 | LICENSING 2 | --------- 3 | 4 | The CEF project is BSD licensed. Please read the LICENSE.txt file included with 5 | this binary distribution for licensing terms and conditions. Other software 6 | included in this distribution is provided under other licenses. Please visit 7 | "about:credits" in a CEF-based application for complete Chromium and third-party 8 | licensing information. 9 | -------------------------------------------------------------------------------- /tools/distrib/README.header.txt: -------------------------------------------------------------------------------- 1 | Chromium Embedded Framework (CEF) $DISTRIB_TYPE$ Binary Distribution for $PLATFORM$ 2 | ------------------------------------------------------------------------------- 3 | 4 | Date: $DATE$ 5 | 6 | CEF Version: $CEF_VER$ 7 | CEF URL: $CEF_URL$ 8 | @$CEF_REV$ 9 | 10 | Chromium Version: $CHROMIUM_VER$ 11 | Chromium URL: $CHROMIUM_URL$ 12 | @$CHROMIUM_REV$ 13 | 14 | $DISTRIB_DESC$ 15 | -------------------------------------------------------------------------------- /tools/distrib/gtest/README.cef: -------------------------------------------------------------------------------- 1 | Name: Google C++ Testing Framework 2 | Short Name: gtest 3 | URL: https://github.com/google/googletest 4 | License: BSD (see LICENSE file) 5 | 6 | Description: 7 | Fuzed (single header/source file) version of GoogleTest. Generated from a 8 | Chromium version 93.0.4577.51 source checkout with the following command: 9 | 10 | cd /path/to/chromium/src/third_party/googletest/src/googletest/scripts 11 | ./fuse_gtest_files.py 12 | 13 | This script was removed from GTest in 14 | https://github.com/google/googletest/commit/47f819c3ca. 15 | 16 | Local Modifications: 17 | None. 18 | -------------------------------------------------------------------------------- /tools/distrib/linux/README.minimal.txt: -------------------------------------------------------------------------------- 1 | CONTENTS 2 | -------- 3 | 4 | cmake Contains CMake configuration files shared by all targets. 5 | 6 | include Contains all required CEF header files. 7 | 8 | libcef_dll Contains the source code for the libcef_dll_wrapper static library 9 | that all applications using the CEF C++ API must link against. 10 | 11 | Release Contains libcef.so and other components required to run the release 12 | version of CEF-based applications. By default these files should be 13 | placed in the same directory as the executable. 14 | 15 | Resources Contains resources required by libcef.so. By default these files 16 | should be placed in the same directory as libcef.so. 17 | 18 | 19 | USAGE 20 | ----- 21 | 22 | Building using CMake: 23 | CMake can be used to generate project files in many different formats. See 24 | usage instructions at the top of the CMakeLists.txt file. 25 | 26 | Please visit the CEF Website for additional usage information. 27 | 28 | https://bitbucket.org/chromiumembedded/cef/ 29 | -------------------------------------------------------------------------------- /tools/distrib/mac/README.minimal.txt: -------------------------------------------------------------------------------- 1 | CONTENTS 2 | -------- 3 | 4 | cmake Contains CMake configuration files shared by all targets. 5 | 6 | include Contains all required CEF header files. 7 | 8 | libcef_dll Contains the source code for the libcef_dll_wrapper static library 9 | that all applications using the CEF C++ API must link against. 10 | 11 | Release Contains the "Chromium Embedded Framework.framework" and other 12 | components required to run the release version of CEF-based 13 | applications. 14 | 15 | 16 | USAGE 17 | ----- 18 | 19 | Building using CMake: 20 | CMake can be used to generate project files in many different formats. See 21 | usage instructions at the top of the CMakeLists.txt file. 22 | 23 | Please visit the CEF Website for additional usage information. 24 | 25 | https://bitbucket.org/chromiumembedded/cef/ 26 | -------------------------------------------------------------------------------- /tools/distrib/transfer.cfg: -------------------------------------------------------------------------------- 1 | # Additional handling of transfer files. 2 | # target: Target location relative to the target release directory. This 3 | # value is required. 4 | # source: Source location relative to the CEF root directory. This value 5 | # is optional. If specified the source file will be copied to the target 6 | # location and a TRANSFER-README.txt file will be created. 7 | # post-process: Post-processing operation to perform. This value is 8 | # optional and may be any one of the following: 9 | # 'normalize_headers': Replace fully-qualified project header paths with 10 | # the optionally specified 'new_header_path' value. 11 | 12 | [ 13 | { 14 | 'source' : '../net/base/net_error_list.h', 15 | 'target' : 'include/base/internal/cef_net_error_list.h', 16 | }, 17 | ] -------------------------------------------------------------------------------- /tools/distrib/win/README.minimal.txt: -------------------------------------------------------------------------------- 1 | CONTENTS 2 | -------- 3 | 4 | cmake Contains CMake configuration files shared by all targets. 5 | 6 | include Contains all required CEF header files. 7 | 8 | libcef_dll Contains the source code for the libcef_dll_wrapper static library 9 | that all applications using the CEF C++ API must link against. 10 | 11 | Release Contains libcef.dll, libcef.lib and other components required to 12 | build and run the release version of CEF-based applications. By 13 | default these files should be placed in the same directory as the 14 | executable. 15 | 16 | Resources Contains resources required by libcef.dll. By default these files 17 | should be placed in the same directory as libcef.dll. 18 | 19 | 20 | USAGE 21 | ----- 22 | 23 | Building using CMake: 24 | CMake can be used to generate project files in many different formats. See 25 | usage instructions at the top of the CMakeLists.txt file. 26 | 27 | Please visit the CEF Website for additional usage information. 28 | 29 | https://bitbucket.org/chromiumembedded/cef/ 30 | -------------------------------------------------------------------------------- /tools/distrib/win/README.sandbox.txt: -------------------------------------------------------------------------------- 1 | CONTENTS 2 | -------- 3 | 4 | Debug Contains the Debug build of cef_sandbox.lib. 5 | 6 | Release Contains the Release build of cef_sandbox.lib. 7 | 8 | 9 | USAGE 10 | ----- 11 | 12 | Please visit the CEF Website for usage information. 13 | 14 | https://bitbucket.org/chromiumembedded/cef/ 15 | -------------------------------------------------------------------------------- /tools/distrib/win/transfer_standard.cfg: -------------------------------------------------------------------------------- 1 | # Additional handling of transfer files. 2 | # target: Target location relative to the target release directory. This 3 | # value is required. 4 | # source: Source location relative to the CEF root directory. This value 5 | # is optional. If specified the source file will be copied to the target 6 | # location and a TRANSFER-README.txt file will be created. 7 | # post-process: Post-processing operation to perform. This value is 8 | # optional and may be any one of the following: 9 | # 'normalize_headers': Replace fully-qualified project header paths with 10 | # the optionally specified 'new_header_path' value. 11 | 12 | [ 13 | { 14 | 'source' : '../build/win/compatibility.manifest', 15 | 'target' : 'tests/cefclient/resources/win/compatibility.manifest', 16 | }, 17 | { 18 | 'source' : '../build/win/compatibility.manifest', 19 | 'target' : 'tests/cefsimple/compatibility.manifest', 20 | }, 21 | { 22 | 'source' : '../build/win/compatibility.manifest', 23 | 'target' : 'tests/ceftests/resources/win/compatibility.manifest', 24 | }, 25 | ] 26 | -------------------------------------------------------------------------------- /tools/distrib/win/x64/d3dcompiler_47.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tools/distrib/win/x64/d3dcompiler_47.dll -------------------------------------------------------------------------------- /tools/distrib/win/x86/d3dcompiler_47.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obsproject/cef/17f8588498e2be97e667a5ae3ed70cb691a5df52/tools/distrib/win/x86/d3dcompiler_47.dll -------------------------------------------------------------------------------- /tools/fix_style.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat %~dp0\fix_style.py %* 3 | -------------------------------------------------------------------------------- /tools/fix_style.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 tools/fix_style.py $@ 3 | -------------------------------------------------------------------------------- /tools/make_distrib.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat %~dp0\make_distrib.py --output-dir %~dp0\..\binary_distrib\ %* 3 | -------------------------------------------------------------------------------- /tools/make_distrib.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 make_distrib.py --output-dir ../binary_distrib/ $@ 3 | -------------------------------------------------------------------------------- /tools/make_version_header.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat tools\make_version_header.py include\cef_version.h 3 | -------------------------------------------------------------------------------- /tools/make_version_header.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 tools/make_version_header.py include/cef_version.h 3 | -------------------------------------------------------------------------------- /tools/patch.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat %~dp0\patcher.py -------------------------------------------------------------------------------- /tools/patch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 tools/patcher.py 3 | -------------------------------------------------------------------------------- /tools/patch_updater.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | python.bat %~dp0\patch_updater.py %* -------------------------------------------------------------------------------- /tools/patch_updater.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 tools/patch_updater.py $@ 3 | -------------------------------------------------------------------------------- /tools/patcher.README.txt: -------------------------------------------------------------------------------- 1 | Chromium Embedded Framework (CEF) Patch Application Tool -- patcher.py 2 | ------------------------------------------------------------------------------- 3 | 4 | Document Last Updated: April 26, 2017 5 | 6 | 7 | OVERVIEW 8 | -------- 9 | 10 | The CEF patch application tool is used to apply patches to the Chromium, Blink 11 | and third-party code bases. Currently only unified diff format is supported. 12 | See the README.txt file in the patch directory for information on how this tool 13 | is used. 14 | 15 | The patch.[bat|sh] file can be used to run the patch application tool with 16 | command-line arguments that match the default CEF directory structure and 17 | output options. Run 'patcher.py -h' for a complete list of available command- 18 | line arguments. 19 | -------------------------------------------------------------------------------- /tools/translator.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | call python.bat %~dp0\translator.py --root-dir %~dp0\.. %* 3 | pause -------------------------------------------------------------------------------- /tools/translator.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | python3 translator.py --root-dir .. $@ 3 | -------------------------------------------------------------------------------- /tools/yapf/README.cef: -------------------------------------------------------------------------------- 1 | Name: yapf 2 | Short Name: yapf 3 | URL: https://github.com/google/yapf 4 | Date: 28 May 2017 5 | Version: 0.16.2 6 | Revision: 9f168a12 7 | License: Apache 2.0 8 | License File: LICENSE 9 | 10 | Description: 11 | A formatter for Python files. 12 | 13 | Local Modifications: 14 | None 15 | -------------------------------------------------------------------------------- /tools/yapf/__main__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | import yapf 15 | 16 | yapf.run_main() 17 | -------------------------------------------------------------------------------- /tools/yapf/yapf/yapflib/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /tools/yapf/yapf/yapflib/errors.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | """YAPF error object.""" 15 | 16 | 17 | class YapfError(Exception): 18 | """Parent class for user errors or input errors. 19 | 20 | Exceptions of this type are handled by the command line tool 21 | and result in clear error messages, as opposed to backtraces. 22 | """ 23 | pass 24 | -------------------------------------------------------------------------------- /tools/yapf_util.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights 2 | # reserved. Use of this source code is governed by a BSD-style license that 3 | # can be found in the LICENSE file 4 | 5 | from __future__ import absolute_import 6 | from __future__ import print_function 7 | from exec_util import exec_cmd 8 | import os 9 | import sys 10 | 11 | # Script directory. 12 | script_dir = os.path.dirname(__file__) 13 | root_dir = os.path.join(script_dir, os.pardir) 14 | 15 | 16 | def yapf_format(file_name, file_contents): 17 | # Reads .style.yapf in the root_dir when specifying contents via stdin. 18 | result = exec_cmd("%s %s/yapf" % (sys.executable, script_dir), root_dir, 19 | file_contents.encode('utf-8')) 20 | if result['err'] != '': 21 | print("yapf error: %s" % result['err']) 22 | if result['out'] != '': 23 | output = result['out'] 24 | if sys.platform == 'win32': 25 | # Convert to Unix line endings. 26 | output = output.replace("\r", "") 27 | return output 28 | return None 29 | --------------------------------------------------------------------------------