Browse Source

chore: bump chromium to 119.0.6016.0 (main) (#39898)

* chore: bump chromium in DEPS to 119.0.6016.0

* chore: update patches

* 4839124: Rename chrome/app/ branding strings

https://chromium-review.googlesource.com/c/chromium/src/+/4839124

* 4846834: Clean up PrintRenderFrameHelper interaction with Blink.

https://chromium-review.googlesource.com/c/chromium/src/+/4846834

* 4850759: Cache bounds of document pip windows

https://chromium-review.googlesource.com/c/chromium/src/+/4850759

* 4864669: Roll libc++ from 84fb809dd6da to 68a6f0b88287 (352 revisions)

https://chromium-review.googlesource.com/c/chromium/src/+/4864669

* 4863987: Remove five gpu workarounds.

https://chromium-review.googlesource.com/c/chromium/src/+/4863987

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
Co-authored-by: Shelley Vohr <[email protected]>
electron-roller[bot] 1 year ago
parent
commit
986becdb4d
45 changed files with 214 additions and 622 deletions
  1. 1 1
      DEPS
  2. 2 0
      chromium_src/BUILD.gn
  3. 1 1
      electron_paks.gni
  4. 52 37
      filenames.libcxx.gni
  5. 0 1
      patches/chromium/.patches
  6. 1 1
      patches/chromium/add_didinstallconditionalfeatures.patch
  7. 1 1
      patches/chromium/add_electron_deps_to_license_credits_file.patch
  8. 1 1
      patches/chromium/blink_local_frame.patch
  9. 8 8
      patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
  10. 1 1
      patches/chromium/build_libc_as_static_library.patch
  11. 1 1
      patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch
  12. 10 10
      patches/chromium/build_only_use_the_mas_build_config_in_the_required_components.patch
  13. 4 4
      patches/chromium/can_create_window.patch
  14. 1 1
      patches/chromium/chore_add_buildflag_guard_around_new_include.patch
  15. 7 7
      patches/chromium/chore_add_electron_deps_to_gitignores.patch
  16. 2 2
      patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
  17. 3 3
      patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch
  18. 1 1
      patches/chromium/custom_protocols_plzserviceworker.patch
  19. 1 1
      patches/chromium/disable_color_correct_rendering.patch
  20. 5 5
      patches/chromium/expose_setuseragent_on_networkcontext.patch
  21. 2 2
      patches/chromium/feat_add_data_parameter_to_processsingleton.patch
  22. 2 2
      patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch
  23. 1 1
      patches/chromium/fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch
  24. 10 10
      patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch
  25. 1 1
      patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
  26. 2 2
      patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch
  27. 2 2
      patches/chromium/frame_host_manager.patch
  28. 3 3
      patches/chromium/gin_enable_disable_v8_platform.patch
  29. 2 2
      patches/chromium/gritsettings_resource_ids.patch
  30. 10 3
      patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch
  31. 7 7
      patches/chromium/mas_disable_remote_accessibility.patch
  32. 7 9
      patches/chromium/mas_disable_remote_layer.patch
  33. 8 8
      patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
  34. 32 54
      patches/chromium/printing.patch
  35. 2 2
      patches/chromium/process_singleton.patch
  36. 2 2
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  37. 1 1
      patches/chromium/resource_file_conflict.patch
  38. 0 407
      patches/chromium/revert_ios_delete_gn_flags_for_mach_absolute_time_ticks.patch
  39. 2 2
      patches/chromium/scroll_bounce_flag.patch
  40. 1 1
      patches/chromium/web_contents.patch
  41. 2 2
      patches/chromium/webview_fullscreen.patch
  42. 4 4
      patches/chromium/worker_context_will_destroy.patch
  43. 4 4
      patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch
  44. 3 3
      patches/v8/build_gn.patch
  45. 1 1
      patches/v8/do_not_export_private_v8_symbols_on_windows.patch

+ 1 - 1
DEPS

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
 
 vars = {
   'chromium_version':
-    '119.0.6006.0',
+    '119.0.6016.0',
   'node_version':
     'v18.17.1',
   'nan_version':

+ 2 - 0
chromium_src/BUILD.gn

@@ -55,6 +55,8 @@ static_library("chrome") {
     "//chrome/browser/net/proxy_config_monitor.h",
     "//chrome/browser/net/proxy_service_factory.cc",
     "//chrome/browser/net/proxy_service_factory.h",
+    "//chrome/browser/picture_in_picture/picture_in_picture_bounds_cache.cc",
+    "//chrome/browser/picture_in_picture/picture_in_picture_bounds_cache.h",
     "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc",
     "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.h",
     "//chrome/browser/platform_util.cc",

+ 1 - 1
electron_paks.gni

@@ -192,7 +192,7 @@ template("electron_paks") {
       "${root_gen_dir}/ui/strings/ui_strings_",
     ]
     deps = [
-      "//chrome/app:chromium_strings",
+      "//chrome/app:branded_strings",
       "//chrome/app:generated_resources",
       "//chrome/app/resources:locale_settings",
       "//chrome/app/resources:platform_locale_settings",

+ 52 - 37
filenames.libcxx.gni

@@ -79,6 +79,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/fill.h",
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/find_if.h",
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/for_each.h",
+  "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h",
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/merge.h",
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/serial.h",
   "//third_party/libc++/src/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h",
@@ -95,6 +96,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__algorithm/pstl_is_partitioned.h",
   "//third_party/libc++/src/include/__algorithm/pstl_merge.h",
   "//third_party/libc++/src/include/__algorithm/pstl_replace.h",
+  "//third_party/libc++/src/include/__algorithm/pstl_sort.h",
   "//third_party/libc++/src/include/__algorithm/pstl_stable_sort.h",
   "//third_party/libc++/src/include/__algorithm/pstl_transform.h",
   "//third_party/libc++/src/include/__algorithm/push_heap.h",
@@ -248,6 +250,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__bit/countr.h",
   "//third_party/libc++/src/include/__bit/endian.h",
   "//third_party/libc++/src/include/__bit/has_single_bit.h",
+  "//third_party/libc++/src/include/__bit/invert_if.h",
   "//third_party/libc++/src/include/__bit/popcount.h",
   "//third_party/libc++/src/include/__bit/rotate.h",
   "//third_party/libc++/src/include/__bit_reference",
@@ -281,6 +284,8 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__chrono/steady_clock.h",
   "//third_party/libc++/src/include/__chrono/system_clock.h",
   "//third_party/libc++/src/include/__chrono/time_point.h",
+  "//third_party/libc++/src/include/__chrono/tzdb.h",
+  "//third_party/libc++/src/include/__chrono/tzdb_list.h",
   "//third_party/libc++/src/include/__chrono/weekday.h",
   "//third_party/libc++/src/include/__chrono/year.h",
   "//third_party/libc++/src/include/__chrono/year_month.h",
@@ -328,7 +333,6 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__coroutine/coroutine_traits.h",
   "//third_party/libc++/src/include/__coroutine/noop_coroutine_handle.h",
   "//third_party/libc++/src/include/__coroutine/trivial_awaitables.h",
-  "//third_party/libc++/src/include/__debug",
   "//third_party/libc++/src/include/__debug_utils/randomize_range.h",
   "//third_party/libc++/src/include/__debug_utils/strict_weak_ordering_check.h",
   "//third_party/libc++/src/include/__exception/exception.h",
@@ -387,6 +391,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__format/range_formatter.h",
   "//third_party/libc++/src/include/__format/unicode.h",
   "//third_party/libc++/src/include/__format/width_estimation_table.h",
+  "//third_party/libc++/src/include/__format/write_escaped.h",
   "//third_party/libc++/src/include/__functional/binary_function.h",
   "//third_party/libc++/src/include/__functional/binary_negate.h",
   "//third_party/libc++/src/include/__functional/bind.h",
@@ -415,11 +420,13 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__functional/unary_negate.h",
   "//third_party/libc++/src/include/__functional/weak_result_type.h",
   "//third_party/libc++/src/include/__fwd/array.h",
+  "//third_party/libc++/src/include/__fwd/bit_reference.h",
   "//third_party/libc++/src/include/__fwd/fstream.h",
   "//third_party/libc++/src/include/__fwd/get.h",
   "//third_party/libc++/src/include/__fwd/hash.h",
   "//third_party/libc++/src/include/__fwd/ios.h",
   "//third_party/libc++/src/include/__fwd/istream.h",
+  "//third_party/libc++/src/include/__fwd/mdspan.h",
   "//third_party/libc++/src/include/__fwd/memory_resource.h",
   "//third_party/libc++/src/include/__fwd/ostream.h",
   "//third_party/libc++/src/include/__fwd/pair.h",
@@ -465,6 +472,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__iterator/permutable.h",
   "//third_party/libc++/src/include/__iterator/prev.h",
   "//third_party/libc++/src/include/__iterator/projected.h",
+  "//third_party/libc++/src/include/__iterator/ranges_iterator_traits.h",
   "//third_party/libc++/src/include/__iterator/readable_traits.h",
   "//third_party/libc++/src/include/__iterator/reverse_access.h",
   "//third_party/libc++/src/include/__iterator/reverse_iterator.h",
@@ -477,8 +485,31 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__locale_dir/locale_base_api/bsd_locale_defaults.h",
   "//third_party/libc++/src/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h",
   "//third_party/libc++/src/include/__locale_dir/locale_base_api/locale_guard.h",
+  "//third_party/libc++/src/include/__math/abs.h",
+  "//third_party/libc++/src/include/__math/copysign.h",
+  "//third_party/libc++/src/include/__math/error_functions.h",
+  "//third_party/libc++/src/include/__math/exponential_functions.h",
+  "//third_party/libc++/src/include/__math/fdim.h",
+  "//third_party/libc++/src/include/__math/fma.h",
+  "//third_party/libc++/src/include/__math/gamma.h",
+  "//third_party/libc++/src/include/__math/hyperbolic_functions.h",
+  "//third_party/libc++/src/include/__math/hypot.h",
+  "//third_party/libc++/src/include/__math/inverse_hyperbolic_functions.h",
+  "//third_party/libc++/src/include/__math/inverse_trigonometric_functions.h",
+  "//third_party/libc++/src/include/__math/logarithms.h",
+  "//third_party/libc++/src/include/__math/min_max.h",
+  "//third_party/libc++/src/include/__math/modulo.h",
+  "//third_party/libc++/src/include/__math/remainder.h",
+  "//third_party/libc++/src/include/__math/roots.h",
+  "//third_party/libc++/src/include/__math/rounding_functions.h",
+  "//third_party/libc++/src/include/__math/traits.h",
+  "//third_party/libc++/src/include/__math/trigonometric_functions.h",
   "//third_party/libc++/src/include/__mbstate_t.h",
+  "//third_party/libc++/src/include/__mdspan/default_accessor.h",
   "//third_party/libc++/src/include/__mdspan/extents.h",
+  "//third_party/libc++/src/include/__mdspan/layout_left.h",
+  "//third_party/libc++/src/include/__mdspan/layout_right.h",
+  "//third_party/libc++/src/include/__mdspan/mdspan.h",
   "//third_party/libc++/src/include/__memory/addressof.h",
   "//third_party/libc++/src/include/__memory/align.h",
   "//third_party/libc++/src/include/__memory/aligned_alloc.h",
@@ -504,7 +535,6 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__memory/temp_value.h",
   "//third_party/libc++/src/include/__memory/temporary_buffer.h",
   "//third_party/libc++/src/include/__memory/uninitialized_algorithms.h",
-  "//third_party/libc++/src/include/__memory/uninitialized_buffer.h",
   "//third_party/libc++/src/include/__memory/unique_ptr.h",
   "//third_party/libc++/src/include/__memory/uses_allocator.h",
   "//third_party/libc++/src/include/__memory/uses_allocator_construction.h",
@@ -517,6 +547,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__memory_resource/unsynchronized_pool_resource.h",
   "//third_party/libc++/src/include/__mutex/lock_guard.h",
   "//third_party/libc++/src/include/__mutex/mutex.h",
+  "//third_party/libc++/src/include/__mutex/once_flag.h",
   "//third_party/libc++/src/include/__mutex/tag_types.h",
   "//third_party/libc++/src/include/__mutex/unique_lock.h",
   "//third_party/libc++/src/include/__node_handle",
@@ -535,41 +566,6 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__numeric/transform_exclusive_scan.h",
   "//third_party/libc++/src/include/__numeric/transform_inclusive_scan.h",
   "//third_party/libc++/src/include/__numeric/transform_reduce.h",
-  "//third_party/libc++/src/include/__pstl/internal/algorithm_fwd.h",
-  "//third_party/libc++/src/include/__pstl/internal/algorithm_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/execution_defs.h",
-  "//third_party/libc++/src/include/__pstl/internal/execution_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_algorithm_defs.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_algorithm_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_memory_defs.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_memory_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_numeric_defs.h",
-  "//third_party/libc++/src/include/__pstl/internal/glue_numeric_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/memory_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/numeric_fwd.h",
-  "//third_party/libc++/src/include/__pstl/internal/numeric_impl.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_for.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_for_each.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_invoke.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_merge.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_reduce.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_scan.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_stable_partial_sort.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_stable_sort.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_transform_reduce.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/parallel_transform_scan.h",
-  "//third_party/libc++/src/include/__pstl/internal/omp/util.h",
-  "//third_party/libc++/src/include/__pstl/internal/parallel_backend.h",
-  "//third_party/libc++/src/include/__pstl/internal/parallel_backend_omp.h",
-  "//third_party/libc++/src/include/__pstl/internal/parallel_backend_serial.h",
-  "//third_party/libc++/src/include/__pstl/internal/parallel_backend_tbb.h",
-  "//third_party/libc++/src/include/__pstl/internal/parallel_backend_utils.h",
-  "//third_party/libc++/src/include/__pstl/internal/unseq_backend_simd.h",
-  "//third_party/libc++/src/include/__pstl/internal/utils.h",
-  "//third_party/libc++/src/include/__pstl_algorithm",
-  "//third_party/libc++/src/include/__pstl_config_site.in",
-  "//third_party/libc++/src/include/__pstl_memory",
-  "//third_party/libc++/src/include/__pstl_numeric",
   "//third_party/libc++/src/include/__random/bernoulli_distribution.h",
   "//third_party/libc++/src/include/__random/binomial_distribution.h",
   "//third_party/libc++/src/include/__random/cauchy_distribution.h",
@@ -610,6 +606,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__ranges/access.h",
   "//third_party/libc++/src/include/__ranges/all.h",
   "//third_party/libc++/src/include/__ranges/as_rvalue_view.h",
+  "//third_party/libc++/src/include/__ranges/chunk_by_view.h",
   "//third_party/libc++/src/include/__ranges/common_view.h",
   "//third_party/libc++/src/include/__ranges/concepts.h",
   "//third_party/libc++/src/include/__ranges/container_compatible_range.h",
@@ -636,6 +633,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__ranges/rbegin.h",
   "//third_party/libc++/src/include/__ranges/ref_view.h",
   "//third_party/libc++/src/include/__ranges/rend.h",
+  "//third_party/libc++/src/include/__ranges/repeat_view.h",
   "//third_party/libc++/src/include/__ranges/reverse_view.h",
   "//third_party/libc++/src/include/__ranges/single_view.h",
   "//third_party/libc++/src/include/__ranges/size.h",
@@ -643,11 +641,13 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__ranges/subrange.h",
   "//third_party/libc++/src/include/__ranges/take_view.h",
   "//third_party/libc++/src/include/__ranges/take_while_view.h",
+  "//third_party/libc++/src/include/__ranges/to.h",
   "//third_party/libc++/src/include/__ranges/transform_view.h",
   "//third_party/libc++/src/include/__ranges/view_interface.h",
   "//third_party/libc++/src/include/__ranges/views.h",
   "//third_party/libc++/src/include/__ranges/zip_view.h",
   "//third_party/libc++/src/include/__split_buffer",
+  "//third_party/libc++/src/include/__std_clang_module",
   "//third_party/libc++/src/include/__std_mbstate_t.h",
   "//third_party/libc++/src/include/__stop_token/atomic_unique_lock.h",
   "//third_party/libc++/src/include/__stop_token/intrusive_list_view.h",
@@ -678,6 +678,8 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__system_error/error_condition.h",
   "//third_party/libc++/src/include/__system_error/system_error.h",
   "//third_party/libc++/src/include/__thread/formatter.h",
+  "//third_party/libc++/src/include/__thread/id.h",
+  "//third_party/libc++/src/include/__thread/jthread.h",
   "//third_party/libc++/src/include/__thread/poll_with_backoff.h",
   "//third_party/libc++/src/include/__thread/this_thread.h",
   "//third_party/libc++/src/include/__thread/thread.h",
@@ -710,6 +712,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__type_traits/conjunction.h",
   "//third_party/libc++/src/include/__type_traits/copy_cv.h",
   "//third_party/libc++/src/include/__type_traits/copy_cvref.h",
+  "//third_party/libc++/src/include/__type_traits/datasizeof.h",
   "//third_party/libc++/src/include/__type_traits/decay.h",
   "//third_party/libc++/src/include/__type_traits/dependent_type.h",
   "//third_party/libc++/src/include/__type_traits/disjunction.h",
@@ -903,6 +906,17 @@ libcxx_headers = [
   "//third_party/libc++/src/include/expected",
   "//third_party/libc++/src/include/experimental/__config",
   "//third_party/libc++/src/include/experimental/__memory",
+  "//third_party/libc++/src/include/experimental/__simd/abi_tag.h",
+  "//third_party/libc++/src/include/experimental/__simd/aligned_tag.h",
+  "//third_party/libc++/src/include/experimental/__simd/declaration.h",
+  "//third_party/libc++/src/include/experimental/__simd/internal_declaration.h",
+  "//third_party/libc++/src/include/experimental/__simd/reference.h",
+  "//third_party/libc++/src/include/experimental/__simd/scalar.h",
+  "//third_party/libc++/src/include/experimental/__simd/simd.h",
+  "//third_party/libc++/src/include/experimental/__simd/simd_mask.h",
+  "//third_party/libc++/src/include/experimental/__simd/traits.h",
+  "//third_party/libc++/src/include/experimental/__simd/utility.h",
+  "//third_party/libc++/src/include/experimental/__simd/vec_ext.h",
   "//third_party/libc++/src/include/experimental/deque",
   "//third_party/libc++/src/include/experimental/forward_list",
   "//third_party/libc++/src/include/experimental/iterator",
@@ -957,6 +971,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/numeric",
   "//third_party/libc++/src/include/optional",
   "//third_party/libc++/src/include/ostream",
+  "//third_party/libc++/src/include/print",
   "//third_party/libc++/src/include/queue",
   "//third_party/libc++/src/include/random",
   "//third_party/libc++/src/include/ranges",

+ 0 - 1
patches/chromium/.patches

@@ -134,4 +134,3 @@ fix_activate_background_material_on_windows.patch
 fix_move_autopipsettingshelper_behind_branding_buildflag.patch
 revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch
 fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch
-revert_ios_delete_gn_flags_for_mach_absolute_time_ticks.patch

+ 1 - 1
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -23,7 +23,7 @@ index d1e9ad95891487b37e2e03cb2a220eb969e877ab..13bdc6cf7ba4221f0a3219975a0825eb
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index bcd1c7d972152238718e1da38b07203a19ad2420..c7158a95aac1a85f908f7fecef45d05d272c55b4 100644
+index 2891a0dae415c642dc2bcaf1834fa5fc18fdd5e9..8fa09fdc00f31f41b6b50e77b38abe264a01bfed 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
 @@ -4474,6 +4474,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,

+ 1 - 1
patches/chromium/add_electron_deps_to_license_credits_file.patch

@@ -7,7 +7,7 @@ Ensure that licenses for the dependencies introduced by Electron
 are included in `LICENSES.chromium.html`
 
 diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
-index d31c258acd4a07e92166f5b868b8c4d41f8fbf35..bd0966b2118b491722c4efc754ab88020c8f0ee9 100755
+index e0e9996e78046fb626198beccbd08f20fc3b574d..90ad87295c197db4853056b0650e6f769de67b9d 100755
 --- a/tools/licenses/licenses.py
 +++ b/tools/licenses/licenses.py
 @@ -413,6 +413,31 @@ SPECIAL_CASES = {

+ 1 - 1
patches/chromium/blink_local_frame.patch

@@ -49,7 +49,7 @@ index e0ce2a1bcbef7ece6b320adf820ba49148a66fd7..6aefdcfc226089ab3ae149b75ebdc86b
    // its owning reference back to our owning LocalFrame.
    client_->Detached(type);
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index 132d4058e0abe99cb92d7f6ced4425bc1b27f375..e993fa7c61d95a297e7655fc28311327e293aa56 100644
+index e943c44731d3138077de612f948aeab70beb55a2..38587f2855c7482b33936308dd18d8f362331d55 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -666,10 +666,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

+ 8 - 8
patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch

@@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this
 patch.
 
 diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index 41ce32113ec2679b76d5a4fd69a7109c832ac7a1..1cd35794bf78f3d92b42634d9494c85a98e93ea6 100644
+index 200379c8f6c933f3877fc4c6b983ca64214b8d9e..d76d319cbd13f94d204fb60f0d8f564557a6fa08 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
 @@ -199,11 +199,16 @@ if (!is_android && !is_mac) {
@@ -33,10 +33,10 @@ index 41ce32113ec2679b76d5a4fd69a7109c832ac7a1..1cd35794bf78f3d92b42634d9494c85a
            "//base",
            "//build:branding_buildflags",
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index cc7d5fd080a4fcff87813060e4aa2d441ca1bce6..c95a4bdd65ec5a99a6b77f70cf446afa802b37d3 100644
+index 443163d7494d7b0d331e86e4ad99ee3ed5715b46..3de49138f64a572aacd558bb780034b000f9e757 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -4744,7 +4744,7 @@ static_library("browser") {
+@@ -4764,7 +4764,7 @@ static_library("browser") {
  
      # On Windows, the hashes are embedded in //chrome:chrome_initial rather
      # than here in :chrome_dll.
@@ -46,10 +46,10 @@ index cc7d5fd080a4fcff87813060e4aa2d441ca1bce6..c95a4bdd65ec5a99a6b77f70cf446afa
        sources += [ "certificate_viewer_stub.cc" ]
      }
 diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index 5201d98ba8f6edbf331d0905c6d9494e8d702f98..6492b4fd79bb106abccbae2fbe9053fe4541f1d8 100644
+index abe2cbf317bd0138a01d00432155f794d9fad15f..ead6bac66332b474cb59cddf619ec899f20f3b31 100644
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -6828,7 +6828,6 @@ test("unit_tests") {
+@@ -6843,7 +6843,6 @@ test("unit_tests") {
  
      deps += [
        "//chrome:other_version",
@@ -57,7 +57,7 @@ index 5201d98ba8f6edbf331d0905c6d9494e8d702f98..6492b4fd79bb106abccbae2fbe9053fe
        "//chrome//services/util_win:unit_tests",
        "//chrome/app:chrome_dll_resources",
        "//chrome/app:win_unit_tests",
-@@ -6849,6 +6848,10 @@ test("unit_tests") {
+@@ -6864,6 +6863,10 @@ test("unit_tests") {
        "//ui/resources",
      ]
  
@@ -68,7 +68,7 @@ index 5201d98ba8f6edbf331d0905c6d9494e8d702f98..6492b4fd79bb106abccbae2fbe9053fe
      ldflags = [
        "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
        "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
-@@ -7819,7 +7822,6 @@ test("unit_tests") {
+@@ -7839,7 +7842,6 @@ test("unit_tests") {
      }
  
      deps += [
@@ -76,7 +76,7 @@ index 5201d98ba8f6edbf331d0905c6d9494e8d702f98..6492b4fd79bb106abccbae2fbe9053fe
        "//chrome/browser/apps:icon_standardizer",
        "//chrome/browser/apps/app_service",
        "//chrome/browser/apps/app_service:app_registry_cache_waiter",
-@@ -7905,6 +7907,10 @@ test("unit_tests") {
+@@ -7925,6 +7927,10 @@ test("unit_tests") {
        "//ui/webui/resources/js/browser_command:mojo_bindings",
      ]
  

+ 1 - 1
patches/chromium/build_libc_as_static_library.patch

@@ -7,7 +7,7 @@ Build libc++ as static library to compile and pass
 nan tests
 
 diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
-index 448459ee94773786c9742eb16272b7c7c2078d7d..822a7e4e8cc7fd0d59c8c813c2108b369db6adac 100644
+index c93cf2883d7109053b1daf68fb1d64219e745c6b..48ee62a16bcfbe7f3083855409b2c8db80d0109e 100644
 --- a/buildtools/third_party/libc++/BUILD.gn
 +++ b/buildtools/third_party/libc++/BUILD.gn
 @@ -44,7 +44,11 @@ config("winver") {

+ 1 - 1
patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch

@@ -6,7 +6,7 @@ Subject: build: make libcxx_abi_unstable false for electron
 https://nornagon.medium.com/a-libc-odyssey-973e51649063
 
 diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
-index 54e6b7e39b0e79843a2d128135f0ed19e14a85c6..1decbe4d26b2a62cd254d253202c245f4e73b423 100644
+index 862591058bacf2b526482c17eb84b204d1960422..6bce7ab7e33c602b8f733a3f39e6bdd778697b10 100644
 --- a/buildtools/third_party/libc++/__config_site
 +++ b/buildtools/third_party/libc++/__config_site
 @@ -12,7 +12,6 @@

+ 10 - 10
patches/chromium/build_only_use_the_mas_build_config_in_the_required_components.patch

@@ -6,10 +6,10 @@ Subject: build: only use the mas build config in the required components
 Before landing this patch should be split into the relevant MAS patches, or at least the patch this one partially reverts
 
 diff --git a/base/BUILD.gn b/base/BUILD.gn
-index 3560158bce3949cc454e8f94cd97584f7c1b6e2d..5bdeed26cc4f52d8d6ba3d30dcf013169e490008 100644
+index 23f268698ee81bd883e9249aa252082a3f40cae9..8e7730a655e5307141333deb676970a6a5d7b86e 100644
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
-@@ -1034,6 +1034,7 @@ component("base") {
+@@ -1032,6 +1032,7 @@ component("base") {
      "//build/config/compiler:prevent_unsafe_narrowing",
      "//build/config/compiler:wexit_time_destructors",
      "//build/config/compiler:wglobal_constructors",
@@ -74,7 +74,7 @@ index 5d0bae2eb27d6ed90ac83932630954e4376e62b5..1b6c54a5a859ff95db87c133c423182d
  
    if (is_win) {
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 36d770e54579cd83b19fb145c031aa8e89ad60f6..4832ac75071f70ff4fe1909184af4d27c7ae0ed3 100644
+index 6d2732b059e238425de0414f9268ca9288367a02..559f27939149ea856ab0be61a20fe9eeac35bf86 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
 @@ -59,6 +59,7 @@ source_set("browser") {
@@ -110,7 +110,7 @@ index 5ab406dbebe5c159c6e209f8844bf6fabd47199f..224c45b7bff3c4073c70bbd8bdc1fd1c
  
    public_deps = [
 diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
-index c41565ca0eb628503f0863ce69d4c790be25ce2f..815c8a82b43703f703181e8427dafb508ff43055 100644
+index 6b31f7eb59babbb14d90e9278c978523753aba09..48613c5806a1df0e3cb9aff9f491ae775cdbdff2 100644
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
 @@ -484,6 +484,7 @@ static_library("test_support") {
@@ -171,7 +171,7 @@ index 93cf87a37792691f41d7c611104a378d9af45195..2d3a0f923f4991be41534e7f951fe5df
  
    if (is_ios) {
 diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
-index 6eb142954e6a9b2a3937dbf3ae733f330865c9da..f4061586471b23762ba898766ae16b6c46b5a90e 100644
+index f36bf682ffdeaf69da34a4f9e18465dde4e3a9a3..7f1a6fb71f78855bc771ee533b1715b246899c1c 100644
 --- a/net/dns/BUILD.gn
 +++ b/net/dns/BUILD.gn
 @@ -177,6 +177,8 @@ source_set("dns") {
@@ -212,10 +212,10 @@ index 5e9fc18352d1bf0939f8366d2282b49aeb307994..69dcc2cafa27b3d8bdf3fe8d0a22a980
  
  source_set("sandbox_unittests") {
 diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
-index 3c5aefcf245ff80294102cd3fb04abb63ece132f..6e69a7a8d823263ea56f470ca549bbe2a62c669e 100644
+index ea945ef532688367a86f2858f6b03f4b571acdc4..9286ef801349aeef8e9234a6f5e5f0390812cbf8 100644
 --- a/third_party/blink/renderer/core/BUILD.gn
 +++ b/third_party/blink/renderer/core/BUILD.gn
-@@ -308,6 +308,7 @@ component("core") {
+@@ -309,6 +309,7 @@ component("core") {
    configs -= core_config_remove
    configs += core_config_add
    configs += [ "//v8:external_startup_data" ]
@@ -288,10 +288,10 @@ index ebd698116ef4f88c3bbaea1b02912bbeddbca34f..e096f9371607a088250e1ea72f450f85
    if (is_win) {
      sources += [
 diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
-index c5eb8556e3c58f25fcb6f073b1f6bd58291591e5..86ccf083d2670e51356ba6ed35a7ad8766249650 100644
+index e5242c9831e514231954282501a1894af2d85288..eac051cd1e4705410fd13f2b63b62659c643b580 100644
 --- a/ui/views/BUILD.gn
 +++ b/ui/views/BUILD.gn
-@@ -683,6 +683,7 @@ component("views") {
+@@ -684,6 +684,7 @@ component("views") {
        "IOSurface.framework",
        "QuartzCore.framework",
      ]
@@ -299,7 +299,7 @@ index c5eb8556e3c58f25fcb6f073b1f6bd58291591e5..86ccf083d2670e51356ba6ed35a7ad87
    }
  
    if (is_win) {
-@@ -1109,6 +1110,8 @@ source_set("test_support") {
+@@ -1110,6 +1111,8 @@ source_set("test_support") {
      "//testing/gtest",
    ]
  

+ 4 - 4
patches/chromium/can_create_window.patch

@@ -9,10 +9,10 @@ potentially prevent a window from being created.
 TODO(loc): this patch is currently broken.
 
 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
-index f7af8c0ed1dfda2db6979127d9ccbda1b5720b2c..6e2517bfb39b88827aa7a44f6b65b13c9454d16f 100644
+index 70f2b666d7fa5421c26f7354d4fd0871bb51229a..fc93a7e98acd09ea2c6a1c8d209775d2c9482d74 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -8205,6 +8205,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -8201,6 +8201,7 @@ void RenderFrameHostImpl::CreateNewWindow(
            last_committed_origin_, params->window_container_type,
            params->target_url, params->referrer.To<Referrer>(),
            params->frame_name, params->disposition, *params->features,
@@ -21,7 +21,7 @@ index f7af8c0ed1dfda2db6979127d9ccbda1b5720b2c..6e2517bfb39b88827aa7a44f6b65b13c
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index e667fd07c877a260d539aab11f42984f76b2e157..35a7cb88aadd3cf709ae6ab94e26268a518a6c4f 100644
+index 13ccc79c8ea8799c182223a295cf89a16ebff526..4f8187e10c6b328abd1d0a855f250e14ac880aac 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -4327,6 +4327,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -148,7 +148,7 @@ index 0fa12e6a5dd2eb2cd2102919f6127731e8500133..64ac8d677a9f7a723c46bbf0e74595b3
    // typically happens when popups are created.
    virtual void WebContentsCreated(WebContents* source_contents,
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index ac2a0f360d935768b9f1032ac61bddf1692ae5b2..bcd1c7d972152238718e1da38b07203a19ad2420 100644
+index 4d69b5e3305ab3c5aa50de5d65924f378a719897..2891a0dae415c642dc2bcaf1834fa5fc18fdd5e9 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
 @@ -6402,6 +6402,10 @@ WebView* RenderFrameImpl::CreateNewWindow(

+ 1 - 1
patches/chromium/chore_add_buildflag_guard_around_new_include.patch

@@ -9,7 +9,7 @@ This is an experimental commit; but if it's successful,
 This patch should be upstreamed and then removed from electron's code.
 
 diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
-index ae4a85db8b9427fe13abe30055b768c37281eed1..3b593f9fe39a457f9ad7c02aadb80de1db4e90f2 100644
+index 6140d79bf6aa9cc8600db570aaa38e19ba5a1c35..8018ce4feb119ac9a36483af477fd313c3a12fc8 100644
 --- a/chrome/browser/ui/views/frame/browser_view.h
 +++ b/chrome/browser/ui/views/frame/browser_view.h
 @@ -43,7 +43,6 @@

+ 7 - 7
patches/chromium/chore_add_electron_deps_to_gitignores.patch

@@ -6,19 +6,19 @@ Subject: chore: add electron deps to gitignores
 Makes things like "git status" quicker when developing electron locally
 
 diff --git a/.gitignore b/.gitignore
-index c71ddf7b2c50024d1d40f7a0a44bc0b48a0f80b1..96a4ba2253ec2870865f22c27676ea883ee0d928 100644
+index 22417f27125a44d481483439066d73e60348b414..82e5084b0e12231e5cc96a38d99b7238ebd0565c 100644
 --- a/.gitignore
 +++ b/.gitignore
-@@ -244,6 +244,7 @@ vs-chromium-project.txt
+@@ -210,6 +210,7 @@ vs-chromium-project.txt
+ /data
  /delegate_execute
  /device/serial/device_serial_mojo.xml
- /docs/website
 +/electron
  /google_apis/gcm/gcm.xml
- /google_apis/internal
  /googleurl
+ /gpu/gles2_conform_test
 diff --git a/third_party/.gitignore b/third_party/.gitignore
-index 7f71f823e692f759aa38ddb977f073635fac697e..e4776c088d861102e37d20b38c4929028f083bda 100644
+index 5cd5dda2f903662cc470d445fc39837aea0b821d..df0499538b4de6d14afd33d3c1c03d3d70c6c100 100644
 --- a/third_party/.gitignore
 +++ b/third_party/.gitignore
 @@ -96,6 +96,7 @@
@@ -29,7 +29,7 @@ index 7f71f823e692f759aa38ddb977f073635fac697e..e4776c088d861102e37d20b38c492902
  /elfutils/src
  /emoji-metadata/src
  /emoji-segmenter/src
-@@ -210,6 +211,7 @@
+@@ -212,6 +213,7 @@
  /mocha
  /mockito/src
  /nacl_sdk_binaries/
@@ -37,7 +37,7 @@ index 7f71f823e692f759aa38ddb977f073635fac697e..e4776c088d861102e37d20b38c492902
  /nasm
  /nearby/src
  /neon_2_sse/src
-@@ -278,6 +280,7 @@
+@@ -280,6 +282,7 @@
  /speex
  /sqlite/src
  /sqlite4java/lib/

+ 2 - 2
patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch

@@ -80,7 +80,7 @@ index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685
    }
  
 diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
-index e4de9a1ad02d3d500da5802a6e6e2f820dc40bea..636e802495c267483eb8c7a4e8c6a0faa151f67b 100644
+index e7df94b97731f9c0a11fc8cb862198df781fe21c..975206defd9e3b035d0a7cb2066fe97deb4b0cd3 100644
 --- a/chrome/browser/ui/browser.cc
 +++ b/chrome/browser/ui/browser.cc
 @@ -1885,12 +1885,11 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -218,7 +218,7 @@ index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7
    void AddNewContents(content::WebContents* source,
                        std::unique_ptr<content::WebContents> new_contents,
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index e69ce675019c9dc734de1820c8f3774dc769fea4..7fa21e1fffe5f22ed395aab5254a5660a0a76bf4 100644
+index 7b34c3ecc778ee08f262b9b232c1dbd5c10d2475..08e3ff32f55a7d21bcf795764273758995854a80 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -4234,8 +4234,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(

+ 3 - 3
patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch

@@ -102,10 +102,10 @@ index c891c5649a6ae76c9f0f988359649ece0e8ac1d9..54e30c4dd82042c283e36cae767dcdd7
    friend class ContentClientCreator;
    friend class ContentClientInitializer;
 diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
-index ff5d9e16b3b33c6f2895691356b90c8210e927d9..75ce1de12c9a8bff5028d9e8c3aed87eee2d5f16 100644
+index 67b6b7ab4194d831a38429789dba269ddec7cbc9..35114fabe0156f48bd0f0a8adfa409e4ee06363a 100644
 --- a/gin/v8_initializer.cc
 +++ b/gin/v8_initializer.cc
-@@ -540,8 +540,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
+@@ -542,8 +542,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
  
  #if defined(V8_USE_EXTERNAL_STARTUP_DATA)
  
@@ -115,7 +115,7 @@ index ff5d9e16b3b33c6f2895691356b90c8210e927d9..75ce1de12c9a8bff5028d9e8c3aed87e
    if (g_mapped_snapshot) {
      // TODO(crbug.com/802962): Confirm not loading different type of snapshot
      // files in a process.
-@@ -550,10 +549,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
+@@ -552,10 +551,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
  
    base::MemoryMappedFile::Region file_region;
    base::File file =

+ 1 - 1
patches/chromium/custom_protocols_plzserviceworker.patch

@@ -8,7 +8,7 @@ Allow registering custom protocols to handle service worker main script fetching
 Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511
 
 diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
-index 194cee71bc8c07d5395bc3456bcce074553eb285..61de17bf5ed4fb1333339b8595dd51514e90b8b4 100644
+index 49ed9f95ba4053b5330a54223c6b43b9b3ff5aad..bdcac528395ee8a6218b796c8556e701bd30ddf1 100644
 --- a/content/browser/service_worker/service_worker_context_wrapper.cc
 +++ b/content/browser/service_worker/service_worker_context_wrapper.cc
 @@ -1889,6 +1889,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(

+ 1 - 1
patches/chromium/disable_color_correct_rendering.patch

@@ -20,7 +20,7 @@ to deal with color spaces. That is being tracked at
 https://crbug.com/634542 and https://crbug.com/711107.
 
 diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
-index 107f1b8a751567da90cf2740085a26b071fb05a1..caae4c22bb0cde05ef1be2d55b217b730b674cd9 100644
+index 0cecd6ec1f4df330be91034d8874b33615f174fb..a64522c74ac567c98f1ef630f8a6ecbc4009f2ad 100644
 --- a/cc/trees/layer_tree_host_impl.cc
 +++ b/cc/trees/layer_tree_host_impl.cc
 @@ -1868,6 +1868,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(

+ 5 - 5
patches/chromium/expose_setuseragent_on_networkcontext.patch

@@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
  
  }  // namespace net
 diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index 20f435f8432e1fa08da32beeb7e7f098d9033185..d4bfcd6473eee96964347953ac6df4623b7e4af9 100644
+index d06fa083c0181d6eab50ffa8bebf8a2ecad82399..e59ece8b742041286b40a6231594619e0240e7a3 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
-@@ -1571,6 +1571,13 @@ void NetworkContext::SetNetworkConditions(
+@@ -1570,6 +1570,13 @@ void NetworkContext::SetNetworkConditions(
                                        std::move(network_conditions));
  }
  
@@ -51,7 +51,7 @@ index 20f435f8432e1fa08da32beeb7e7f098d9033185..d4bfcd6473eee96964347953ac6df462
    // This may only be called on NetworkContexts created with the constructor
    // that calls MakeURLRequestContext().
 diff --git a/services/network/network_context.h b/services/network/network_context.h
-index 17ecfd109db3e9dbcc27ec291f6c6021c9b6f0eb..80a75a25595718a2c4e655f75620d18b274b24cd 100644
+index d1a159bea0aa45e002e298ff2a1b3832cc6f4b3e..52b5881b5b473a50528f45552fcaa519bc452915 100644
 --- a/services/network/network_context.h
 +++ b/services/network/network_context.h
 @@ -316,6 +316,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -63,7 +63,7 @@ index 17ecfd109db3e9dbcc27ec291f6c6021c9b6f0eb..80a75a25595718a2c4e655f75620d18b
    void SetEnableReferrers(bool enable_referrers) override;
  #if BUILDFLAG(IS_CHROMEOS)
 diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index 64a840b13bc6c07112060f48d4f77507eb84994a..7482c19600f48bf7ae4a37ce55ffcbea922b8d42 100644
+index 36905befa9afdf1ef654df147381d14cadc2e5c7..1dae26184939c05be17a6e0e822ce2ba2f800633 100644
 --- a/services/network/public/mojom/network_context.mojom
 +++ b/services/network/public/mojom/network_context.mojom
 @@ -1233,6 +1233,9 @@ interface NetworkContext {
@@ -77,7 +77,7 @@ index 64a840b13bc6c07112060f48d4f77507eb84994a..7482c19600f48bf7ae4a37ce55ffcbea
    SetAcceptLanguage(string new_accept_language);
  
 diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
-index 9845739908daada58d620cacf95c2b0fbe80ccfb..40dba78ea2dc740c6f0edd7c896bf8bf16abc51e 100644
+index 398059776f229e06d9c589d66fc76bf9bc82bc78..ad0bfcd3b2bd1671a872b967abd503e024dbcb48 100644
 --- a/services/network/test/test_network_context.h
 +++ b/services/network/test/test_network_context.h
 @@ -144,6 +144,7 @@ class TestNetworkContext : public mojom::NetworkContext {

+ 2 - 2
patches/chromium/feat_add_data_parameter_to_processsingleton.patch

@@ -65,7 +65,7 @@ index 02d9eabfef9521722340739bf86df3dfc30018d7..af8639ebcc61d8081a12334f652a551d
  #if BUILDFLAG(IS_WIN)
    bool EscapeVirtualization(const base::FilePath& user_data_dir);
 diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
-index 2071c301644f95e6cd0448b08cc7b535343a55a0..ec6c6425f4d76557ddb37a80fd68c1086fc5103d 100644
+index 09108f231a54b117a143e71efa3f3663d64a63e6..b520e59cd5c0e3014497780d2ff8503f30557a4f 100644
 --- a/chrome/browser/process_singleton_posix.cc
 +++ b/chrome/browser/process_singleton_posix.cc
 @@ -613,6 +613,7 @@ class ProcessSingleton::LinuxWatcher
@@ -179,7 +179,7 @@ index 2071c301644f95e6cd0448b08cc7b535343a55a0..ec6c6425f4d76557ddb37a80fd68c108
    if (!WriteToSocket(socket.fd(), to_send.data(), to_send.length())) {
      // Try to kill the other process, because it might have been dead.
 diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
-index 3dff138357d9e1ae8d572df7630aa6ec429728a3..ae123a441bcf7939fad222d84e4bd6ec84bf6422 100644
+index 11f35769cc53b4aa111a319d155a3916f0040fa7..8e3e870eaac14ce6886878b027c7cf2eba19a759 100644
 --- a/chrome/browser/process_singleton_win.cc
 +++ b/chrome/browser/process_singleton_win.cc
 @@ -80,10 +80,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) {

+ 2 - 2
patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch

@@ -23,7 +23,7 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
 Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
 
 diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
-index 7bc2f882a1d0d9dfd4541d4da1975e0136cf275e..35f0332fb330aadea8d07a3378663d5e410c2053 100644
+index 7f3103908ba681d07eac8c23cc1c8228247e5229..5a911a730fb1f18563d778df0fe80cddc251289c 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
 @@ -801,6 +801,12 @@ GetOriginForURLLoaderFactoryUncheckedWithDebugInfo(
@@ -40,7 +40,7 @@ index 7bc2f882a1d0d9dfd4541d4da1975e0136cf275e..35f0332fb330aadea8d07a3378663d5e
    // origin of |common_params.url| and/or |common_params.initiator_origin|.
    return std::make_pair(
 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
-index 28d02464d8d8f2cfe0c8ad4fdb1e3ed4e983f089..39fb4bb6b8cddf50876eaea373189c43bedfc41f 100644
+index 1dbd64b33598013799a2aebeb5d3470fe073a7a5..fe8272e577aa4ba406c9634cd3756b8134c42098 100644
 --- a/third_party/blink/renderer/core/loader/document_loader.cc
 +++ b/third_party/blink/renderer/core/loader/document_loader.cc
 @@ -2022,6 +2022,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {

+ 1 - 1
patches/chromium/fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch

@@ -14,7 +14,7 @@ can potentially be upstreamed but it's likely that the better fix for this
 is to update our OSR code which is several years outdated.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 93fbebcf3307c20df75ed83e952b816a7d77da58..ad8bbbb0a2a94320938cb1e1d008a7422a79da7e 100644
+index 6c4762a4cbc91cccbc81feb146d585866841da78..f43f259d4e2657a9cc1bbfdbf8c15f391d48b8c6 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -3843,6 +3843,8 @@ void WebContentsImpl::Restore() {

+ 10 - 10
patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch

@@ -9,10 +9,10 @@ to support content settings UI. The support pulls in chrome content settings
 and UI code which are not valid in the scope of Electron.
 
 diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
-index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de542f3b7d 100644
+index bb5fbb185a7a958f7c118a9fe5e6f6893d386140..9e53e6078727f22a540240b6dc8d6ce7d653fe10 100644
 --- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
 +++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
-@@ -18,8 +18,10 @@
+@@ -19,8 +19,10 @@
  #include "ui/gfx/geometry/size.h"
  #if !BUILDFLAG(IS_ANDROID)
  #include "base/task/sequenced_task_runner.h"
@@ -23,7 +23,7 @@ index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de
  #include "third_party/blink/public/common/features.h"
  #include "ui/views/view.h"
  #endif  // !BUILDFLAG(IS_ANDROID)
-@@ -288,7 +290,7 @@ void PictureInPictureWindowManager::CloseWindowInternal() {
+@@ -316,7 +318,7 @@ void PictureInPictureWindowManager::CloseWindowInternal() {
    video_web_contents_observer_.reset();
    pip_window_controller_->Close(false /* should_pause_video */);
    pip_window_controller_ = nullptr;
@@ -32,7 +32,7 @@ index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de
    auto_pip_setting_helper_.reset();
  #endif  // !BUILDFLAG(IS_ANDROID)
  }
-@@ -299,8 +301,10 @@ void PictureInPictureWindowManager::DocumentWebContentsDestroyed() {
+@@ -327,8 +329,10 @@ void PictureInPictureWindowManager::DocumentWebContentsDestroyed() {
    // contents, so we only need to forget the controller here when user closes
    // the parent web contents with the PiP window open.
    document_web_contents_observer_.reset();
@@ -43,7 +43,7 @@ index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de
    if (pip_window_controller_)
      pip_window_controller_ = nullptr;
  }
-@@ -318,6 +322,7 @@ std::unique_ptr<views::View> PictureInPictureWindowManager::GetOverlayView() {
+@@ -346,6 +350,7 @@ std::unique_ptr<views::View> PictureInPictureWindowManager::GetOverlayView() {
      return nullptr;
    }
  
@@ -51,7 +51,7 @@ index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de
    auto* const web_contents = pip_window_controller_->GetWebContents();
  
    auto* auto_pip_tab_helper =
-@@ -339,6 +344,8 @@ std::unique_ptr<views::View> PictureInPictureWindowManager::GetOverlayView() {
+@@ -367,6 +372,8 @@ std::unique_ptr<views::View> PictureInPictureWindowManager::GetOverlayView() {
    }
  
    return overlay_view;
@@ -61,10 +61,10 @@ index 0a58771f77f9fab4bd660191a1b2c612f7951858..a25feb97dfa1f7f5c0378cdac256a8de
  #endif  // !BUILDFLAG(IS_ANDROID)
  
 diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.h b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.h
-index 560f2901ef6860811c783c1eed9277223072aabf..f5a5e3d883e0186961bd5560b4429e19abf0df49 100644
+index 68bffecaf8a95dff2f028d003715462e11aa59f0..17635657786890e31510e53a8884a35072346d4d 100644
 --- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.h
 +++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.h
-@@ -9,6 +9,7 @@
+@@ -11,6 +11,7 @@
  #include "base/memory/singleton.h"
  #include "base/observer_list.h"
  #include "base/observer_list_types.h"
@@ -72,7 +72,7 @@ index 560f2901ef6860811c783c1eed9277223072aabf..f5a5e3d883e0186961bd5560b4429e19
  #include "build/build_config.h"
  #include "third_party/abseil-cpp/absl/types/optional.h"
  #include "third_party/blink/public/mojom/picture_in_picture_window_options/picture_in_picture_window_options.mojom.h"
-@@ -25,7 +26,9 @@ class Display;
+@@ -28,7 +29,9 @@ class Display;
  }  // namespace display
  
  #if !BUILDFLAG(IS_ANDROID)
@@ -82,7 +82,7 @@ index 560f2901ef6860811c783c1eed9277223072aabf..f5a5e3d883e0186961bd5560b4429e19
  
  namespace views {
  class View;
-@@ -193,7 +196,9 @@ class PictureInPictureWindowManager {
+@@ -209,7 +212,9 @@ class PictureInPictureWindowManager {
  #if !BUILDFLAG(IS_ANDROID)
    std::unique_ptr<DocumentWebContentsObserver> document_web_contents_observer_;
  

+ 1 - 1
patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch

@@ -45,7 +45,7 @@ index 648896b13ad4f811fdd196bd2fe5bdf62e7154ab..e2e3b414e73052b2b5b8e443ded18ae3
    // RenderFrameMetadataProvider::Observer implementation.
    void OnRenderFrameMetadataChangedBeforeActivation(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 6dc2cd4b494eb3730139b8351212c3c0cde39861..93fbebcf3307c20df75ed83e952b816a7d77da58 100644
+index 4a61bb371e527c8405bcf463cc13eec394b80652..6c4762a4cbc91cccbc81feb146d585866841da78 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -8348,7 +8348,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(

+ 2 - 2
patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch

@@ -64,7 +64,7 @@ index 4cd668a127a50e5462e3878c3f1dcb7384926768..dfbec49249404df8f8ebdbd26e6e865c
  
  #endif  // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index e993fa7c61d95a297e7655fc28311327e293aa56..7c403e99056dbb8a12f974ee79db248f1d0cbc9f 100644
+index 38587f2855c7482b33936308dd18d8f362331d55..464611c3d15b1cf00f02fa0b8da81919e2c142a2 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -2816,6 +2816,7 @@ void LocalFrame::RequestExecuteScript(
@@ -97,7 +97,7 @@ index eb4ce179cb09e28b97ad167b5b6d0e1c25e53c5f..a9cde93321e1afd18e3f742777b31112
                              mojom::blink::WantResultOption,
                              mojom::blink::PromiseResultOption);
 diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
-index e48bb217c567397d0f5776e697922a797ae58dfd..05a9bc228ecf7bc998e188341a42236b0e5e22e7 100644
+index 600ace2ad1f0d65281197ef5545d0703df1f5b8c..dd59c919cef3740d50fedbde4d12ecc74a258e34 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
 @@ -937,6 +937,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(

+ 2 - 2
patches/chromium/frame_host_manager.patch

@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
 Allows embedder to intercept site instances created by chromium.
 
 diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
-index 8a032777f5c878579d9848426d1ceec981c479ad..b90a95426bc3a3e03934304e04e703623836bf27 100644
+index 590fadafa20e3e51beb6bed4ed95960f0f52c777..1574a1fc4e7c0221a20d94024451925407039b81 100644
 --- a/content/browser/renderer_host/render_frame_host_manager.cc
 +++ b/content/browser/renderer_host/render_frame_host_manager.cc
-@@ -4165,6 +4165,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -4224,6 +4224,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      request->ResetStateForSiteInstanceChange();
    }
  

+ 3 - 3
patches/chromium/gin_enable_disable_v8_platform.patch

@@ -38,10 +38,10 @@ index c19eb72e8d37fe8145b813d07875addf793e12dc..a5db8841773618814ac90f740201d4d7
    // Returns whether `Initialize` has already been invoked in the process.
    // Initialization is a one-way operation (i.e., this method cannot return
 diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
-index 3cdcb02e89c5ea6a6cfdf79e81c23d3d5b10b195..ff5d9e16b3b33c6f2895691356b90c8210e927d9 100644
+index 87adacdf36f17b49eba5db104f4e365d517f787c..67b6b7ab4194d831a38429789dba269ddec7cbc9 100644
 --- a/gin/v8_initializer.cc
 +++ b/gin/v8_initializer.cc
-@@ -428,7 +428,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
+@@ -430,7 +430,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
  // static
  void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
                                 const std::string js_command_line_flags,
@@ -51,7 +51,7 @@ index 3cdcb02e89c5ea6a6cfdf79e81c23d3d5b10b195..ff5d9e16b3b33c6f2895691356b90c82
    static bool v8_is_initialized = false;
    if (v8_is_initialized)
      return;
-@@ -438,7 +439,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
+@@ -440,7 +441,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
    // See https://crbug.com/v8/11043
    SetFlags(mode, js_command_line_flags);
  

+ 2 - 2
patches/chromium/gritsettings_resource_ids.patch

@@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
 Add electron resources file to the list of resource ids generation.
 
 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
-index c1f20bb050a6a54777f3414f8b14ec6045464f67..d624110835b44e4f9d2418b2fe41e65fb91ec0d0 100644
+index fcf451f104fd1a96c2dd2ce2789c002840ebdf40..c7ddf92f13b2b69f33d015c117a6e339db3d5c64 100644
 --- a/tools/gritsettings/resource_ids.spec
 +++ b/tools/gritsettings/resource_ids.spec
-@@ -1209,6 +1209,11 @@
+@@ -1217,6 +1217,11 @@
      "includes": [7440],
    },
  

+ 10 - 3
patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch

@@ -9,21 +9,28 @@ be created for each child process, despite logs being redirected to a
 file.
 
 diff --git a/content/app/content_main.cc b/content/app/content_main.cc
-index a3c00c974311753f1d308afef39ccda4fd8bf2ee..0ced0ad97f91e9217b1f5c8126bfb5746165afa6 100644
+index f70a103a45c6d6610864147ce746c0e085d0ddb4..fda4438dac09ddbe805621214eac021a593e87ea 100644
 --- a/content/app/content_main.cc
 +++ b/content/app/content_main.cc
-@@ -306,8 +306,12 @@ RunContentProcess(ContentMainParams params,
+@@ -309,14 +309,13 @@ RunContentProcess(ContentMainParams params,
  
  #if BUILDFLAG(IS_WIN)
      // Route stdio to parent console (if any) or create one.
 -    if (base::CommandLine::ForCurrentProcess()->HasSwitch(
 -            switches::kEnableLogging)) {
+-      base::RouteStdioToConsole(/*create_console_if_not_found*/ true);
+-    } else if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+-                   switches::kHeadless)) {
+-      // When running in headless mode we want stdio routed however if
+-      // console does not exist we should not create one.
+-      base::RouteStdioToConsole(/*create_console_if_not_found*/ false);
 +    auto const* cmd_line = base::CommandLine::ForCurrentProcess();
 +    bool const log_to_stderr =
 +        cmd_line->HasSwitch(switches::kEnableLogging) &&
 +        cmd_line->GetSwitchValueASCII(switches::kEnableLogging) != "file" &&
 +        !cmd_line->HasSwitch(switches::kLogFile);
 +    if (log_to_stderr) {
-       base::RouteStdioToConsole(true);
++      base::RouteStdioToConsole(true);
      }
  #endif
+ 

+ 7 - 7
patches/chromium/mas_disable_remote_accessibility.patch

@@ -43,7 +43,7 @@ index 5a096477c123a782341115f964c4975301ccaf9a..ecfbb3b405425af346a6ba6788fc1d8f
  
  }  // namespace
 diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
-index baab7fa7d6f419caf0ba9e65f4fa7536fa90539d..5359641d1d0d8946da78a9dafca14a3764bc781d 100644
+index 260eb6c3aadc48ec5cb9a2586f6a1e38b2ab8090..d906065d0791519183b03f15974239ac9fab8379 100644
 --- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
 +++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
 @@ -605,10 +605,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
@@ -238,7 +238,7 @@ index 835cce73b7ab8b38c37d3e2650e12303d9d918e3..4460a00497dfaee0ba90cd5d14888055
 +
  #endif  // UI_BASE_COCOA_REMOTE_ACCESSIBILITY_API_H_
 diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h
-index 2daaf2b78b7a60d340c2ff1651f8b5450db4af0f..3080adea0402f9d57cbde5d4350605d463ee5c8e 100644
+index 8e3fa15f4e4463d59d8fffb3cc0bc8add0f5831e..e7bb7c68e0450664fb14417a233f4adbcba87c33 100644
 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h
 +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h
 @@ -30,7 +30,9 @@
@@ -251,7 +251,7 @@ index 2daaf2b78b7a60d340c2ff1651f8b5450db4af0f..3080adea0402f9d57cbde5d4350605d4
  @class NSView;
  
  namespace remote_cocoa {
-@@ -454,10 +456,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
+@@ -462,10 +464,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
    mojo::AssociatedRemote<remote_cocoa::mojom::NativeWidgetNSWindow>
        remote_ns_window_remote_;
  
@@ -265,10 +265,10 @@ index 2daaf2b78b7a60d340c2ff1651f8b5450db4af0f..3080adea0402f9d57cbde5d4350605d4
    // Used to force the NSApplication's focused accessibility element to be the
    // views::Views accessibility tree when the NSView for this is focused.
 diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
-index 53bdb4d62294f128b8f4b7bdcddf1052e15f331f..d052f5bb619bf4092810c6d5dd489a38a60026b0 100644
+index a73a3d2205090124a1ac263a4ad355c2c72604ee..4b48c585e081372d754596dd2b89ee8fb0a8fb01 100644
 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
 +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
-@@ -339,7 +339,11 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -343,7 +343,11 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
  NativeWidgetMacNSWindowHost::GetNativeViewAccessibleForNSView() const {
    if (in_process_ns_window_bridge_)
      return in_process_ns_window_bridge_->ns_view();
@@ -280,7 +280,7 @@ index 53bdb4d62294f128b8f4b7bdcddf1052e15f331f..d052f5bb619bf4092810c6d5dd489a38
  }
  
  gfx::NativeViewAccessible
-@@ -354,7 +358,11 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -358,7 +362,11 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
      return [in_process_ns_window_bridge_->ns_view() window];
    }
  
@@ -292,7 +292,7 @@ index 53bdb4d62294f128b8f4b7bdcddf1052e15f331f..d052f5bb619bf4092810c6d5dd489a38
  }
  
  remote_cocoa::mojom::NativeWidgetNSWindow*
-@@ -1353,20 +1361,24 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -1373,20 +1381,24 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
  void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens(
      const std::vector<uint8_t>& window_token,
      const std::vector<uint8_t>& view_token) {

+ 7 - 9
patches/chromium/mas_disable_remote_layer.patch

@@ -41,10 +41,10 @@ index 655dca3b5628eae2d13bce22e24a517113701480..30b97c47b6804d5677f87a59d7d5c602
  
    gfx::Size pixel_size_;
 diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
-index 40212e81a3c0303a9166426dd7349a95ffec39c4..b323a1f81f0e813b84ef98db9334d0c1992fbaa6 100644
+index 34931ae06d7923aff611b384730ca2edb7e866e9..1973b90a04bcbd21059b82a0969d3ff1ce8dcd0a 100644
 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm
 +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
-@@ -54,7 +54,9 @@
+@@ -54,12 +54,15 @@
  ImageTransportSurfaceOverlayMacEGL::ImageTransportSurfaceOverlayMacEGL(
      base::WeakPtr<ImageTransportSurfaceDelegate> delegate)
      : delegate_(delegate),
@@ -54,26 +54,24 @@ index 40212e81a3c0303a9166426dd7349a95ffec39c4..b323a1f81f0e813b84ef98db9334d0c1
        scale_factor_(1),
        weak_ptr_factory_(this) {
    static bool av_disabled_at_command_line =
-@@ -66,6 +68,7 @@
-            ->workarounds()
-            .disable_av_sample_buffer_display_layer;
+       !base::FeatureList::IsEnabled(kAVFoundationOverlays);
  
 +#if !IS_MAS_BUILD()
    ca_layer_tree_coordinator_ = std::make_unique<ui::CALayerTreeCoordinator>(
-       use_remote_layer_api_, allow_av_sample_buffer_display_layer);
+       use_remote_layer_api_, !av_disabled_at_command_line);
  
-@@ -86,6 +89,10 @@
+@@ -80,6 +83,10 @@
  #endif
      ca_context_.layer = ca_layer_tree_coordinator_->GetCALayerForDisplay();
    }
 +#else
 +  ca_layer_tree_coordinator_ = std::make_unique<ui::CALayerTreeCoordinator>(
-+      /*allow_remote_layers=*/false, allow_av_sample_buffer_display_layer);
++      /*allow_remote_layers=*/false, !av_disabled_at_command_line);
 +#endif
  }
  
  ImageTransportSurfaceOverlayMacEGL::~ImageTransportSurfaceOverlayMacEGL() {
-@@ -203,9 +210,13 @@
+@@ -197,9 +204,13 @@
      TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers", TRACE_EVENT_SCOPE_THREAD,
                           "GLImpl", static_cast<int>(gl::GetGLImplementation()),
                           "width", pixel_size_.width());

+ 8 - 8
patches/chromium/network_service_allow_remote_certificate_verification_logic.patch

@@ -7,10 +7,10 @@ This adds a callback from the network service that's used to implement
 session.setCertificateVerifyCallback.
 
 diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098d9033185 100644
+index 9726c189bf110368593f879ac4fa93ecbdf8c8c7..d06fa083c0181d6eab50ffa8bebf8a2ecad82399 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
-@@ -147,6 +147,11 @@
+@@ -146,6 +146,11 @@
  #include "third_party/abseil-cpp/absl/types/optional.h"
  #include "url/gurl.h"
  
@@ -22,7 +22,7 @@ index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098
  #if BUILDFLAG(IS_CT_SUPPORTED)
  #include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
  #include "components/certificate_transparency/chrome_require_ct_delegate.h"
-@@ -439,6 +444,99 @@ bool GetFullDataFilePath(
+@@ -438,6 +443,99 @@ bool GetFullDataFilePath(
  
  }  // namespace
  
@@ -122,7 +122,7 @@ index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098
  constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
  
  NetworkContext::NetworkContextHttpAuthPreferences::
-@@ -836,6 +934,13 @@ void NetworkContext::SetClient(
+@@ -835,6 +933,13 @@ void NetworkContext::SetClient(
    client_.Bind(std::move(client));
  }
  
@@ -136,7 +136,7 @@ index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098
  void NetworkContext::CreateURLLoaderFactory(
      mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
      mojom::URLLoaderFactoryParamsPtr params) {
-@@ -2395,6 +2500,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
+@@ -2460,6 +2565,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
          std::move(cert_verifier));
      cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get());
  #endif  // BUILDFLAG(IS_CHROMEOS)
@@ -147,7 +147,7 @@ index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098
  
    builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
 diff --git a/services/network/network_context.h b/services/network/network_context.h
-index a1ac41b0850de88c3334d7b7aa3bfc470365b873..17ecfd109db3e9dbcc27ec291f6c6021c9b6f0eb 100644
+index dabaa618a3b427fa4a0f3f9d3963c471dbea124f..d1a159bea0aa45e002e298ff2a1b3832cc6f4b3e 100644
 --- a/services/network/network_context.h
 +++ b/services/network/network_context.h
 @@ -114,6 +114,7 @@ class URLMatcher;
@@ -167,7 +167,7 @@ index a1ac41b0850de88c3334d7b7aa3bfc470365b873..17ecfd109db3e9dbcc27ec291f6c6021
    void ResetURLLoaderFactories() override;
    void GetViaObliviousHttp(
        mojom::ObliviousHttpRequestPtr request,
-@@ -896,6 +899,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -897,6 +900,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
    std::vector<base::OnceClosure> dismount_closures_;
  #endif  // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
  
@@ -177,7 +177,7 @@ index a1ac41b0850de88c3334d7b7aa3bfc470365b873..17ecfd109db3e9dbcc27ec291f6c6021
    std::unique_ptr<HostResolver> internal_host_resolver_;
    // Map values set to non-null only if that HostResolver has its own private
 diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index 6164ab364a4044b9ca63d78dd5cc8c94ede7894c..64a840b13bc6c07112060f48d4f77507eb84994a 100644
+index db64a42b6570c6c575cec2e67a73ca4b54b486b0..36905befa9afdf1ef654df147381d14cadc2e5c7 100644
 --- a/services/network/public/mojom/network_context.mojom
 +++ b/services/network/public/mojom/network_context.mojom
 @@ -317,6 +317,17 @@ struct NetworkContextFilePaths {

+ 32 - 54
patches/chromium/printing.patch

@@ -706,7 +706,7 @@ index 3f9a514fb41d72c5d06de6ac989f9d7c0513a4e7..0e7ada9df962808dad7caf074a08ebde
    // Tells the browser printing failed.
    PrintingFailed(int32 cookie, PrintFailureReason reason);
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a6700c81d 100644
+index d1c93d9b0ea6bd6ae6fb700a5b31b7462d8cf8cd..e4dea961cf7aed1b4cbdd0ff2b4ad2712c509660 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
 @@ -45,6 +45,7 @@
@@ -717,7 +717,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
  #include "printing/units.h"
  #include "services/metrics/public/cpp/ukm_source_id.h"
  #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
-@@ -1279,14 +1280,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
+@@ -1207,14 +1208,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
    }
  
    print_in_progress_ = true;
@@ -734,7 +734,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    if (!weak_this) {
      return;
    }
-@@ -1317,7 +1318,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
+@@ -1245,7 +1246,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
    receivers_.Add(this, std::move(receiver));
  }
  
@@ -743,7 +743,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
    if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
      return;
-@@ -1332,7 +1333,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
+@@ -1260,7 +1261,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
    // plugin node and print that instead.
    auto plugin = delegate_->GetPdfElement(frame);
  
@@ -752,7 +752,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
  
    if (render_frame_gone_) {
      return;
-@@ -1419,7 +1420,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
+@@ -1349,7 +1350,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
    }
  
    Print(frame, print_preview_context_.source_node(),
@@ -762,7 +762,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    if (render_frame_gone_) {
      return;
    }
-@@ -1482,6 +1484,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
+@@ -1412,6 +1414,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
    if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
      return;
  
@@ -771,7 +771,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    print_preview_context_.OnPrintPreview();
  
  #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -2107,7 +2111,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -2036,7 +2040,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
    }
  
    Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@@ -781,7 +781,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    // Check if `this` is still valid.
    if (!weak_this) {
      return;
-@@ -2123,7 +2128,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -2052,17 +2057,19 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
  void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
                                     const blink::WebNode& node,
@@ -792,16 +792,19 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    // If still not finished with earlier print request simply ignore.
    if (prep_frame_view_)
      return;
-@@ -2131,7 +2138,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+ 
    FrameReference frame_ref(frame);
  
-   uint32_t expected_page_count = 0;
--  if (!CalculateNumberOfPages(frame, node, &expected_page_count)) {
-+  if (!CalculateNumberOfPages(frame, node, &expected_page_count, std::move(settings))) {
+-  if (!InitPrintSettings(frame, node)) {
++  if (!InitPrintSettings(frame, node, std::move(settings))) {
+     // Browser triggered this code path. It already knows about the failure.
+     notify_browser_of_print_failure_ = false;
+-
++    GetPrintManagerHost()->ShowInvalidPrinterSettingsError();
      DidFinishPrinting(PrintingResult::kFailPrintInit);
-     return;  // Failed to init print page settings.
+     return;
    }
-@@ -2150,8 +2157,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -2083,8 +2090,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
          print_pages_params_->params->print_scaling_option;
  
      auto self = weak_ptr_factory_.GetWeakPtr();
@@ -818,14 +821,13 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
      // Check if `this` is still valid.
      if (!self)
        return;
-@@ -2391,35 +2405,47 @@ void PrintRenderFrameHelper::IPCProcessed() {
-   }
+@@ -2323,25 +2337,33 @@ void PrintRenderFrameHelper::IPCProcessed() {
  }
  
--bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
-+bool PrintRenderFrameHelper::InitPrintSettings(
-+    bool fit_to_paper_size,
-+    base::Value::Dict new_settings) {
+ bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame,
+-                                               const blink::WebNode& node) {
++                                               const blink::WebNode& node,
++                                               base::Value::Dict new_settings) {
    // Reset to default values.
    ignore_css_margins_ = false;
  
@@ -849,6 +851,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
      return false;
    }
  
+   bool fit_to_paper_size = !IsPrintingPdfFrame(frame, node);
 -  settings.params->print_scaling_option =
 +  settings->params->print_scaling_option =
        fit_to_paper_size ? mojom::PrintScalingOption::kFitToPrintableArea
@@ -858,25 +861,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
    return true;
  }
  
--bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
--                                                    const blink::WebNode& node,
--                                                    uint32_t* number_of_pages) {
-+bool PrintRenderFrameHelper::CalculateNumberOfPages(
-+    blink::WebLocalFrame* frame,
-+    const blink::WebNode& node,
-+    uint32_t* number_of_pages,
-+    base::Value::Dict settings) {
-   DCHECK(frame);
-   bool fit_to_paper_size = !IsPrintingPdfFrame(frame, node);
--  if (!InitPrintSettings(fit_to_paper_size)) {
-+  if (!InitPrintSettings(fit_to_paper_size, std::move(settings))) {
-     // Browser triggered this code path. It already knows about the failure.
-     notify_browser_of_print_failure_ = false;
-+    GetPrintManagerHost()->ShowInvalidPrinterSettingsError();
-     return false;
-   }
- 
-@@ -2524,7 +2550,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser(
+@@ -2448,7 +2470,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser(
        std::move(params),
        base::BindOnce(
            [](base::OnceClosure quit_closure, mojom::PrintPagesParamsPtr* output,
@@ -886,7 +871,7 @@ index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a
              std::move(quit_closure).Run();
            },
 diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
-index 5cbb2940f83af329ea38efca5bf3216056269654..8cf783d37589fdca88592eeb9b8cc91b6ae60203 100644
+index 45b63865e34e6d8225e11e9b74d864f40dce5f4a..d175ab1e3aa7612467a4eb06464e1d2bfd02b243 100644
 --- a/components/printing/renderer/print_render_frame_helper.h
 +++ b/components/printing/renderer/print_render_frame_helper.h
 @@ -247,7 +247,7 @@ class PrintRenderFrameHelper
@@ -909,28 +894,21 @@ index 5cbb2940f83af329ea38efca5bf3216056269654..8cf783d37589fdca88592eeb9b8cc91b
  
    // Notification when printing is done - signal tear-down/free resources.
    void DidFinishPrinting(PrintingResult result);
-@@ -326,12 +328,14 @@ class PrintRenderFrameHelper
- 
+@@ -327,7 +329,8 @@ class PrintRenderFrameHelper
    // Initialize print page settings with default settings.
    // Used only for native printing workflow.
--  bool InitPrintSettings(bool fit_to_paper_size);
-+  bool InitPrintSettings(bool fit_to_paper_size,
+   bool InitPrintSettings(blink::WebLocalFrame* frame,
+-                         const blink::WebNode& node);
++                         const blink::WebNode& node,
 +                         base::Value::Dict new_settings);
  
    // Calculate number of pages in source document.
-   bool CalculateNumberOfPages(blink::WebLocalFrame* frame,
-                               const blink::WebNode& node,
--                              uint32_t* number_of_pages);
-+                              uint32_t* number_of_pages,
-+                              base::Value::Dict settings);
- 
- #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
-   // Set options for print preset from source PDF document.
+   uint32_t CalculateNumberOfPages(blink::WebLocalFrame* frame,
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 2fbed295328843a2b863dde051d9f0f2946825d0..36d770e54579cd83b19fb145c031aa8e89ad60f6 100644
+index 1e070ba3ae0277a82b431aa658709927e52234fc..6d2732b059e238425de0414f9268ca9288367a02 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -2965,8 +2965,9 @@ source_set("browser") {
+@@ -2969,8 +2969,9 @@ source_set("browser") {
        "//ppapi/shared_impl",
      ]
  

+ 2 - 2
patches/chromium/process_singleton.patch

@@ -51,7 +51,7 @@ index b05c0157ecca222452fb38e3b28c9d7cc6bcfbfd..02d9eabfef9521722340739bf86df3df
    base::win::MessageWindow window_;  // The message-only window.
    bool is_virtualized_;  // Stuck inside Microsoft Softricity VM environment.
 diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
-index 356c30cc4bf0d672f62ccf15de829b3c7c42f476..2071c301644f95e6cd0448b08cc7b535343a55a0 100644
+index f4692fd100b157d571cff4bcd2ca30f33d132af3..09108f231a54b117a143e71efa3f3663d64a63e6 100644
 --- a/chrome/browser/process_singleton_posix.cc
 +++ b/chrome/browser/process_singleton_posix.cc
 @@ -54,6 +54,7 @@
@@ -172,7 +172,7 @@ index 356c30cc4bf0d672f62ccf15de829b3c7c42f476..2071c301644f95e6cd0448b08cc7b535
    int dir_mode = 0;
    CHECK(base::GetPosixFilePermissions(socket_dir_.GetPath(), &dir_mode) &&
 diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
-index 844b1814ba832b82e6f57236a9a5f5380c6a65cc..3dff138357d9e1ae8d572df7630aa6ec429728a3 100644
+index 071f3c05b8f899857531f2f08c05c7f2551eb4d0..11f35769cc53b4aa111a319d155a3916f0040fa7 100644
 --- a/chrome/browser/process_singleton_win.cc
 +++ b/chrome/browser/process_singleton_win.cc
 @@ -28,7 +28,9 @@

+ 2 - 2
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -44,7 +44,7 @@ index c47aa95113e7ac4a9a6b601271dce7fc31d5e4d3..5a39eb812bbbfdec0be2e69a0114b81e
  
  void RenderWidgetHostImpl::ShowContextMenuAtPoint(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 35a7cb88aadd3cf709ae6ab94e26268a518a6c4f..e69ce675019c9dc734de1820c8f3774dc769fea4 100644
+index 4f8187e10c6b328abd1d0a855f250e14ac880aac..7b34c3ecc778ee08f262b9b232c1dbd5c10d2475 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -4928,6 +4928,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@@ -60,7 +60,7 @@ index 35a7cb88aadd3cf709ae6ab94e26268a518a6c4f..e69ce675019c9dc734de1820c8f3774d
      RenderWidgetHostImpl* render_widget_host) {
    return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
 diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index d1d78d8dc520e4c224fc5526e0b83d4622195d56..f40876402a5d44c5596659f47d293d4a925dc2c9 100644
+index 6c6fa503c2462935d036f21808d726ec214f4afa..ce8f81beda7f474ec07a4525cfefeb71aca28be7 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
 @@ -1003,6 +1003,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,

+ 1 - 1
patches/chromium/resource_file_conflict.patch

@@ -52,7 +52,7 @@ Some alternatives to this patch:
 None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
 
 diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index bc54ace77cade8c2e2439af6d0c18984cfdaf5c6..41ce32113ec2679b76d5a4fd69a7109c832ac7a1 100644
+index 429827478a9c8a3031fcfe97fc75c5975727d49c..200379c8f6c933f3877fc4c6b983ca64214b8d9e 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
 @@ -1612,7 +1612,7 @@ if (is_chrome_branded && !is_android) {

+ 0 - 407
patches/chromium/revert_ios_delete_gn_flags_for_mach_absolute_time_ticks.patch

@@ -1,407 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "[email protected]"
- <[email protected]>
-Date: Tue, 12 Sep 2023 19:09:21 +0000
-Subject: Revert "[iOS] Delete GN flags for mach absolute time ticks"
-
-This reverts commit 734471fe6b86de7e1017e20c5f2fb1c5897ed50f.
-
-Reason for revert:
-LUCI Bisection identified this CL as the culprit of a build failure. See the analysis: https://luci-bisection.appspot.com/analysis/b/8770136478150458481
-
-Sample failed build: https://ci.chromium.org/b/8770136478150458481
-
-If this is a false positive, please report it at https://bugs.chromium.org/p/chromium/issues/entry?comment=Analysis%3A+https%3A%2F%2Fluci-bisection.appspot.com%2Fanalysis%2Fb%2F8770136478150458481&components=Tools%3ETest%3EFindit&labels=LUCI-Bisection-Wrong%2CPri-3%2CType-Bug&status=Available&summary=Wrongly+blamed+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F4850577
-
-Original change's description:
-> [iOS] Delete GN flags for mach absolute time ticks
->
-> Mach absolute time ticks have been enabled by default for a month
-> with no known issues, so this CL cleans up the corresponding GN
-> flags.
->
-> Bug: 1414153
-> Change-Id: I981f7e823295a5f8c9a9d186e356243e7f76eef1
-> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4850577
-> Commit-Queue: Ali Juma <[email protected]>
-> Reviewed-by: Ian Vollick <[email protected]>
-> Reviewed-by: Mark Mentovai <[email protected]>
-> Cr-Commit-Position: refs/heads/main@{#1195534}
->
-
-Bug: 1414153
-Change-Id: I9bd6656f514dc19a9c647f9ff845420762c462f4
-No-Presubmit: true
-No-Tree-Checks: true
-No-Try: true
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4858437
-Commit-Queue: [email protected] <[email protected]>
-Bot-Commit: [email protected] <[email protected]>
-Owners-Override: [email protected] <[email protected]>
-Cr-Commit-Position: refs/heads/main@{#1195555}
-
-diff --git a/base/BUILD.gn b/base/BUILD.gn
-index 5bdeed26cc4f52d8d6ba3d30dcf013169e490008..ff06f5ed195b784c414831faf18072bf4cb28f67 100644
---- a/base/BUILD.gn
-+++ b/base/BUILD.gn
-@@ -48,6 +48,11 @@ if (is_mac) {
-   import("//third_party/protobuf/proto_library.gni")
- }
- 
-+if (is_apple) {
-+  # Buildflags to control time behavior on iOS in file shared with mac.
-+  import("//base/time/buildflags/buildflags.gni")
-+}
-+
- if (is_win) {
-   import("//build/config/win/control_flow_guard.gni")
- }
-@@ -88,6 +93,14 @@ assert(!is_nacl || is_nacl_saigo,
- assert(!is_win || is_clang,
-        "only clang-cl is supported on Windows, see https://crbug.com/988071")
- 
-+if (is_apple) {
-+  assert(!use_blink || enable_mach_absolute_time_ticks,
-+         "use_blink requires mach absolute time ticks")
-+
-+  assert(!is_mac || enable_mach_absolute_time_ticks,
-+         "mac requires mach absolute time ticks")
-+}
-+
- # Determines whether libevent should be dep.
- dep_libevent = !is_fuchsia && !is_win && !is_mac && !is_nacl
- 
-@@ -1054,6 +1067,10 @@ component("base") {
-   # to provide the appropriate `#define` here.
-   defines += [ "IS_RAW_PTR_IMPL" ]
- 
-+  if (is_apple) {
-+    deps += [ "//base/time/buildflags:buildflags" ]
-+  }
-+
-   if (build_rust_json_reader) {
-     deps += [ "//third_party/rust/serde_json_lenient/v0_1/wrapper" ]
-   }
-@@ -3724,7 +3741,7 @@ test("base_unittests") {
-     ]
-   }
- 
--  if (is_apple) {
-+  if (is_apple && enable_mach_absolute_time_ticks) {
-     sources += [ "time/time_apple_unittest.mm" ]
-   }
- 
-diff --git a/base/allocator/partition_allocator/BUILD.gn b/base/allocator/partition_allocator/BUILD.gn
-index 2c279c3bf348821307aac53f365e9590c2b4bd6e..1818a87c6a8793555cf39b42c71248f4a0131e97 100644
---- a/base/allocator/partition_allocator/BUILD.gn
-+++ b/base/allocator/partition_allocator/BUILD.gn
-@@ -730,6 +730,13 @@ buildflag_header("partition_alloc_buildflags") {
-     "ENABLE_PKEYS=$enable_pkeys",
-     "ENABLE_THREAD_ISOLATION=$enable_pkeys",
-   ]
-+
-+  if (is_apple) {
-+    # TODO(crbug.com/1414153): once TimeTicks::Now behavior is unified on iOS,
-+    # this should be removed.
-+    flags += [ "PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS=" +
-+               "$partition_alloc_enable_mach_absolute_time_ticks" ]
-+  }
- }
- 
- buildflag_header("chromecast_buildflags") {
-diff --git a/base/allocator/partition_allocator/partition_alloc.gni b/base/allocator/partition_allocator/partition_alloc.gni
-index 485883ba8ffd006ab53b4227fc3b3d3181d5d048..970d6d6682f122a5508ce7f35cb65b96694b00e1 100644
---- a/base/allocator/partition_allocator/partition_alloc.gni
-+++ b/base/allocator/partition_allocator/partition_alloc.gni
-@@ -204,6 +204,12 @@ declare_args() {
-   # Shadow metadata is still under development and only supports Linux
-   # for now.
-   enable_shadow_metadata = false
-+
-+  if (is_apple) {
-+    # TODO(crbug.com/1414153): this should be removed once the use of mach
-+    # absolute time ticks is successfully launched on iOS.
-+    partition_alloc_enable_mach_absolute_time_ticks = true
-+  }
- }
- 
- # *Scan is currently only used by Chromium, and supports only 64-bit.
-@@ -306,6 +312,14 @@ assert(!use_asan_backup_ref_ptr || is_asan,
- assert(!use_asan_unowned_ptr || is_asan,
-        "AsanUnownedPtr requires AddressSanitizer")
- 
-+if (is_apple) {
-+  assert(!use_blink || partition_alloc_enable_mach_absolute_time_ticks,
-+         "use_blink requires partition_alloc_enable_mach_absolute_time_ticks")
-+
-+  assert(!is_mac || partition_alloc_enable_mach_absolute_time_ticks,
-+         "mac requires partition_alloc_enable_mach_absolute_time_ticks")
-+}
-+
- # AsanBackupRefPtr is not supported outside Chromium. The implementation is
- # entangled with `//base`. The code is only physically located with the rest of
- # `raw_ptr` to keep it together.
-diff --git a/base/allocator/partition_allocator/partition_alloc_base/time/time.h b/base/allocator/partition_allocator/partition_alloc_base/time/time.h
-index 1d8ee28e9110e21909c8d814efbeff5eb2c7b96d..2f4b7996b1c81a6494763b8671d59389c1852d8f 100644
---- a/base/allocator/partition_allocator/partition_alloc_base/time/time.h
-+++ b/base/allocator/partition_allocator/partition_alloc_base/time/time.h
-@@ -140,7 +140,9 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) TimeDelta {
-   static TimeDelta FromZxDuration(zx_duration_t nanos);
- #endif
- #if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-   static TimeDelta FromMachTime(uint64_t mach_time);
-+#endif  // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- #endif  // BUILDFLAG(IS_APPLE)
- 
-   // Converts an integer value representing TimeDelta to a class. This is used
-@@ -849,12 +851,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) TimeTicks
- #endif
- 
- #if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-   static TimeTicks FromMachAbsoluteTime(uint64_t mach_absolute_time);
- 
-   // Sets the current Mach timebase to `timebase`. Returns the old timebase.
-   static mach_timebase_info_data_t SetMachTimebaseInfoForTesting(
-       mach_timebase_info_data_t timebase);
- 
-+#endif  // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- #endif  // BUILDFLAG(IS_APPLE)
- 
- #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(PA_IS_CHROMEOS_ASH)
-diff --git a/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm b/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
-index f1288b59cc0fc26bf2419dcffa044ba12b2ad568..c4354ccc626af9831b8346221d479660ad890849 100644
---- a/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
-+++ b/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
-@@ -28,6 +28,7 @@
- 
- namespace {
- 
-+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // Returns a pointer to the initialized Mach timebase info struct.
- mach_timebase_info_data_t* MachTimebaseInfo() {
-   static mach_timebase_info_data_t timebase_info = []() {
-@@ -80,14 +81,29 @@ int64_t MachTimeToMicroseconds(uint64_t mach_time) {
-   // 9223372036854775807 / (1e6 * 60 * 60 * 24 * 365.2425) = 292,277).
-   return checked_cast<int64_t>(microseconds);
- }
-+#endif  // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- 
- // Returns monotonically growing number of ticks in microseconds since some
- // unspecified starting point.
- int64_t ComputeCurrentTicks() {
-+#if !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+  struct timespec tp;
-+  // clock_gettime() returns 0 on success and -1 on failure. Failure can only
-+  // happen because of bad arguments (unsupported clock type or timespec
-+  // pointer out of accessible address space). Here it is known that neither
-+  // can happen since the timespec parameter is stack allocated right above and
-+  // `CLOCK_MONOTONIC` is supported on all versions of iOS that Chrome is
-+  // supported on.
-+  int res = clock_gettime(CLOCK_MONOTONIC, &tp);
-+  PA_BASE_DCHECK(0 == res) << "Failed clock_gettime, errno: " << errno;
-+
-+  return (int64_t)tp.tv_sec * 1000000 + tp.tv_nsec / 1000;
-+#else
-   // mach_absolute_time is it when it comes to ticks on the Mac.  Other calls
-   // with less precision (such as TickCount) just call through to
-   // mach_absolute_time.
-   return MachTimeToMicroseconds(mach_absolute_time());
-+#endif  // !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- }
- 
- int64_t ComputeThreadTicks() {
-@@ -172,10 +188,12 @@ Time TimeNowFromSystemTimeIgnoringOverride() {
- 
- // TimeDelta ------------------------------------------------------------------
- 
-+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // static
- TimeDelta TimeDelta::FromMachTime(uint64_t mach_time) {
-   return Microseconds(MachTimeToMicroseconds(mach_time));
- }
-+#endif  // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- 
- // TimeTicks ------------------------------------------------------------------
- 
-@@ -195,6 +213,7 @@ TimeTicks TimeTicksNowIgnoringOverride() {
-   return true;
- }
- 
-+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // static
- TimeTicks TimeTicks::FromMachAbsoluteTime(uint64_t mach_absolute_time) {
-   return TimeTicks(MachTimeToMicroseconds(mach_absolute_time));
-@@ -210,9 +229,15 @@ TimeTicks TimeTicksNowIgnoringOverride() {
-   return orig_timebase;
- }
- 
-+#endif  // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+
- // static
- TimeTicks::Clock TimeTicks::GetClock() {
-+#if !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+  return Clock::IOS_CF_ABSOLUTE_TIME_MINUS_KERN_BOOTTIME;
-+#else
-   return Clock::MAC_MACH_ABSOLUTE_TIME;
-+#endif  // !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- }
- 
- // ThreadTicks ----------------------------------------------------------------
-diff --git a/base/time/buildflags/BUILD.gn b/base/time/buildflags/BUILD.gn
-new file mode 100644
-index 0000000000000000000000000000000000000000..738a5483167147521dc04d7d7b0c32c5d8447190
---- /dev/null
-+++ b/base/time/buildflags/BUILD.gn
-@@ -0,0 +1,15 @@
-+# Copyright 2023 The Chromium Authors
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/buildflag_header.gni")
-+import("buildflags.gni")
-+
-+# Generate a buildflag header for compile-time checking of mach absolute time
-+# support in TimeTicks
-+# TODO(crbug.com/1414153): this should be removed once there is a unified
-+# approach to TimeTicks::Now on iOS.
-+buildflag_header("buildflags") {
-+  header = "buildflags.h"
-+  flags = [ "ENABLE_MACH_ABSOLUTE_TIME_TICKS=$enable_mach_absolute_time_ticks" ]
-+}
-diff --git a/base/time/buildflags/buildflags.gni b/base/time/buildflags/buildflags.gni
-new file mode 100644
-index 0000000000000000000000000000000000000000..eabed1a3bbdfebb865da1a1c7161131acc15b203
---- /dev/null
-+++ b/base/time/buildflags/buildflags.gni
-@@ -0,0 +1,13 @@
-+# Copyright 2023 The Chromium Authors
-+# Use of this source code is governed by a BSD-style license that can be
-+# found in the LICENSE file.
-+
-+import("//build/config/features.gni")
-+
-+# TODO(crbug.com/1414153): this should be removed once the use of mach absolute
-+# time ticks is successfully launched on iOS.
-+declare_args() {
-+  # use_blink currently assumes mach absolute time ticks (eg, to ensure that
-+  # trace events cohere).
-+  enable_mach_absolute_time_ticks = true
-+}
-diff --git a/base/time/time.h b/base/time/time.h
-index c4746a5f2a058ccc76d37b82d171f048e1cf4c08..42d812b3ab523733c177d32c046a9ac54bef9855 100644
---- a/base/time/time.h
-+++ b/base/time/time.h
-@@ -143,7 +143,9 @@ class BASE_EXPORT TimeDelta {
-   static TimeDelta FromZxDuration(zx_duration_t nanos);
- #endif
- #if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-   static TimeDelta FromMachTime(uint64_t mach_time);
-+#endif  // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- #endif  // BUILDFLAG(IS_APPLE)
- 
-   // Converts an integer value representing TimeDelta to a class. This is used
-@@ -1196,12 +1198,14 @@ class BASE_EXPORT TimeTicks : public time_internal::TimeBase<TimeTicks> {
- #endif
- 
- #if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-   static TimeTicks FromMachAbsoluteTime(uint64_t mach_absolute_time);
- 
-   // Sets the current Mach timebase to `timebase`. Returns the old timebase.
-   static mach_timebase_info_data_t SetMachTimebaseInfoForTesting(
-       mach_timebase_info_data_t timebase);
- 
-+#endif  // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- #endif  // BUILDFLAG(IS_APPLE)
- 
- #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH)
-diff --git a/base/time/time_apple.mm b/base/time/time_apple.mm
-index 8c3e041fe70a10e7a26cf282a0c19c7e0672fc03..d7f15c71e692370e4fc134874dc0554e18bd03da 100644
---- a/base/time/time_apple.mm
-+++ b/base/time/time_apple.mm
-@@ -22,8 +22,15 @@
- #include "base/time/time_override.h"
- #include "build/build_config.h"
- 
-+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+#include <errno.h>
-+#include <time.h>
-+#include "base/ios/ios_util.h"
-+#endif  // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+
- namespace {
- 
-+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // Returns a pointer to the initialized Mach timebase info struct.
- mach_timebase_info_data_t* MachTimebaseInfo() {
-   static mach_timebase_info_data_t timebase_info = []() {
-@@ -77,14 +84,29 @@ int64_t MachTimeToMicroseconds(uint64_t mach_time) {
-   // 9223372036854775807 / (1e6 * 60 * 60 * 24 * 365.2425) = 292,277).
-   return base::checked_cast<int64_t>(microseconds);
- }
-+#endif  // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- 
- // Returns monotonically growing number of ticks in microseconds since some
- // unspecified starting point.
- int64_t ComputeCurrentTicks() {
-+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+  struct timespec tp;
-+  // clock_gettime() returns 0 on success and -1 on failure. Failure can only
-+  // happen because of bad arguments (unsupported clock type or timespec pointer
-+  // out of accessible address space). Here it is known that neither can happen
-+  // since the timespec parameter is stack allocated right above and
-+  // `CLOCK_MONOTONIC` is supported on all versions of iOS that Chrome is
-+  // supported on.
-+  int res = clock_gettime(CLOCK_MONOTONIC, &tp);
-+  DCHECK_EQ(res, 0) << "Failed clock_gettime, errno: " << errno;
-+
-+  return (int64_t)tp.tv_sec * 1000000 + tp.tv_nsec / 1000;
-+#else
-   // mach_absolute_time is it when it comes to ticks on the Mac.  Other calls
-   // with less precision (such as TickCount) just call through to
-   // mach_absolute_time.
-   return MachTimeToMicroseconds(mach_absolute_time());
-+#endif  // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- }
- 
- int64_t ComputeThreadTicks() {
-@@ -172,10 +194,12 @@ Time TimeNowFromSystemTimeIgnoringOverride() {
- 
- // TimeDelta ------------------------------------------------------------------
- 
-+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // static
- TimeDelta TimeDelta::FromMachTime(uint64_t mach_time) {
-   return Microseconds(MachTimeToMicroseconds(mach_time));
- }
-+#endif  // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- 
- // TimeTicks ------------------------------------------------------------------
- 
-@@ -195,6 +219,7 @@ TimeTicks TimeTicksNowIgnoringOverride() {
-   return true;
- }
- 
-+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- // static
- TimeTicks TimeTicks::FromMachAbsoluteTime(uint64_t mach_absolute_time) {
-   return TimeTicks(MachTimeToMicroseconds(mach_absolute_time));
-@@ -210,9 +235,15 @@ TimeTicks TimeTicksNowIgnoringOverride() {
-   return orig_timebase;
- }
- 
-+#endif  // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+
- // static
- TimeTicks::Clock TimeTicks::GetClock() {
-+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
-+  return Clock::IOS_CF_ABSOLUTE_TIME_MINUS_KERN_BOOTTIME;
-+#else
-   return Clock::MAC_MACH_ABSOLUTE_TIME;
-+#endif  // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
- }
- 
- // ThreadTicks ----------------------------------------------------------------

+ 2 - 2
patches/chromium/scroll_bounce_flag.patch

@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
 Patch to make scrollBounce option work.
 
 diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
-index 55b077ea4ebaca49e5f574637f2cba7d83acd9a8..e9a6d2bc6da550f508bfa06934e2d9aa275364c4 100644
+index 7a587facb3ab6e7f6baf628b756f1ff183645b29..c1bd1064ee103f58e78294121e9e6402b555d10e 100644
 --- a/content/renderer/render_thread_impl.cc
 +++ b/content/renderer/render_thread_impl.cc
-@@ -1332,7 +1332,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
+@@ -1293,7 +1293,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
  }
  
  bool RenderThreadImpl::IsElasticOverscrollEnabled() {

+ 1 - 1
patches/chromium/web_contents.patch

@@ -9,7 +9,7 @@ is needed for OSR.
 Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 7fa21e1fffe5f22ed395aab5254a5660a0a76bf4..7e9f81d748116e5cd5a4c67aebea5a58b9e37424 100644
+index 08e3ff32f55a7d21bcf795764273758995854a80..dfee3b6dfb41c0901c678c613417f6839b914d0e 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -3325,6 +3325,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,

+ 2 - 2
patches/chromium/webview_fullscreen.patch

@@ -15,7 +15,7 @@ Note that we also need to manually update embedder's
 `api::WebContents::IsFullscreenForTabOrPending` value.
 
 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
-index 6e2517bfb39b88827aa7a44f6b65b13c9454d16f..8784a4a93993110879564c2cd5520e2d69f59b07 100644
+index fc93a7e98acd09ea2c6a1c8d209775d2c9482d74..c23fc6b945e87d4f5be816d7cd51e8c0de25bb64 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
 @@ -7416,6 +7416,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -37,7 +37,7 @@ index 6e2517bfb39b88827aa7a44f6b65b13c9454d16f..8784a4a93993110879564c2cd5520e2d
    if (had_fullscreen_token && !GetView()->HasFocus())
      GetView()->Focus();
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 7e9f81d748116e5cd5a4c67aebea5a58b9e37424..6dc2cd4b494eb3730139b8351212c3c0cde39861 100644
+index dfee3b6dfb41c0901c678c613417f6839b914d0e..4a61bb371e527c8405bcf463cc13eec394b80652 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -3571,21 +3571,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(

+ 4 - 4
patches/chromium/worker_context_will_destroy.patch

@@ -26,10 +26,10 @@ index a4130ad4dc8158f8256b55fdd87f577687135626..3139aa65807cee23f0e8dbc85243566e
    // An empty URL is returned if the URL is not overriden.
    virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
 diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
-index 3206463a734a864e98a2ccdec14fa1f9a8df776a..8bc668a443fb33cb560e4c9592f53920869166c4 100644
+index 3a7c981662075b367fc9ffce78cefc38633a4bb2..1091270d0ed83b4230283d8ecfe9be867a0458f8 100644
 --- a/content/renderer/renderer_blink_platform_impl.cc
 +++ b/content/renderer/renderer_blink_platform_impl.cc
-@@ -795,6 +795,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
+@@ -789,6 +789,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
    WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
  }
  
@@ -55,10 +55,10 @@ index 4813c8ce4525f047b45aab0bd02135d5cf73f1e2..5e54ca5d408716dc058287efceab4c89
        const blink::WebSecurityOrigin& script_origin) override;
    blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel()
 diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
-index 132096c44cf32d32f630a3d3ec941b1d79e4bb0e..f927a042a98cc4a94fa1a7c82346625f44af0c24 100644
+index cfb8b2634af81699922e05579e4d86228c99495a..9017d70d4771c75ab21ec9e2bae184b5b73dbff4 100644
 --- a/third_party/blink/public/platform/platform.h
 +++ b/third_party/blink/public/platform/platform.h
-@@ -616,6 +616,7 @@ class BLINK_PLATFORM_EXPORT Platform {
+@@ -622,6 +622,7 @@ class BLINK_PLATFORM_EXPORT Platform {
    virtual void DidStartWorkerThread() {}
    virtual void WillStopWorkerThread() {}
    virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}

+ 4 - 4
patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch

@@ -35,10 +35,10 @@ index 3139aa65807cee23f0e8dbc85243566ef9de89b9..19707edb1283f2432f3c0059f80fabd5
    // from the worker thread.
    virtual void WillDestroyWorkerContextOnWorkerThread(
 diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
-index 8bc668a443fb33cb560e4c9592f53920869166c4..8dbadf5b2dc233ea1f298c5ad26d5bf1ed0acc64 100644
+index 1091270d0ed83b4230283d8ecfe9be867a0458f8..28435c14357fb1e0a03ff55bb77d1f1284cb5a52 100644
 --- a/content/renderer/renderer_blink_platform_impl.cc
 +++ b/content/renderer/renderer_blink_platform_impl.cc
-@@ -807,6 +807,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
+@@ -801,6 +801,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
        worker);
  }
  
@@ -65,10 +65,10 @@ index 5e54ca5d408716dc058287efceab4c8924344c54..1ecc1079ecd2345138cb1a11498b6f72
    bool AllowScriptExtensionForServiceWorker(
        const blink::WebSecurityOrigin& script_origin) override;
 diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
-index f927a042a98cc4a94fa1a7c82346625f44af0c24..80c5368efbef0bde421e85b3a0336b179e50d116 100644
+index 9017d70d4771c75ab21ec9e2bae184b5b73dbff4..7ea40b7f3efd69777deaa1d836b25ac7605f7ed7 100644
 --- a/third_party/blink/public/platform/platform.h
 +++ b/third_party/blink/public/platform/platform.h
-@@ -616,6 +616,8 @@ class BLINK_PLATFORM_EXPORT Platform {
+@@ -622,6 +622,8 @@ class BLINK_PLATFORM_EXPORT Platform {
    virtual void DidStartWorkerThread() {}
    virtual void WillStopWorkerThread() {}
    virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}

+ 3 - 3
patches/v8/build_gn.patch

@@ -9,7 +9,7 @@ necessary for native modules to load.
 Also change visibility on mksnapshot in order to target mksnapshot for mksnapshot zip.
 
 diff --git a/BUILD.gn b/BUILD.gn
-index 96e9f4f6db35aacd6d9420a2551ba469712a241c..71fc91c4b8836aa5b7019f328a71eb5af59a0d66 100644
+index 88cbaf273f62f958b5e3eb54e06436f5355b9cf5..3376eca5aa950c04b83f6193c47eef35e76f4d28 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -750,7 +750,7 @@ config("internal_config") {
@@ -21,7 +21,7 @@ index 96e9f4f6db35aacd6d9420a2551ba469712a241c..71fc91c4b8836aa5b7019f328a71eb5a
      defines += [ "BUILDING_V8_SHARED" ]
    }
  
-@@ -6744,7 +6744,7 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -6761,7 +6761,7 @@ if (current_toolchain == v8_generator_toolchain) {
        "src/interpreter/bytecodes.h",
      ]
  
@@ -30,7 +30,7 @@ index 96e9f4f6db35aacd6d9420a2551ba469712a241c..71fc91c4b8836aa5b7019f328a71eb5a
  
      deps = [
        ":v8_libbase",
-@@ -6756,7 +6756,6 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -6773,7 +6773,6 @@ if (current_toolchain == v8_generator_toolchain) {
  
  if (current_toolchain == v8_snapshot_toolchain) {
    v8_executable("mksnapshot") {

+ 1 - 1
patches/v8/do_not_export_private_v8_symbols_on_windows.patch

@@ -12,7 +12,7 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
 contain any standard C++ library exports (e.g. `std::ostringstream`).
 
 diff --git a/BUILD.gn b/BUILD.gn
-index 71fc91c4b8836aa5b7019f328a71eb5af59a0d66..f73d601be099d4fd480107c2e003a78ddfa77c45 100644
+index 3376eca5aa950c04b83f6193c47eef35e76f4d28..a74e60896b95cf697e357a526207d0f74076b3f2 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -750,6 +750,10 @@ config("internal_config") {