electron/patches/chromium
michal-pichlinski-openfin 2190793fe6
fix: disable background throttling also in the viz::DisplayScheduler (#38924)
* fix: disable background throttling also in the `viz::DisplayScheduler`

`viz::DisplayScheduler` is responsible for drawing and swapping frames
in the `DisplayScheduler::DrawAndSwap` which is called from the
`DisplayScheduler::AttemptDrawAndSwap` if the `DisplayScheduler::ShouldDraw`
returns true. `ShouldDraw` depends on the `DisplayScheduler` visibility
and when it is not visible then it returns false.

In order to keep producing frames, disabling `backgroundThrottling`
should also prevent changing `DisplayScheduler` visibility to false.

`DisplayScheduler` lives in the `ui::Compositor` where every
`electron::NativewWindow` has its own `Compositor`. `electron::NativewWindow`
may be host of the multiple `electron::api::WebContents` instances which may
have different `WebPreferences` settings. Therefore if at least one
of the `WebContents` requires disabling throttling then all other `WebContents`
using the same window will have it disabled in the `ui::Compositor`.

BREAKING CHANGE:
`backgroundThrottling` set to false will disable frames throttling
in the `BrowserWindow` for all `WebContents` displayed by it.

Close: [#31016](https://github.com/electron/electron/issues/31016)

* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`

* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`

* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`

---------

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2023-09-26 16:00:46 -04:00
..
.patches fix: disable background throttling also in the viz::DisplayScheduler (#38924) 2023-09-26 16:00:46 -04:00
accelerator.patch chore: bump chromium to 115.0.5760.0 (main) (#38033) 2023-05-10 10:47:48 -04:00
add_contentgpuclient_precreatemessageloop_callback.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
add_didinstallconditionalfeatures.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
add_electron_deps_to_license_credits_file.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
add_gin_converter_support_for_arraybufferview.patch feat: add protocol.handle (#36674) 2023-03-27 10:00:55 -07:00
add_maximized_parameter_to_linuxui_getwindowframeprovider.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
add_ui_scopedcliboardwriter_writeunsaferawdata.patch chore: bump chromium to 115.0.5760.0 (main) (#38033) 2023-05-10 10:47:48 -04:00
add_webmessageportconverter_entangleandinjectmessageportchannel.patch chore: bump chromium to 117.0.5852.0 (main) (#38891) 2023-07-01 16:22:55 -04:00
allow_disabling_blink_scheduler_throttling_per_renderview.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
allow_in-process_windows_to_have_different_web_prefs.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
allow_new_privileges_in_unsandboxed_child_processes.patch chore: bump chromium to 118.0.5949.0 (main) (#39505) 2023-08-15 15:44:24 -04:00
allow_setting_secondary_label_via_simplemenumodel.patch chore: bump chromium to 117.0.5938.0 (main) (#39375) 2023-08-15 10:49:41 -05:00
blink_file_path.patch chore: bump chromium to 117.0.5923.0 (main) (#39304) 2023-08-04 10:47:29 +02:00
blink_local_frame.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
boringssl_build_gn.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
build_add_electron_tracing_category.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
build_allow_electron_to_use_exec_script.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
build_disable_partition_alloc_on_mac.patch chore: bump chromium to 117.0.5923.0 (main) (#39304) 2023-08-04 10:47:29 +02:00
build_disable_print_content_analysis.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
build_do_not_depend_on_packed_resource_integrity.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
build_gn.patch chore: bump chromium to 117.0.5938.0 (main) (#39375) 2023-08-15 10:49:41 -05:00
build_libc_as_static_library.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
build_make_libcxx_abi_unstable_false_for_electron.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
build_only_use_the_mas_build_config_in_the_required_components.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
build_remove_ent_content_analysis_assert.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
can_create_window.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
chore_add_buildflag_guard_around_new_include.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
chore_add_electron_deps_to_gitignores.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
chore_defer_usb_service_getdevices_request_until_usb_service_is.patch fix: WebUSB on ARM64 macs (#37441) 2023-03-07 12:40:40 -05:00
chore_introduce_blocking_api_for_electron.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
chore_patch_out_partition_attribute_dcheck_for_webviews.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
chore_patch_out_profile_methods_in_chrome_browser_pdf.patch chore: bump chromium to 117.0.5938.0 (main) (#39375) 2023-08-15 10:49:41 -05:00
chore_patch_out_profile_methods_in_profile_selections_cc.patch chore: bump chromium to 115.0.5786.0 (main) (#38301) 2023-05-23 21:58:58 +02:00
chore_patch_out_profile_methods_in_titlebar_config.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
chore_provide_iswebcontentscreationoverridden_with_full_params.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
command-ismediakey.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
crash_allow_setting_more_options.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
crashpad_pid_check.patch chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
create_browser_v8_snapshot_file_name_fuse.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
custom_protocols_plzserviceworker.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
dcheck.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
desktop_media_list.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
disable_color_correct_rendering.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
disable_compositor_recycling.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
disable_freezing_flags_after_init_in_node.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
disable_hidden.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
disable_unload_metrics.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
dom_storage_limits.patch chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
dump_syms.patch chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
enable_reset_aspect_ratio.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch chore: bump chromium to 117.0.5923.0 (main) (#39304) 2023-08-04 10:47:29 +02:00
expose_setuseragent_on_networkcontext.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
expose_v8initializer_codegenerationcheckcallbackinmainthread.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
extend_apply_webpreferences.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
feat_add_data_parameter_to_processsingleton.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
feat_add_onclose_to_messageport.patch chore: bump chromium to 117.0.5892.0 (main) (#39118) 2023-07-19 00:26:27 +02:00
feat_add_set_theme_source_to_allow_apps_to.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch chore: bump chromium to 115.0.5760.0 (main) (#38033) 2023-05-10 10:47:48 -04:00
feat_add_support_for_overriding_the_base_spellchecker_download_url.patch chore: bump chromium to 115.0.5760.0 (main) (#38033) 2023-05-10 10:47:48 -04:00
feat_allow_embedders_to_add_observers_on_created_hunspell.patch chore: enable check raw ptr fields (#38167) 2023-05-11 16:07:39 -04:00
feat_configure_launch_options_for_service_process.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
feat_enable_offscreen_rendering_with_viz_compositor.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
feat_expose_raw_response_headers_from_urlloader.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
feat_filter_out_non-shareable_windows_in_the_current_application_in.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
fix_activate_background_material_on_windows.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
fix_adapt_exclusive_access_for_electron_needs.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
fix_add_check_for_sandbox_then_result.patch chore: bump chromium to 111.0.5518.0 (main) (#36575) 2023-01-05 21:35:34 -05:00
fix_aspect_ratio_with_max_size.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
fix_crash_loading_non-standard_schemes_in_iframes.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
fix_crash_when_saving_edited_pdf_files.patch chore: bump chromium to 118.0.5993.0 (main) (#39745) 2023-09-06 19:27:25 -04:00
fix_disabling_background_throttling_in_compositor.patch fix: disable background throttling also in the viz::DisplayScheduler (#38924) 2023-09-26 16:00:46 -04:00
fix_export_zlib_symbols.patch chore: bump chromium to 118.0.5949.0 (main) (#39505) 2023-08-15 15:44:24 -04:00
fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
fix_harden_blink_scriptstate_maybefrom.patch fix: window.open causing occasional Node.js crashes (#38754) 2023-07-18 10:41:50 +02:00
fix_media_key_usage_with_globalshortcuts.patch chore: bump chromium to 116.0.5817.0 (main) (#38465) 2023-06-09 16:08:36 -07:00
fix_move_autopipsettingshelper_behind_branding_buildflag.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch chore: bump chromium to 116.0.5845.0 (main) (#38827) 2023-06-22 10:51:15 +02:00
fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
fix_patch_out_profile_refs_in_accessibility_ui.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
fix_properly_honor_printing_page_ranges.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
fix_remove_caption-removing_style_call.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
fix_remove_profiles_from_spellcheck_service.patch chore: bump chromium to 115.0.5760.0 (main) (#38033) 2023-05-10 10:47:48 -04:00
fix_return_v8_value_from_localframe_requestexecutescript.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
fix_select_the_first_menu_item_when_opened_via_keyboard.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
fix_use_delegated_generic_capturer_when_available.patch fix: use generic capturer to list both screens and windows when possible (#39111) 2023-07-21 16:03:01 -07:00
frame_host_manager.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
gin_enable_disable_v8_platform.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
gpu_notify_when_dxdiag_request_fails.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
gritsettings_resource_ids.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
gtk_visibility.patch chore: bump chromium to 117.0.5913.0 (main) (#39172) 2023-07-31 10:47:32 -07:00
hack_plugin_response_interceptor_to_point_to_electron.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
ignore_rc_check.patch chore: bump chromium to 111.0.5544.3 (main) (#36820) 2023-02-03 12:43:42 +01:00
introduce_ozoneplatform_electron_can_call_x11_property.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
isolate_holder.patch chore: bump chromium to 117.0.5923.0 (main) (#39304) 2023-08-04 10:47:29 +02:00
load_v8_snapshot_in_browser_process.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
logging_win32_only_create_a_console_if_logging_to_stderr.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
make_gtk_getlibgtk_public.patch chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
mas-cgdisplayusesforcetogray.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
mas_avoid_usage_of_private_macos_apis.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
mas_blink_no_private_api.patch chore: bump chromium to 117.0.5938.0 (main) (#39375) 2023-08-15 10:49:41 -05:00
mas_disable_custom_window_frame.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
mas_disable_remote_accessibility.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
mas_disable_remote_layer.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
mas_no_private_api.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
network_service_allow_remote_certificate_verification_logic.patch chore: bump chromium to 119.0.6017.0 (main) (#39922) 2023-09-20 11:30:38 +02:00
notification_provenance.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
pepper_plugin_support.patch chore: bump chromium to 111.0.5544.3 (main) (#36820) 2023-02-03 12:43:42 +01:00
picture-in-picture.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
port_autofill_colors_to_the_color_pipeline.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
preconnect_manager.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
printing.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
process_singleton.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
proxy_config_monitor.patch chore: bump chromium to 117.0.5852.0 (main) (#38891) 2023-07-01 16:22:55 -04:00
refactor_expose_cursor_changes_to_the_webcontentsobserver.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
refactor_expose_hostimportmoduledynamically_and.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
refactor_restore_base_adaptcallbackforrepeating.patch chore: bump chromium to 117.0.5913.0 (main) (#39172) 2023-07-31 10:47:32 -07:00
remove_usage_of_incognito_apis_in_the_spellchecker.patch chore: bump chromium to 115.0.5786.0 (main) (#38301) 2023-05-23 21:58:58 +02:00
render_widget_host_view_base.patch chore: bump chromium to 118.0.5975.0 (main) (#39531) 2023-09-01 15:54:59 +09:00
render_widget_host_view_mac.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
resource_file_conflict.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
scroll_bounce_flag.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch chore: bump chromium to 118.0.5991.0 (main) (#39714) 2023-09-05 21:17:56 -04:00
skip_atk_toolchain_check.patch chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
support_mixed_sandbox_with_zygote.patch chore: bump chromium to 119.0.6006.0 (main) (#39774) 2023-09-18 16:44:09 -04:00
unsandboxed_ppapi_processes_skip_zygote.patch chore: bump chromium to 113.0.5670.0 (main) (#37675) 2023-03-23 17:15:56 -04:00
upload_list_add_loadsync_method.patch chore: bump chromium to 113.0.5636.0 (main) (#37130) 2023-03-10 10:07:42 -06:00
web_contents.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
webview_cross_drag.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
webview_fullscreen.patch chore: bump chromium to 119.0.6019.2 (main) (#39925) 2023-09-20 16:08:26 -04:00
worker_context_will_destroy.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00
worker_feat_add_hook_to_notify_script_ready.patch chore: bump chromium to 119.0.6016.0 (main) (#39898) 2023-09-19 19:34:56 +02:00