chore: bump chromium to 105.0.5129.0 (main) (#34403)
* chore: bump chromium in DEPS to 104.0.5096.0 * 3651284: Use the entry settings object for window.open navigation https://chromium-review.googlesource.com/c/chromium/src/+/3651284 * 3644598: Make RenderFrameHost used for notification permission decision https://chromium-review.googlesource.com/c/chromium/src/+/3644598 * 3642842: Window Placement: Prototype Fullscreen Capability Delegation - Part 2 https://chromium-review.googlesource.com/c/chromium/src/+/3642842 * 3652785: [sandbox] Enable sandboxed pointers on sanitizer builds https://chromium-review.googlesource.com/c/v8/v8/+/3652785 * 3611967: webhid: Migrate HidDelegate to use BrowserContext and Origin https://chromium-review.googlesource.com/c/chromium/src/+/3611967 * 3665762: Remove RenderFrameHost::IsRenderFrameCreated from //content/. https://chromium-review.googlesource.com/c/chromium/src/+/3665762 * 3659375: Fold x509_util_ios and most of x509_util_mac into x509_util_apple https://chromium-review.googlesource.com/c/chromium/src/+/3659375 * 3656234: [CodeHealth] Remove uses of base::ListValue::Append() (Final, take 2) https://chromium-review.googlesource.com/c/chromium/src/+/3656234 * chore: update patch indices * chore: fix lint * 3644598: Make RenderFrameHost used for notification permission decision https://chromium-review.googlesource.com/c/chromium/src/+/3644598 * webhid: Migrate HidDelegate to use BrowserContext and Origin This is a temporary fix for https://chromium-review.googlesource.com/c/chromium/src/+/3611967 to get the build compiling, but we need to either patch around https://chromium-review.googlesource.com/c/chromium/src/+/3611967 or move our device permissioning to BrowserContext * chore: fix lint * build: run electron/script/gen-libc++-filenames.js fixes gn check * chore: bump chromium in DEPS to 104.0.5098.0 * chore: disable flaking tests * 3682394: Change pipes surrounding code references in comments to backticks https://chromium-review.googlesource.com/c/chromium/src/+/3682394 * 3652749: Delete GLRenderer and related classes https://chromium-review.googlesource.com/c/chromium/src/+/3652749 * chore: fixup patch indices * 3671199: Remove ContentMainDelegate::PostFieldTrialInitialization https://chromium-review.googlesource.com/c/chromium/src/+/3671199 * 3607963: hid: Do not exclude HID device with no collections https://chromium-review.googlesource.com/c/chromium/src/+/3607963 * refactor: use ElectronBrowserContext instead of WebContents to persist devices due to changes like https://chromium-review.googlesource.com/c/chromium/src/+/3611967, we can no longer use WebContents to store device permissions so this commit moves device permission storage to live in memory in ElectronBrowserContext instead. * 3557253: Deprecate some signature checks https://chromium-review.googlesource.com/c/v8/v8/+/3557253 * chore: bump chromium in DEPS to 104.0.5100.0 * 3680781: Add policy for Renderer App Container. https://chromium-review.googlesource.com/c/chromium/src/+/3680781 * chore: update patch indices * 3675465: Update NetLog network service API to use mojom::DictionaryValue. https://chromium-review.googlesource.com/c/chromium/src/+/3675465 * chore: bump chromium in DEPS to 104.0.5102.0 * chore: update patches * chore: bump chromium in DEPS to 104.0.5103.0 * chore: update patches * chore: bump chromium in DEPS to 104.0.5104.0 * chore: update patches * fix: add patch for DCHECK in fullscreen test * build: fix nan build * build: make the nan spec runner work on macOS * chore: bump chromium in DEPS to 104.0.5106.0 * chore: update patches * chore: bump chromium in DEPS to 104.0.5108.0 * chore: update patches * chore: bump chromium in DEPS to 104.0.5110.0 * chore: update patches * chore: bump chromium in DEPS to 104.0.5112.0 * chore: bump chromium in DEPS to 105.0.5113.0 * chore: bump chromium in DEPS to 105.0.5115.0 * chore: bump chromium in DEPS to 105.0.5117.0 * chore: update patches * chore: update libcpp patch * 3693745: Delete base::LowerCaseEqualsASCII() Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3693745 * 3669226: Remove printing PostTask usage of IO thread Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3669226 * 3687395: Remove DictionaryValue::HasKey(). Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3687395 * 3691014: Prevent unsafe narrowing: ui/accessibility, part 2 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3691014 * 3560567: [MSC] Porting GenerateStreams clients to handle stream vectors. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3560567 * 3684873: [Bluetooth][Win/Linux] Add bluetooth pair confirmation prompt https://chromium-review.googlesource.com/c/chromium/src/+/3684873 * chore: bump chromium in DEPS to 105.0.5119.0 * chore: missing includes in desktop_notification_controller * chore: update patches * 3685951: Reland "Make sure screen object is created once in tests." https://chromium-review.googlesource.com/c/chromium/src/+/3685951 * fixup: Reland "Make sure screen object is created once in tests." * 3646014: [API] Deprecate LegacyOOMErrorCallback Ref: https://chromium-review.googlesource.com/c/v8/v8/+/3646014 * chore: bump chromium in DEPS to 105.0.5121.0 * chore: update patches * 3699085: [cleanup] update PrintBackend::EnumeratePrinters to use reference Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3699085 * chore: bump chromium in DEPS to 105.0.5123.0 * chore: update patches * chore: bump chromium in DEPS to 105.0.5125.0 * chore: update patches * 3630082: [sandbox] Also enable the sandbox outside of Chromium builds Ref: https://chromium-review.googlesource.com/c/v8/v8/+/3630082 * chore: bump chromium in DEPS to 105.0.5127.0 * chore: update patches * chore: bump chromium in DEPS to 105.0.5129.0 * chore: update patches * 3703741: Remove WebContents::GetMainFrame. https://chromium-review.googlesource.com/c/chromium/src/+/3703741 * chore: update patches * fixup! 3703741: Remove WebContents::GetMainFrame. * fix lint * more lint * chore: document breaking change * 3687671: [v8] Freeze flags after initialization https://chromium-review.googlesource.com/c/chromium/src/+/3687671 * fixup! 3560567: [MSC] Porting GenerateStreams clients to handle stream vectors. * use the v8 allocator for node serdes * chore: update patches * remove faulty non-v8-sandbox-compatible code * make NodeArrayBufferAllocator use the v8 allocator under the hood * fixup! 3560567: [MSC] Porting GenerateStreams clients to handle stream vectors. * fix build on windows * 3691954: [Reland][Extensions Bindings] Validate arguments sent to API events https://chromium-review.googlesource.com/c/chromium/src/+/3691954 * chore: remove deprecated AccessorSignatures https://github.com/nodejs/nan/pull/941 * Update patches/chromium/notification_provenance.patch Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> * remove chore_expose_v8_initialization_isolate_callbacks.patch * add link to nodejs/nan#941 * 52026: Do not allow md4 or md5 based signatures in X.509 certificates. https://boringssl-review.googlesource.com/c/boringssl/+/52026 * chore: update patches * disable nan buffer-test * disable sandboxed pointers for now * force sandboxed pointers off * improve node allocation patch * restore accidentally dropped node crypto test patch Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <sattard@salesforce.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: VerteDinde <keeleymhammond@gmail.com> Co-authored-by: VerteDinde <vertedinde@electronjs.org> Co-authored-by: Jeremy Rose <jeremya@chromium.org> Co-authored-by: Jeremy Rose <japthorp@slack-corp.com>
This commit is contained in:
parent
032e1d9bef
commit
e86d1cba75
144 changed files with 1906 additions and 1231 deletions
2
DEPS
2
DEPS
|
@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
|||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'104.0.5073.0',
|
||||
'105.0.5129.0',
|
||||
'node_version':
|
||||
'v16.15.1',
|
||||
'nan_version':
|
||||
|
|
|
@ -46,4 +46,6 @@ enable_cet_shadow_stack = false
|
|||
# Ref: https://source.chromium.org/chromium/chromium/src/+/45fba672185aae233e75d6ddc81ea1e0b30db050:v8/BUILD.gn;l=281
|
||||
is_cfi = false
|
||||
|
||||
# TODO(nornagon): this is disabled until node.js's internals can be made
|
||||
# compatible with sandboxed pointers.
|
||||
v8_enable_sandboxed_pointers = false
|
||||
|
|
|
@ -281,7 +281,7 @@ Returns:
|
|||
* `event` Event
|
||||
* `details` Object
|
||||
* `device` [HIDDevice[]](structures/hid-device.md)
|
||||
* `frame` [WebFrameMain](web-frame-main.md)
|
||||
* `origin` string (optional) - The origin that the device has been revoked from.
|
||||
|
||||
Emitted after `HIDDevice.forget()` has been called. This event can be used
|
||||
to help maintain persistent storage of permissions when
|
||||
|
@ -705,7 +705,6 @@ session.fromPartition('some-partition').setPermissionCheckHandler((webContents,
|
|||
* `deviceType` string - The type of device that permission is being requested on, can be `hid` or `serial`.
|
||||
* `origin` string - The origin URL of the device permission check.
|
||||
* `device` [HIDDevice](structures/hid-device.md) | [SerialPort](structures/serial-port.md)- the device that permission is being requested for.
|
||||
* `frame` [WebFrameMain](web-frame-main.md) - WebFrameMain checking the device permission.
|
||||
|
||||
Sets the handler which can be used to respond to device permission checks for the `session`.
|
||||
Returning `true` will allow the device to be permitted and `false` will reject it.
|
||||
|
@ -713,8 +712,8 @@ To clear the handler, call `setDevicePermissionHandler(null)`.
|
|||
This handler can be used to provide default permissioning to devices without first calling for permission
|
||||
to devices (eg via `navigator.hid.requestDevice`). If this handler is not defined, the default device
|
||||
permissions as granted through device selection (eg via `navigator.hid.requestDevice`) will be used.
|
||||
Additionally, the default behavior of Electron is to store granted device permission through the lifetime
|
||||
of the corresponding WebContents. If longer term storage is needed, a developer can store granted device
|
||||
Additionally, the default behavior of Electron is to store granted device permision in memory.
|
||||
If longer term storage is needed, a developer can store granted device
|
||||
permissions (eg when handling the `select-hid-device` event) and then read from that storage with `setDevicePermissionHandler`.
|
||||
|
||||
```javascript
|
||||
|
|
|
@ -89,6 +89,13 @@ window manager. There is not a direct equivalent for Wayland, and the known
|
|||
workarounds have unacceptable tradeoffs (e.g. Window.is_skip_taskbar in GNOME
|
||||
requires unsafe mode), so Electron is unable to support this feature on Linux.
|
||||
|
||||
### API Changed: `session.setDevicePermissionHandler(handler)`
|
||||
|
||||
The handler invoked when `session.setDevicePermissionHandler(handler)` is used
|
||||
has a change to its arguments. This handler no longer is passed a frame
|
||||
`[WebFrameMain](api/web-frame-main.md)`, but instead is passed the `origin`, which
|
||||
is the origin that is checking for device permission.
|
||||
|
||||
## Planned Breaking API Changes (19.0)
|
||||
|
||||
None
|
||||
|
|
|
@ -1,49 +1,376 @@
|
|||
libcxx_headers = [
|
||||
"//buildtools/third_party/libc++/trunk/include/CMakeLists.txt",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/adjacent_find.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/all_of.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/any_of.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/binary_search.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/clamp.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/comp.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/comp_ref_type.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/copy_backward.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/copy_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/copy_n.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/count.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/count_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/equal.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/equal_range.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/fill.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/fill_n.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/find.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/find_end.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/find_first_of.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/find_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/find_if_not.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/for_each.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/for_each_n.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/generate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/generate_n.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/half_positive.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_found_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_fun_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_in_out_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_in_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_out_out_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/in_out_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/includes.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/inplace_merge.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_heap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_heap_until.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_partitioned.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_permutation.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_sorted.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/is_sorted_until.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/iter_swap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/lexicographical_compare.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/lower_bound.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/make_heap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/max.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/max_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/merge.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/min.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/min_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/min_max_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/minmax.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/minmax_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/mismatch.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/move.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/move_backward.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/next_permutation.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/none_of.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/nth_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/partial_sort.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/partial_sort_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/partition.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/partition_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/partition_point.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/pop_heap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/prev_permutation.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/push_heap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_find.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_find_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_find_if_not.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_max_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_min.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_min_element.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_mismatch.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/ranges_swap_ranges.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/remove.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/remove_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/remove_copy_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/remove_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/replace.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/replace_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/replace_copy_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/replace_if.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/reverse.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/reverse_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/rotate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/rotate_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/sample.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/search.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/search_n.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/set_difference.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/set_intersection.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/set_symmetric_difference.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/set_union.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/shift_left.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/shift_right.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/shuffle.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/sift_down.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/sort.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/sort_heap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/stable_partition.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/stable_sort.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/swap_ranges.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/transform.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/unique.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/unique_copy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/unwrap_iter.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__algorithm/upper_bound.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__assert",
|
||||
"//buildtools/third_party/libc++/trunk/include/__availability",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bit/bit_cast.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bit/byteswap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bit_reference",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bits",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bsd_locale_defaults.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__bsd_locale_fallbacks.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__charconv/chars_format.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__charconv/from_chars_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__charconv/to_chars_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/calendar.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/convert_to_timespec.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/duration.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/file_clock.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/high_resolution_clock.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/steady_clock.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/system_clock.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__chrono/time_point.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/common_comparison_category.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/compare_partial_order_fallback.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/compare_strong_order_fallback.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/compare_three_way.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/compare_three_way_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/compare_weak_order_fallback.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/is_eq.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/ordering.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/partial_order.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/strong_order.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/synth_three_way.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/three_way_comparable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__compare/weak_order.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/arithmetic.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/assignable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/boolean_testable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/class_or_enum.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/common_reference_with.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/common_with.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/constructible.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/convertible_to.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/copyable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/derived_from.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/destructible.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/different_from.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/equality_comparable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/invocable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/movable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/predicate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/regular.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/relation.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/same_as.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/semiregular.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/swappable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__concepts/totally_ordered.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__config",
|
||||
"//buildtools/third_party/libc++/trunk/include/__config_site.in",
|
||||
"//buildtools/third_party/libc++/trunk/include/__coroutine/coroutine_handle.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__coroutine/coroutine_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__coroutine/noop_coroutine_handle.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__coroutine/trivial_awaitables.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__debug",
|
||||
"//buildtools/third_party/libc++/trunk/include/__errc",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional_03",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional_base",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional_base_03",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/copy_options.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/directory_entry.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/directory_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/directory_options.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/file_status.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/file_time_type.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/file_type.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/filesystem_error.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/operations.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/path.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/path_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/perm_options.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/perms.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/recursive_directory_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/space_info.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__filesystem/u8path.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_arg.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_args.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_context.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_error.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_fwd.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_parse_context.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_string.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/format_to_n_result.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_bool.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_char.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_floating_point.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_integer.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_integral.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_pointer.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/formatter_string.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__format/parser_std_format_spec.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/binary_function.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/binary_negate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/bind.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/bind_back.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/bind_front.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/binder1st.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/binder2nd.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/compose.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/default_searcher.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/function.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/hash.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/identity.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/invoke.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/is_transparent.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/mem_fn.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/mem_fun_ref.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/not_fn.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/operations.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/perfect_forward.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/pointer_to_binary_function.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/pointer_to_unary_function.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/ranges_operations.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/reference_wrapper.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/unary_function.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/unary_negate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/unwrap_ref.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__functional/weak_result_type.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__hash_table",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ios/fpos.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/access.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/advance.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/back_insert_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/common_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/concepts.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/counted_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/data.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/default_sentinel.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/distance.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/empty.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/erase_if_container.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/front_insert_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/incrementable_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/indirectly_comparable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/insert_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/istream_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/istreambuf_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/iter_move.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/iter_swap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/iterator_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/mergeable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/move_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/next.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/ostream_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/ostreambuf_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/permutable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/prev.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/projected.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/readable_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/reverse_access.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/reverse_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/size.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/sortable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/unreachable_sentinel.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__iterator/wrap_iter.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__libcpp_version",
|
||||
"//buildtools/third_party/libc++/trunk/include/__locale",
|
||||
"//buildtools/third_party/libc++/trunk/include/__mbstate_t.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/addressof.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/allocation_guard.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/allocator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/allocator_arg_t.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/allocator_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/auto_ptr.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/compressed_pair.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/concepts.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/construct_at.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/pointer_safety.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/pointer_traits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/ranges_construct_at.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/ranges_uninitialized_algorithms.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/raw_storage_iterator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/temporary_buffer.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/uninitialized_algorithms.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/uses_allocator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__memory/voidify.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__mutex_base",
|
||||
"//buildtools/third_party/libc++/trunk/include/__node_handle",
|
||||
"//buildtools/third_party/libc++/trunk/include/__nullptr",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/accumulate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/adjacent_difference.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/exclusive_scan.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/gcd_lcm.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/inclusive_scan.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/inner_product.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/iota.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/midpoint.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/partial_sum.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/reduce.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/transform_exclusive_scan.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/transform_inclusive_scan.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__numeric/transform_reduce.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/bernoulli_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/binomial_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/cauchy_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/chi_squared_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/clamp_to_integral.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/default_random_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/discard_block_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/discrete_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/exponential_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/extreme_value_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/fisher_f_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/gamma_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/generate_canonical.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/geometric_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/independent_bits_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/is_seed_sequence.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/is_valid.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/knuth_b.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/linear_congruential_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/log2.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/lognormal_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/mersenne_twister_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/negative_binomial_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/normal_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/piecewise_constant_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/piecewise_linear_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/poisson_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/random_device.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/ranlux.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/seed_seq.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/shuffle_order_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/student_t_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/subtract_with_carry_engine.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/uniform_int_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/uniform_random_bit_generator.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/uniform_real_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__random/weibull_distribution.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/access.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/all.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/common_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/concepts.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/copyable_box.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/counted.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/dangling.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/data.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/drop_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/empty.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/empty_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/enable_borrowed_range.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/enable_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/iota_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/join_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/non_propagating_cache.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/owning_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/range_adaptor.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/rbegin.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/ref_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/rend.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/reverse_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/single_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/size.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/subrange.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/take_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/transform_view.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/view_interface.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__ranges/views.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__split_buffer",
|
||||
"//buildtools/third_party/libc++/trunk/include/__std_stream",
|
||||
"//buildtools/third_party/libc++/trunk/include/__string",
|
||||
|
@ -51,14 +378,12 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/__support/fuchsia/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/gettod_zos.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/limits.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_aix.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_zos.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/nanosleep.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/support.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/ibm/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/musl/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/newlib/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/nuttx/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/openbsd/xlocale.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/solaris/floatingpoint.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/solaris/wchar.h",
|
||||
|
@ -68,11 +393,30 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/__support/xlocale/__nop_locale_mgmt.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/xlocale/__posix_l_fallback.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__support/xlocale/__strtonum_fallback.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__thread/poll_with_backoff.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__thread/timed_backoff_policy.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__threading_support",
|
||||
"//buildtools/third_party/libc++/trunk/include/__tree",
|
||||
"//buildtools/third_party/libc++/trunk/include/__tuple",
|
||||
"//buildtools/third_party/libc++/trunk/include/__undef_macros",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/as_const.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/auto_cast.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/cmp.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/declval.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/exchange.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/forward.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/in_place.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/integer_sequence.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/move.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/pair.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/piecewise_construct.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/priority_tag.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/rel_ops.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/swap.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/to_underlying.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/transaction.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__utility/unreachable.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/__variant/monostate.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/algorithm",
|
||||
"//buildtools/third_party/libc++/trunk/include/any",
|
||||
"//buildtools/third_party/libc++/trunk/include/array",
|
||||
|
@ -99,6 +443,7 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/complex.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/concepts",
|
||||
"//buildtools/third_party/libc++/trunk/include/condition_variable",
|
||||
"//buildtools/third_party/libc++/trunk/include/coroutine",
|
||||
"//buildtools/third_party/libc++/trunk/include/csetjmp",
|
||||
"//buildtools/third_party/libc++/trunk/include/csignal",
|
||||
"//buildtools/third_party/libc++/trunk/include/cstdarg",
|
||||
|
@ -111,6 +456,7 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/ctgmath",
|
||||
"//buildtools/third_party/libc++/trunk/include/ctime",
|
||||
"//buildtools/third_party/libc++/trunk/include/ctype.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/cuchar",
|
||||
"//buildtools/third_party/libc++/trunk/include/cwchar",
|
||||
"//buildtools/third_party/libc++/trunk/include/cwctype",
|
||||
"//buildtools/third_party/libc++/trunk/include/deque",
|
||||
|
@ -122,7 +468,6 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/experimental/algorithm",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/coroutine",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/deque",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/filesystem",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/forward_list",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/functional",
|
||||
"//buildtools/third_party/libc++/trunk/include/experimental/iterator",
|
||||
|
@ -205,6 +550,7 @@ libcxx_headers = [
|
|||
"//buildtools/third_party/libc++/trunk/include/type_traits",
|
||||
"//buildtools/third_party/libc++/trunk/include/typeindex",
|
||||
"//buildtools/third_party/libc++/trunk/include/typeinfo",
|
||||
"//buildtools/third_party/libc++/trunk/include/uchar.h",
|
||||
"//buildtools/third_party/libc++/trunk/include/unordered_map",
|
||||
"//buildtools/third_party/libc++/trunk/include/unordered_set",
|
||||
"//buildtools/third_party/libc++/trunk/include/utility",
|
||||
|
|
|
@ -58,10 +58,10 @@ index 852b76bea69988e0b3ac76a17b603128f239dde0..d443f4dc2daea0b7aa86ae75d31d995f
|
|||
callback(EVP_aes_192_ctr(), "aes-192-ctr", NULL, arg);
|
||||
callback(EVP_aes_256_ctr(), "aes-256-ctr", NULL, arg);
|
||||
diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h
|
||||
index 2458847e5640fe955a9971aa77c27251e5091db5..a0b3ac5f6b55921a542f27108beca93d6372c6fc 100644
|
||||
index 380d25d9c2a8efb0636db5749a8e3b1ba6908ad5..7a5aa1c142e15cf06e63882e83d82a93c0d38785 100644
|
||||
--- a/include/openssl/cipher.h
|
||||
+++ b/include/openssl/cipher.h
|
||||
@@ -448,6 +448,7 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_des_ede3_ecb(void);
|
||||
@@ -460,6 +460,7 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_des_ede3_ecb(void);
|
||||
|
||||
// EVP_aes_128_cfb128 is only available in decrepit.
|
||||
OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_128_cfb128(void);
|
||||
|
|
|
@ -75,7 +75,6 @@ skip_atk_toolchain_check.patch
|
|||
worker_feat_add_hook_to_notify_script_ready.patch
|
||||
chore_provide_iswebcontentscreationoverridden_with_full_params.patch
|
||||
fix_properly_honor_printing_page_ranges.patch
|
||||
chore_expose_v8_initialization_isolate_callbacks.patch
|
||||
export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch
|
||||
fix_export_zlib_symbols.patch
|
||||
don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch
|
||||
|
@ -111,4 +110,6 @@ make_gtk_getlibgtk_public.patch
|
|||
build_disable_print_content_analysis.patch
|
||||
custom_protocols_plzserviceworker.patch
|
||||
feat_filter_out_non-shareable_windows_in_the_current_application_in.patch
|
||||
fix_allow_guest_webcontents_to_enter_fullscreen.patch
|
||||
posix_replace_doubleforkandexec_with_forkandspawn.patch
|
||||
disable_freezing_flags_after_init_in_node.patch
|
||||
|
|
|
@ -10,10 +10,10 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
|
|||
This should be upstreamed.
|
||||
|
||||
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
|
||||
index e0ff6fae1e96699e7cb54c9e82a3c68a8e95602b..2179a906bb6c93fbfaa8e7b7e64fddfaab034e94 100644
|
||||
index b017e2bf97a4a15cb7af384d9b4e54aa729a997c..fc59b7040bf68e90fbbe516b5321a519a5e77b2a 100644
|
||||
--- a/content/gpu/gpu_main.cc
|
||||
+++ b/content/gpu/gpu_main.cc
|
||||
@@ -241,6 +241,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
@@ -239,6 +239,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
// to the GpuProcessHost once the GpuServiceImpl has started.
|
||||
viz::GpuServiceImpl::InstallPreInitializeLogHandler();
|
||||
|
||||
|
@ -24,9 +24,9 @@ index e0ff6fae1e96699e7cb54c9e82a3c68a8e95602b..2179a906bb6c93fbfaa8e7b7e64fddfa
|
|||
// We are experiencing what appear to be memory-stomp issues in the GPU
|
||||
// process. These issues seem to be impacting the task executor and listeners
|
||||
// registered to it. Create the task executor on the heap to guard against
|
||||
@@ -347,7 +351,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
GpuProcess gpu_process(io_thread_priority);
|
||||
#endif
|
||||
@@ -344,7 +348,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
ChildProcess gpu_process(io_thread_priority);
|
||||
DCHECK(base::ThreadPoolInstance::Get()->WasStarted());
|
||||
|
||||
- auto* client = GetContentClient()->gpu();
|
||||
if (client)
|
||||
|
|
|
@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the
|
|||
context, which can cause some preload scripts to trip.
|
||||
|
||||
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
||||
index d921125d153742dd09e34418c19195a3d61bef1f..5348c3289a94c86bbbc9bb07be26cc56b4986788 100644
|
||||
index 5a7d3da58451f491ed6dfabd3bc31a645843bb60..36cbf8c5c01330acc8b3a708bd6481ede21d73be 100644
|
||||
--- a/content/public/renderer/render_frame_observer.h
|
||||
+++ b/content/public/renderer/render_frame_observer.h
|
||||
@@ -136,6 +136,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
|
||||
|
@ -23,10 +23,10 @@ index d921125d153742dd09e34418c19195a3d61bef1f..5348c3289a94c86bbbc9bb07be26cc56
|
|||
int32_t world_id) {}
|
||||
virtual void DidClearWindowObject() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 831db39365764d4001b8d602b225f157d3562ca8..4aabe0781d9e4150dddce76a50b993d0b8da8068 100644
|
||||
index f479e7ce6ceb21e67f72dd29589dfda180e438b0..23dcc6507ed9151f657689904bf90d3b2e8ae3d3 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4502,6 +4502,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
@@ -4474,6 +4474,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
observer.DidCreateScriptContext(context, world_id);
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,10 @@ index 831db39365764d4001b8d602b225f157d3562ca8..4aabe0781d9e4150dddce76a50b993d0
|
|||
int world_id) {
|
||||
for (auto& observer : observers_)
|
||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||
index e903ba9ec4f8d32c5d3a6795f0a20f2addf95743..bb9755b981cf96e131e6545f778f73607fabdd02 100644
|
||||
index ac30039d95f1f4c73067df58d8af63190b352030..c674c87797fc8ea057f5b94aabbb53b92bded031 100644
|
||||
--- a/content/renderer/render_frame_impl.h
|
||||
+++ b/content/renderer/render_frame_impl.h
|
||||
@@ -604,6 +604,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||
@@ -609,6 +609,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||
uint32_t ng_call_count) override;
|
||||
void DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
int world_id) override;
|
||||
|
@ -53,10 +53,10 @@ index e903ba9ec4f8d32c5d3a6795f0a20f2addf95743..bb9755b981cf96e131e6545f778f7360
|
|||
int world_id) override;
|
||||
void DidChangeScrollOffset() override;
|
||||
diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
|
||||
index 595441198b5253e5f36f97303e952e642998be39..1b17db7b9285cb874e74abdd896888c12b288565 100644
|
||||
index 9e2dc9b2ea07a1f9bdfd92284f73dd1977ea1437..18c07f44196e83cf16cace6863e3db368a86ce0d 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame_client.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame_client.h
|
||||
@@ -598,6 +598,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
@@ -605,6 +605,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) {}
|
||||
|
||||
|
@ -79,10 +79,10 @@ index a6ba8411384855c82712960375bc949c5c2bd522..fc86ca807c9c1bda9236160580b09415
|
|||
if (World().IsMainWorld()) {
|
||||
GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld();
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
index 6fb24096d3a5415f59cba2a8a5a6f36fe838dcc1..a4089fb3989ecd37d5b01baeb03c2ac1f4f05b53 100644
|
||||
index 27b366933ce11a029920b9f85060f8cce8deaacd..110996a9d55c1ba779e8aff598e9847dd6a38d86 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
@@ -298,6 +298,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
@@ -301,6 +301,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) = 0;
|
||||
|
@ -92,7 +92,7 @@ index 6fb24096d3a5415f59cba2a8a5a6f36fe838dcc1..a4089fb3989ecd37d5b01baeb03c2ac1
|
|||
int32_t world_id) = 0;
|
||||
virtual bool AllowScriptExtensions() = 0;
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
|
||||
index 40042e1fa2622a871d0ed512f1f6fda1cdda56a6..a377548b36712bd4971bae6b4c0afdc5c8fdbdfc 100644
|
||||
index 7cbb31ddff83ea89ae879dfe190b62a8cdbeb7cf..ebc2f572b3340b7ca8719073afda8d266b18cbe5 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
|
||||
@@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
|
||||
|
@ -110,7 +110,7 @@ index 40042e1fa2622a871d0ed512f1f6fda1cdda56a6..a377548b36712bd4971bae6b4c0afdc5
|
|||
v8::Local<v8::Context> context,
|
||||
int32_t world_id) {
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
|
||||
index 1f929d9535ca19a2c443e13f2bafce179f5870df..fe7605585501fcc1fd515f1d94fda7e27d5ba632 100644
|
||||
index c95ef4a4a3f9d40e0e4bedf6fc42225190626c42..36cc932782437b9f5d301416f5a4e8f48c3c837a 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
|
||||
@@ -80,6 +80,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
|
||||
|
@ -123,7 +123,7 @@ index 1f929d9535ca19a2c443e13f2bafce179f5870df..fe7605585501fcc1fd515f1d94fda7e2
|
|||
int32_t world_id) override;
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
index a9bd5283d3c65728dd3293abe88ffd02d3eee4fc..f5e4a927f2f5114e62d76fec86d6a5d2d2321166 100644
|
||||
index d1e2d799602ce3b671e7e33afc57923fcc066f00..64dc35a4ba05521dc55b69d2413010ae47b10152 100644
|
||||
--- a/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
@@ -352,6 +352,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
|
|
|
@ -85,10 +85,10 @@ index 5e4032ccf916f969cd669af7d983becddb57c72b..a858c9f2fa609ae756a2e70d0362f2de
|
|||
// Visibility -----------------------------------------------------------
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index 229d9f2112e70f3bbff6e6986ab01c67483a1ae9..0529b4399959a2a2b9b0131dd8736a87fb973b0b 100644
|
||||
index deeeab3e6ead93cb3be26f4b40caeeef8bfaafa5..98c257b43cf198481bcaa8f080add28e60e7d9a2 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -3711,6 +3711,13 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -3732,6 +3732,13 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ index 229d9f2112e70f3bbff6e6986ab01c67483a1ae9..0529b4399959a2a2b9b0131dd8736a87
|
|||
void WebViewImpl::SetVisibilityState(
|
||||
mojom::blink::PageVisibilityState visibility_state,
|
||||
bool is_initial_state) {
|
||||
@@ -3722,7 +3729,8 @@ void WebViewImpl::SetVisibilityState(
|
||||
@@ -3743,7 +3750,8 @@ void WebViewImpl::SetVisibilityState(
|
||||
}
|
||||
GetPage()->SetVisibilityState(visibility_state, is_initial_state);
|
||||
GetPage()->GetPageScheduler()->SetPageVisible(
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: allow new privileges in unsandboxed child processes
|
|||
This allows unsandboxed renderers to launch setuid processes on Linux.
|
||||
|
||||
diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc
|
||||
index b2b29e715d6e5ea427faf6829e935e91dd87d471..138b5da2e5ae85760faaeeff92168d1070b6f562 100644
|
||||
index 16d838b710d4f717733f4aa8f92f144922969b3b..ff2c78c7b803159dde97dafdb799d9b8761dc3fd 100644
|
||||
--- a/content/browser/child_process_launcher_helper_linux.cc
|
||||
+++ b/content/browser/child_process_launcher_helper_linux.cc
|
||||
@@ -54,6 +54,18 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
||||
|
|
|
@ -15,7 +15,7 @@ Refs changes in:
|
|||
This patch reverts the changes to fix associated crashes in Electron.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
||||
index f370d230361c3ab524c0fc74facf8954840aa29f..0e62d29e44a971d49d70e485509d0b59f5cb31c7 100644
|
||||
index 80f4314d205f4cbf0d92a331062f8a01a46d6917..2e5c15fc2cf5d0db8d26c1eeb759f6d2837e0656 100644
|
||||
--- a/third_party/blink/renderer/core/frame/frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
||||
@@ -123,14 +123,6 @@ bool Frame::Detach(FrameDetachType type) {
|
||||
|
@ -49,7 +49,7 @@ index f370d230361c3ab524c0fc74facf8954840aa29f..0e62d29e44a971d49d70e485509d0b59
|
|||
// 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 d5ef00cb9870c2dc767d80595a39af4302c3e3c3..f3a2a9527f97902f357782eb445cf63777c77398 100644
|
||||
index 9d8a9be49ed025439b9323fe4805191db1be6e6b..9c618930625dfd7ca44c2d5c1ca25db4d9f36052 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -544,10 +544,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
|
|
|
@ -10,7 +10,7 @@ breakpad independently, as a "browser" process. This patches
|
|||
crash annotation.
|
||||
|
||||
diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc
|
||||
index 3933fa761768b5a45891bfef4c2c2123b92fc276..2eb52b71d7ebc7525cceffbecc99db6751429afd 100644
|
||||
index b1f8fd4494e7f5deac078023c2e0240d701e1f13..a372e9bb12f9cec6235fe529d73b6e0009328038 100644
|
||||
--- a/components/crash/core/app/breakpad_linux.cc
|
||||
+++ b/components/crash/core/app/breakpad_linux.cc
|
||||
@@ -719,8 +719,13 @@ bool CrashDone(const MinidumpDescriptor& minidump,
|
||||
|
|
|
@ -9,7 +9,7 @@ and can be removed when the crash in fork is resolved.
|
|||
Related issue: https://github.com/electron/electron/issues/32718
|
||||
|
||||
diff --git a/base/allocator/allocator.gni b/base/allocator/allocator.gni
|
||||
index 97a57dfb1626ae9a781736dd8b0b55bf201162c1..5c97441faad781b459255cb1f7d0652ec86e40c8 100644
|
||||
index c3c62f83553bd0d258de4d5d9ecd8b02a74f594b..3dbf4462fa056db7a4084453ef35f1b944fbd093 100644
|
||||
--- a/base/allocator/allocator.gni
|
||||
+++ b/base/allocator/allocator.gni
|
||||
@@ -20,7 +20,7 @@ _disable_partition_alloc = is_component_build || (is_win && is_debug)
|
||||
|
|
|
@ -13,7 +13,7 @@ This patch can be removed when enable_print_content_analysis can be more
|
|||
easily enabled or disabled by default with buildflags.
|
||||
|
||||
diff --git a/printing/buildflags/buildflags.gni b/printing/buildflags/buildflags.gni
|
||||
index 559ac76d4e4b9d9c1824c4da186a6b0f7619fcca..72855e0c5fadb286b67144b34ff71f45e1434c73 100644
|
||||
index 1d2b24adbb39215531bbe189d6191dba026d4f68..88b7962836cfe93a59d1569245f4815f22be355e 100644
|
||||
--- a/printing/buildflags/buildflags.gni
|
||||
+++ b/printing/buildflags/buildflags.gni
|
||||
@@ -36,8 +36,7 @@ declare_args() {
|
||||
|
|
|
@ -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 dc59a88bc930d4d7b8e606434d940cac5b834bd0..6a583029436f033dc2736b9d7407f26637936add 100644
|
||||
index 672bc56194e1ad8b03acd639c17b7f7e67a5dba0..59ba25815e511af5ca6aca5467cc91d5cc3c6bf1 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -175,11 +175,16 @@ if (!is_android && !is_mac) {
|
||||
|
@ -33,10 +33,10 @@ index dc59a88bc930d4d7b8e606434d940cac5b834bd0..6a583029436f033dc2736b9d7407f266
|
|||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index 79aa50fbb9944052163bfdf958c5add60a0151f8..9fce5f07a79f801253c6bd8658ed7dba902856ad 100644
|
||||
index 46197c5a6423f3278b75549d601421d2b5e139d6..b02779a76a238fd713796597bec8a82897e88f51 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4479,7 +4479,7 @@ static_library("browser") {
|
||||
@@ -4544,7 +4544,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 79aa50fbb9944052163bfdf958c5add60a0151f8..9fce5f07a79f801253c6bd8658ed7dba
|
|||
sources += [ "certificate_viewer_stub.cc" ]
|
||||
}
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 65bee9c9d02c6f95cce6ba60d69e2a1b879a1c2f..e26897337f8c96a493936ab1342eb6b7c2c63ffe 100644
|
||||
index 5d7cfeb42574b15ddac55c797000bca490274a6f..8b967ef76faa8190d0064f3fa78a661f451228e1 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -5870,7 +5870,6 @@ test("unit_tests") {
|
||||
@@ -5915,7 +5915,6 @@ test("unit_tests") {
|
||||
|
||||
deps += [
|
||||
"//chrome:other_version",
|
||||
|
@ -57,7 +57,7 @@ index 65bee9c9d02c6f95cce6ba60d69e2a1b879a1c2f..e26897337f8c96a493936ab1342eb6b7
|
|||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/browser:chrome_process_finder",
|
||||
@@ -5893,6 +5892,10 @@ test("unit_tests") {
|
||||
@@ -5939,6 +5938,10 @@ test("unit_tests") {
|
||||
"//ui/resources",
|
||||
]
|
||||
|
||||
|
@ -68,15 +68,15 @@ index 65bee9c9d02c6f95cce6ba60d69e2a1b879a1c2f..e26897337f8c96a493936ab1342eb6b7
|
|||
ldflags = [
|
||||
"/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
|
||||
"/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
|
||||
@@ -6786,7 +6789,6 @@ test("unit_tests") {
|
||||
@@ -6826,7 +6829,6 @@ test("unit_tests") {
|
||||
}
|
||||
|
||||
deps += [
|
||||
- "//chrome:packed_resources_integrity_hash",
|
||||
"//chrome/browser:cart_db_content_proto",
|
||||
"//chrome/browser:coupon_db_content_proto",
|
||||
"//chrome/browser/media/router:test_support",
|
||||
@@ -6887,6 +6889,10 @@ test("unit_tests") {
|
||||
"//chrome/browser/autofill_assistant/password_change/proto:proto",
|
||||
@@ -6937,6 +6939,10 @@ test("unit_tests") {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ tradeoff is that switching from MAS_BUILD to !MAS_BUILD or vice-versa will
|
|||
rebuild the entire tree.
|
||||
|
||||
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
||||
index d960648941d8b959b25f87b364a594ec44760348..74a14a2373305e2e62b974b34a28ea9a62c6a911 100644
|
||||
index c737e53c2ce7237974f6c749eae60ba1de7ec2c1..26ba3ae4a77bc8f525c2ad927ff2956c028ef337 100644
|
||||
--- a/build/config/BUILDCONFIG.gn
|
||||
+++ b/build/config/BUILDCONFIG.gn
|
||||
@@ -123,6 +123,9 @@ if (current_os == "") {
|
||||
|
@ -27,7 +27,7 @@ index d960648941d8b959b25f87b364a594ec44760348..74a14a2373305e2e62b974b34a28ea9a
|
|||
# Set to enable the official build level of optimization. This has nothing
|
||||
# to do with branding, but enables an additional level of optimization above
|
||||
# release (!is_debug). This might be better expressed as a tri-state
|
||||
@@ -349,6 +352,7 @@ default_compiler_configs = [
|
||||
@@ -348,6 +351,7 @@ default_compiler_configs = [
|
||||
"//build/config/compiler/pgo:default_pgo_flags",
|
||||
"//build/config/coverage:default_coverage",
|
||||
"//build/config/sanitizers:default_sanitizer_flags",
|
||||
|
|
|
@ -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 74b6ad644d49c003996db0eab225ea30ac17420a..0a1ba3510be3047bfc34e603c5aaafbf15908269 100644
|
||||
index b3e5378f711c54b76c73179e791646d4e5e4e96b..262c8e53ec25b2e91a73b5971d64dbe5d5e005a1 100644
|
||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||
@@ -44,7 +44,11 @@ config("winver") {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: build: make libcxx_abi_unstable false for electron
|
|||
https://nornagon.medium.com/a-libc-odyssey-973e51649063
|
||||
|
||||
diff --git a/build/config/c++/BUILD.gn b/build/config/c++/BUILD.gn
|
||||
index 046792ac275853bf109537589b911cfada44ed24..e43daeaa8f8c8e23eea99b3f8f5f48f92012bbc1 100644
|
||||
index 2e5843b9f0a5d39d8dbfea0ae5d2ebb413c0ac7d..f4c901e9980ad068a2903482f712bfa8b1310057 100644
|
||||
--- a/build/config/c++/BUILD.gn
|
||||
+++ b/build/config/c++/BUILD.gn
|
||||
@@ -8,6 +8,11 @@ assert(use_custom_libcxx, "should only be used if use_custom_libcxx is set")
|
||||
@@ -9,6 +9,11 @@ assert(use_custom_libcxx, "should only be used if use_custom_libcxx is set")
|
||||
|
||||
libcxx_abi_unstable = true
|
||||
|
||||
|
|
|
@ -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 c983b5f4c20acba8a7d779a634cd1593ef69b1ae..e612764997277da3411d8040850756eb38996cca 100644
|
||||
index 381bb7d6b1ec2f321dcab9a217aa57e5b2c21925..bdf2fa0461840d6059b4a7d6660a356be5c38ba0 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -6922,6 +6922,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -7127,6 +7127,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,10 +21,10 @@ index c983b5f4c20acba8a7d779a634cd1593ef69b1ae..e612764997277da3411d8040850756eb
|
|||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index b94e87b6f90c986f115a87baf8214baeb8103826..987e437641b7978290aa2633755b67f9099e1d04 100644
|
||||
index 1470df421f254725be1a55be5756e47988798035..1c69625326df08b85ec77d01b588fc3a8ce58553 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3912,6 +3912,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -3949,6 +3949,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
}
|
||||
auto* new_contents_impl = new_contents.get();
|
||||
|
||||
|
@ -39,7 +39,7 @@ index b94e87b6f90c986f115a87baf8214baeb8103826..987e437641b7978290aa2633755b67f9
|
|||
new_contents_impl->GetController().SetSessionStorageNamespace(
|
||||
partition_config, session_storage_namespace);
|
||||
|
||||
@@ -3956,12 +3964,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -3993,12 +4001,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
|
@ -53,10 +53,10 @@ index b94e87b6f90c986f115a87baf8214baeb8103826..987e437641b7978290aa2633755b67f9
|
|||
new_contents_impl, opener, params.target_url,
|
||||
params.referrer.To<Referrer>(), params.disposition,
|
||||
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
|
||||
index 5aca51ea4154941512e989048295c7de0475c14c..278accd8c6f14a4d91cc2ff4e336e365279c7b9b 100644
|
||||
index 3aafb44665ed475084355144663a3c7395a009d5..d32b572673e24f14c60b27e8a1fab683b7aa3e8e 100644
|
||||
--- a/content/common/frame.mojom
|
||||
+++ b/content/common/frame.mojom
|
||||
@@ -569,6 +569,10 @@ struct CreateNewWindowParams {
|
||||
@@ -575,6 +575,10 @@ struct CreateNewWindowParams {
|
||||
|
||||
// Governs how downloads are handled if `target_url` results in a download.
|
||||
blink.mojom.NavigationDownloadPolicy download_policy;
|
||||
|
@ -68,10 +68,10 @@ index 5aca51ea4154941512e989048295c7de0475c14c..278accd8c6f14a4d91cc2ff4e336e365
|
|||
|
||||
// Operation result when the renderer asks the browser to create a new window.
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index 82d33875526759dda05a1818543c0605382597f4..ec89c920f0e0ad3638749b1468bcd54f74b3cce5 100644
|
||||
index 9a593698d9e3aebe21cb7e74e0e5603adde30f87..c57b933d2950a69c92d47057b83d96a66416bc1b 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -594,6 +594,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -604,6 +604,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
|
@ -81,7 +81,7 @@ index 82d33875526759dda05a1818543c0605382597f4..ec89c920f0e0ad3638749b1468bcd54f
|
|||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index e2c88a7e692406c9774a0e9783df612cbc38d7cd..4e069af9256eb106b50e84d1243c92353daf2015 100644
|
||||
index 58755b9dca27ddd4d75cf08ecdc47c6d9d9da724..2f786efe35ebdff7061118a14247859ed30eeb2a 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -165,6 +165,7 @@ class NetworkService;
|
||||
|
@ -92,7 +92,7 @@ index e2c88a7e692406c9774a0e9783df612cbc38d7cd..4e069af9256eb106b50e84d1243c9235
|
|||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -968,6 +969,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -977,6 +978,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
|
@ -102,7 +102,7 @@ index e2c88a7e692406c9774a0e9783df612cbc38d7cd..4e069af9256eb106b50e84d1243c9235
|
|||
bool opener_suppressed,
|
||||
bool* no_javascript_access);
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index daf9b4566396c6d681760329cf4ba6869bbb55e4..321d5cfc36e40f2a649e8ea5910f4082b71b62e1 100644
|
||||
index ef3889063b562a37fbd945fe30db0d776ecaee7a..99e8449e9c515dd70ed88546a71f83ae139178fe 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -26,6 +26,17 @@ namespace content {
|
||||
|
@ -124,7 +124,7 @@ index daf9b4566396c6d681760329cf4ba6869bbb55e4..321d5cfc36e40f2a649e8ea5910f4082
|
|||
const OpenURLParams& params) {
|
||||
return nullptr;
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 04aa4d993b331396ee20464f6e1d2da10c91c834..2556c044b6e28501a5fac9b0040e623b8f35f497 100644
|
||||
index 348dcde05d71e7d16e4c7bb1d8d9f8718070e669..5a9cc64d6e0d9d01f5dc133c7fcab34101bc32db 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -16,6 +16,7 @@
|
||||
|
@ -150,18 +150,10 @@ index 04aa4d993b331396ee20464f6e1d2da10c91c834..2556c044b6e28501a5fac9b0040e623b
|
|||
// typically happens when popups are created.
|
||||
virtual void WebContentsCreated(WebContents* source_contents,
|
||||
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
||||
index 03b637c4d3a68a2bff5a4e06f421f23f97f40911..6235fd626a377643851dbb98d4d089e5a59366db 100644
|
||||
index 9b42426f878a741290c89fb6b641b6c44423aa6f..d0c99c26116f6affc801ac59657b89c2ae159a0c 100644
|
||||
--- a/content/renderer/render_view_impl.cc
|
||||
+++ b/content/renderer/render_view_impl.cc
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "third_party/blink/public/mojom/page/page.mojom.h"
|
||||
#include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h"
|
||||
#include "third_party/blink/public/platform/url_conversion.h"
|
||||
+#include "third_party/blink/public/platform/web_url_request_util.h"
|
||||
#include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h"
|
||||
#include "third_party/blink/public/web/web_frame_widget.h"
|
||||
#include "third_party/blink/public/web/web_local_frame.h"
|
||||
@@ -302,6 +303,10 @@ WebView* RenderViewImpl::CreateView(
|
||||
@@ -308,6 +308,10 @@ WebView* RenderViewImpl::CreateView(
|
||||
/*openee_can_access_opener_origin=*/true, !creator->IsAllowedToDownload(),
|
||||
creator->IsAdSubframe());
|
||||
|
||||
|
@ -220,14 +212,15 @@ index 34570168ccb123f5102dcf8fa6bbf98e7c373ec6..192701e56d258da41b3724292853885e
|
|||
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
index a25203186cc2df437fe3f9fe309599d86284aefb..b288472c5a00d76077859f02c0e1abca826aa8be 100644
|
||||
index fd6118fd28df7ea3f86f7fff6ed7ae7b0517777b..a1cb624589a302340d152a1389adac26d5c6d6ee 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2093,6 +2093,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
|
||||
@@ -2101,6 +2101,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
WebWindowFeatures window_features =
|
||||
GetWindowFeaturesFromString(features, incumbent_window);
|
||||
+ window_features.raw_features = features;
|
||||
GetWindowFeaturesFromString(features, entered_window);
|
||||
|
||||
+ window_features.raw_features = features;
|
||||
+
|
||||
// In fenced frames, we should always use `noopener`.
|
||||
if (GetFrame()->IsInFencedFrameTree()) {
|
||||
window_features.noopener = true;
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Shelley Vohr <shelley.vohr@gmail.com>
|
||||
Date: Mon, 5 Oct 2020 13:43:59 -0700
|
||||
Subject: chore: expose v8 initialization isolate callbacks
|
||||
|
||||
This commit is necessary in order to ensure consistent behavior from
|
||||
v8 Isolate callbacks in contexts which Node.js does not control. If
|
||||
we're running with contextIsolation enabled, we should be falling back
|
||||
to Blink's logic. This will be upstreamed in some form.
|
||||
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
index f417dca0103ddfd8ce6e3b3a4d033ea42133604e..d0ee37d147243858d997be230c12ea3e41e6c873 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
@@ -448,8 +448,9 @@ CodeGenerationCheckCallbackInMainThread(v8::Local<v8::Context> context,
|
||||
return {true, std::move(stringified_source)};
|
||||
}
|
||||
|
||||
-bool V8Initializer::WasmCodeGenerationCheckCallbackInMainThread(v8::Local<v8::Context> context,
|
||||
- v8::Local<v8::String> source) {
|
||||
+bool V8Initializer::WasmCodeGenerationCheckCallbackInMainThread(
|
||||
+ v8::Local<v8::Context> context,
|
||||
+ v8::Local<v8::String> source) {
|
||||
if (ExecutionContext* execution_context = ToExecutionContext(context)) {
|
||||
if (ContentSecurityPolicy* policy =
|
||||
execution_context->GetContentSecurityPolicy()) {
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h b/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
|
||||
index 932c6aad3df51dd6790e55bf708703767843dc5e..6865fd33e62f766c5a162ded8627c332bf2ed173 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
|
||||
@@ -69,8 +69,8 @@ class CORE_EXPORT V8Initializer {
|
||||
static void MessageHandlerInWorker(v8::Local<v8::Message>,
|
||||
v8::Local<v8::Value>);
|
||||
static bool WasmCodeGenerationCheckCallbackInMainThread(
|
||||
- v8::Local<v8::Context> context,
|
||||
- v8::Local<v8::String> source);
|
||||
+ v8::Local<v8::Context> context,
|
||||
+ v8::Local<v8::String> source);
|
||||
};
|
||||
|
||||
} // namespace blink
|
|
@ -35,7 +35,7 @@ index 5b4d70991e19edcdfee731c56251932bf43e535f..4d996e3821410b2325ef85499f8c307c
|
|||
|
||||
#endif // CHROME_BROWSER_ANDROID_DOCUMENT_DOCUMENT_WEB_CONTENTS_DELEGATE_H_
|
||||
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
||||
index 370a2eaf18f86e16d4198a4f0001f96abfebad07..72f7032a8fe2011a0bd80d557e661fc487c3b876 100644
|
||||
index 3289268d3ddb3fbb625b8498c2f84370c37acdff..89920af3e44257b6091bb558537fe07d2bb2d899 100644
|
||||
--- a/chrome/browser/media/offscreen_tab.cc
|
||||
+++ b/chrome/browser/media/offscreen_tab.cc
|
||||
@@ -285,8 +285,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
|
||||
|
@ -63,7 +63,7 @@ index faa684c429e8cd5817c043db48dcbea33c6c8782..8b5991bc8279585cc0749f6816aa8a03
|
|||
content::RenderFrameHost* requesting_frame,
|
||||
const blink::mojom::FullscreenOptions& options) final;
|
||||
diff --git a/chrome/browser/ui/ash/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc
|
||||
index 2c877ddbb8c1448a73c0f0e0af27c7fecb1b7848..e1dfc70c951dd004dd8b37607dc8840b804a1e54 100644
|
||||
index 268355f22577cf21926e209a9fcdb3f52314f2ac..80f998cdb10d9955e438ba5ef4599b35c448fae2 100644
|
||||
--- a/chrome/browser/ui/ash/ash_web_view_impl.cc
|
||||
+++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
|
||||
@@ -84,10 +84,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
|
||||
|
@ -94,7 +94,7 @@ index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9
|
|||
content::WebContents* source,
|
||||
const content::OpenURLParams& params) override;
|
||||
diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||
index caa6c2dbc6dbf87081da9a2e5c42e9ac2e60c77f..ac0b7dbee8195be8c165444a141629475e97a107 100644
|
||||
index 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c4887cdd382 100644
|
||||
--- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||
+++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||
@@ -71,8 +71,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
|
||||
|
@ -108,10 +108,10 @@ index caa6c2dbc6dbf87081da9a2e5c42e9ac2e60c77f..ac0b7dbee8195be8c165444a14162947
|
|||
}
|
||||
|
||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||
index 706684de51b047abf2a355416a6361b7ed8542c9..5ccbde951b833bd9413a5c3506da5d982fb3b58e 100644
|
||||
index 458af711eda586adbc4efc515da6a21e62879cfc..221ec7acca678060f0f152d4fee32d3378875bc1 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -1795,12 +1795,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -1794,12 +1794,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -127,10 +127,10 @@ index 706684de51b047abf2a355416a6361b7ed8542c9..5ccbde951b833bd9413a5c3506da5d98
|
|||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index 1f02e2e3d3f510b52089fbc835c6401ed693f1b9..6116970cb65bb7699759fad4351497ab057e25c0 100644
|
||||
index 87859f4741386c967a0568273a2fd16ad26c4a96..8265417dcf7397b2eb37e997547d1e8cfd977509 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -836,8 +836,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -839,8 +839,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -218,7 +218,7 @@ index 2930898b03d7b7ef86d13733cec3cbe84105c166..76625339f42a867c8b68840253e91648
|
|||
void SetContentsBounds(content::WebContents* source,
|
||||
const gfx::Rect& bounds) override;
|
||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
index 9f46f0b26a0ea42d6bd36e7ec7459a1b2d9c789e..874b7c8d779f471214507417e35449c66b70c97d 100644
|
||||
index 186711550a45f4bf383cdceeabac9e1f46aeca89..df1ecec4bf56de72a6164644d3094557a7a52896 100644
|
||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
@@ -83,8 +83,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
||||
|
@ -246,10 +246,10 @@ index c6bd5c19f8a7ceec17c9e32af5296a9617f3a619..02199b439fba7fdc617b7f7980d958b7
|
|||
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 6f09c04cc612d2ac58b62d44516eefa1b66d145c..407f734b77d1ed4876f01327df958847d60e9128 100644
|
||||
index 686fc99becf068106cc9fb372d2dce1e8d8c5114..eb94d05bf03d04b508123675c31957b8d22ee13a 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3860,8 +3860,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -3882,8 +3882,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
|
||||
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
||||
source_site_instance, params.window_container_type,
|
||||
|
@ -260,7 +260,7 @@ index 6f09c04cc612d2ac58b62d44516eefa1b66d145c..407f734b77d1ed4876f01327df958847
|
|||
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
||||
opener, source_site_instance, is_new_browsing_instance,
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index 321d5cfc36e40f2a649e8ea5910f4082b71b62e1..e78e2aad4f13d7810027b65f321691091611fd2d 100644
|
||||
index 99e8449e9c515dd70ed88546a71f83ae139178fe..4f395474d3e0e1bf7a594fe3fa3e4cb53327aa69 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -134,8 +134,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||
|
@ -274,7 +274,7 @@ index 321d5cfc36e40f2a649e8ea5910f4082b71b62e1..e78e2aad4f13d7810027b65f32169109
|
|||
}
|
||||
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 2556c044b6e28501a5fac9b0040e623b8f35f497..4c6cd654551b2f5cfd59a5271a8d95a9e6862d3c 100644
|
||||
index 5a9cc64d6e0d9d01f5dc133c7fcab34101bc32db..166e506f1afbcb1a3a661479d489e71d8d8ff552 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -317,8 +317,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
|
@ -288,7 +288,7 @@ index 2556c044b6e28501a5fac9b0040e623b8f35f497..4c6cd654551b2f5cfd59a5271a8d95a9
|
|||
// Allow delegate to creates a custom WebContents when
|
||||
// WebContents::CreateNewWindow() is called. This function is only called
|
||||
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
index bddbd37ca73369adb82dad5bb8b25f0ab2a7f878..9bf28cd7f926f41041f40d4bc0a497c8b8730b86 100644
|
||||
index 8349c8cb2078d09c9550024ae5ca845bdebfbd35..e3763eaa2c6f7ce842cf8964bf5590efd3892c61 100644
|
||||
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
@@ -213,8 +213,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
|
||||
|
@ -316,7 +316,7 @@ index 7350382146178f58960a9bf68cd959076d2d9790..a70a94d14bdfa993feab60b8e4f32e10
|
|||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
index b652f1f30ce7043a0c8434d05a3b1da653aee1fc..259c62c60f302abebf167709b4a1c68ad5607129 100644
|
||||
index aef9d1a79fcea0e73541cf8257b498e167c9dfeb..1f0c4209d1c6be31e1abd6bcfcaf181fd2d4858c 100644
|
||||
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
@@ -402,8 +402,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
|
||||
|
@ -343,11 +343,11 @@ index ef6faf317dd4168adf6fd530a7da0b80f9166dec..f401659a81d4aeaf71039d71eb8fec48
|
|||
content::WebContents* CreateCustomWebContents(
|
||||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/fuchsia/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc
|
||||
index d815a972b079676e900be8e312909832ae81bde8..ae28b864fcc2f10007ce33774d2d787c91d65f41 100644
|
||||
--- a/fuchsia/engine/browser/frame_impl.cc
|
||||
+++ b/fuchsia/engine/browser/frame_impl.cc
|
||||
@@ -406,8 +406,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
index 5b804b3ad089154424eda6eb58edbb24baf67794..7f055a37080f40dede16dfa7b7ad6b3c31c5282d 100644
|
||||
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
@@ -412,8 +412,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -357,11 +357,11 @@ index d815a972b079676e900be8e312909832ae81bde8..ae28b864fcc2f10007ce33774d2d787c
|
|||
// Specify a generous upper bound for unacknowledged popup windows, so that we
|
||||
// can catch bad client behavior while not interfering with normal operation.
|
||||
constexpr size_t kMaxPendingWebContentsCount = 10;
|
||||
diff --git a/fuchsia/engine/browser/frame_impl.h b/fuchsia/engine/browser/frame_impl.h
|
||||
index 50631a4db62448699e7701f7b4e950e8058896ae..13ba38e1cae39ea46e64313c6a9312e504603bbb 100644
|
||||
--- a/fuchsia/engine/browser/frame_impl.h
|
||||
+++ b/fuchsia/engine/browser/frame_impl.h
|
||||
@@ -309,8 +309,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
|
||||
diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
|
||||
index 0661fd642dcee69a7c8f955490dadf32dc0eb468..e3fa74da87513fbfcd035fa872dc938db96c2766 100644
|
||||
--- a/fuchsia_web/webengine/browser/frame_impl.h
|
||||
+++ b/fuchsia_web/webengine/browser/frame_impl.h
|
||||
@@ -310,8 +310,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
@ -372,10 +372,10 @@ index 50631a4db62448699e7701f7b4e950e8058896ae..13ba38e1cae39ea46e64313c6a9312e5
|
|||
int opener_render_process_id,
|
||||
int opener_render_frame_id,
|
||||
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
||||
index 899b8beabdf1131a08583470ace5b468576eeab6..21ab4ae22c54846af78518e897dc23ebe4ce8317 100644
|
||||
index 807879aa4894e5fabe043d07d5899e5700a7c172..5044c462ccfeaeb4aeb2dd3189e40e60c835ed73 100644
|
||||
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
||||
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
||||
@@ -177,8 +177,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
||||
@@ -179,8 +179,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
|
|
@ -13,7 +13,7 @@ Ultimately we should remove the option to disable compression, and
|
|||
subsequently remove this patch.
|
||||
|
||||
diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc
|
||||
index 2eb52b71d7ebc7525cceffbecc99db6751429afd..d3ff2942d831745efed440be0fe1e82441a39ff7 100644
|
||||
index a372e9bb12f9cec6235fe529d73b6e0009328038..58f6f559265d0da5e6ca4c711df4b1dbf3d40e38 100644
|
||||
--- a/components/crash/core/app/breakpad_linux.cc
|
||||
+++ b/components/crash/core/app/breakpad_linux.cc
|
||||
@@ -111,6 +111,8 @@ void SetUploadURL(const std::string& url) {
|
||||
|
|
|
@ -9,7 +9,7 @@ rate-limiting, compression and global annotations.
|
|||
This should be upstreamed.
|
||||
|
||||
diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc
|
||||
index 4ed2558351e37dde0eb35b6eb32f442346ff2490..3933fa761768b5a45891bfef4c2c2123b92fc276 100644
|
||||
index 3c28019ae3d1d8fd43e5e027fa3abe6786658885..b1f8fd4494e7f5deac078023c2e0240d701e1f13 100644
|
||||
--- a/components/crash/core/app/breakpad_linux.cc
|
||||
+++ b/components/crash/core/app/breakpad_linux.cc
|
||||
@@ -113,6 +113,7 @@ void SetUploadURL(const std::string& url) {
|
||||
|
@ -75,7 +75,7 @@ index 24e53fa62c2c4a11494ad3d43f0c5a806930fcdd..9b691baa6cc90cc3f9ada307c43f44c4
|
|||
// Used by WebView to sample crashes without generating the unwanted dumps. If
|
||||
// the returned value is less than 100, crash dumping will be sampled to that
|
||||
diff --git a/components/crash/core/app/crashpad_linux.cc b/components/crash/core/app/crashpad_linux.cc
|
||||
index 39fb479eba509f7ba1528cafecd1c6b21f3b0e76..a28b88d078560f05fa295f29dcf8b1865839285c 100644
|
||||
index 7159bea91a25700f0cb36c48cab62fe2d616b3bd..9bcc5ae7e870c27c3533534c06daa890de5a4816 100644
|
||||
--- a/components/crash/core/app/crashpad_linux.cc
|
||||
+++ b/components/crash/core/app/crashpad_linux.cc
|
||||
@@ -170,6 +170,7 @@ bool PlatformCrashpadInitialization(
|
||||
|
@ -97,9 +97,9 @@ index 39fb479eba509f7ba1528cafecd1c6b21f3b0e76..a28b88d078560f05fa295f29dcf8b186
|
|||
+ arguments.push_back("--no-upload-gzip");
|
||||
+ }
|
||||
+
|
||||
bool result =
|
||||
client.StartHandler(handler_path, *database_path, metrics_path, url,
|
||||
annotations, arguments, false, false);
|
||||
CHECK(client.StartHandler(handler_path, *database_path, metrics_path, url,
|
||||
annotations, arguments, false, false));
|
||||
} else {
|
||||
diff --git a/components/crash/core/app/crashpad_mac.mm b/components/crash/core/app/crashpad_mac.mm
|
||||
index dc041c43371fd58e3121ef6bc423aadb644bb8d0..a1fa566775724b4a1662a939fda3f0a59bf46b96 100644
|
||||
--- a/components/crash/core/app/crashpad_mac.mm
|
||||
|
|
|
@ -8,10 +8,10 @@ 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 9aba6deb9e11ec2803f163088d1c321dd256787f..1dc24bb4c83acd2ff618b085059c918261b2a3d4 100644
|
||||
index 654219d75727c189d377cf14e25a8abdc1002204..3e243964f429c3afcb874b208c672991dd3468bf 100644
|
||||
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
@@ -1616,6 +1616,28 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1649,6 +1649,28 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
loader_factory_bundle_info =
|
||||
context()->loader_factory_bundle_for_update_check()->Clone();
|
||||
|
||||
|
@ -40,7 +40,7 @@ index 9aba6deb9e11ec2803f163088d1c321dd256787f..1dc24bb4c83acd2ff618b085059c9182
|
|||
if (base::FeatureList::IsEnabled(
|
||||
features::kEnableServiceWorkersForChromeUntrusted) &&
|
||||
scope.scheme_piece() == kChromeUIUntrustedScheme) {
|
||||
@@ -1636,9 +1658,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1669,9 +1691,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
browser_context(), scope_origin)) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
|
||||
|
|
|
@ -82,10 +82,10 @@ index 1e4a652634fbde2ca9a256baca840bbc5a0e001f..546f5bc3a2f79035f0eec196d9e704b8
|
|||
const Source& GetSource(int index) const override;
|
||||
DesktopMediaList::Type GetMediaListType() const override;
|
||||
diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
||||
index 6d8c9d940bb4488ffedc1eb8c543c065bb3953c9..d5092cb0245a4b8dc26073741f0bc6657b943bdd 100644
|
||||
index d2297c082f482219f35c3acf5bcc8dadf18bbafb..97b1589793962b2b601a78ef5118256903ee65f9 100644
|
||||
--- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
||||
+++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
||||
@@ -127,8 +127,9 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
|
||||
@@ -139,8 +139,9 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
|
@ -96,7 +96,7 @@ index 6d8c9d940bb4488ffedc1eb8c543c065bb3953c9..d5092cb0245a4b8dc26073741f0bc665
|
|||
#endif
|
||||
|
||||
} // namespace
|
||||
@@ -415,6 +416,9 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
|
||||
@@ -427,6 +428,9 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
|
||||
FROM_HERE,
|
||||
base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished,
|
||||
media_list_));
|
||||
|
@ -106,7 +106,7 @@ index 6d8c9d940bb4488ffedc1eb8c543c065bb3953c9..d5092cb0245a4b8dc26073741f0bc665
|
|||
}
|
||||
|
||||
void NativeDesktopMediaList::Worker::OnCaptureResult(
|
||||
@@ -628,6 +632,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows(
|
||||
@@ -642,6 +646,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows(
|
||||
FROM_HERE, base::BindOnce(&Worker::RefreshThumbnails,
|
||||
base::Unretained(worker_.get()),
|
||||
std::move(native_ids), thumbnail_size_));
|
||||
|
|
|
@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue
|
|||
can be found at https://github.com/electron/electron/issues/1821
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 15e33123f633b29db9937b76374ef9c03853defa..c24f24d7f53a8ed1c5614244a938f972706bdc61 100644
|
||||
index 2d21f2e408004fbaf6a19980ad5daf47493aec65..c6a0ac1c5dd98a41392bd170bb0ada7418f17453 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -308,6 +308,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;
|
||||
|
@ -39,7 +39,7 @@ index 15e33123f633b29db9937b76374ef9c03853defa..c24f24d7f53a8ed1c5614244a938f972
|
|||
(!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) ||
|
||||
!ui::win::IsAeroGlassEnabled())) {
|
||||
if (should_lock_)
|
||||
@@ -1015,6 +1020,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() {
|
||||
@@ -1051,6 +1056,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() {
|
||||
return scoped_enable;
|
||||
}
|
||||
|
||||
|
@ -51,10 +51,10 @@ index 15e33123f633b29db9937b76374ef9c03853defa..c24f24d7f53a8ed1c5614244a938f972
|
|||
// HWNDMessageHandler, gfx::WindowImpl overrides:
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
|
||||
index 3779c5028db164c70432d042876692822c7dd75c..98d4b486f978ba6e8c1641c759dc9002cea7c345 100644
|
||||
index 73337f6b14516f93500705606c89e4c7b5a55f35..6badb272496a630031592372c1a766a9d70bb26a 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.h
|
||||
+++ b/ui/views/win/hwnd_message_handler.h
|
||||
@@ -206,6 +206,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
|
||||
@@ -207,6 +207,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
|
||||
using TouchIDs = std::set<DWORD>;
|
||||
enum class DwmFrameState { kOff, kOn };
|
||||
|
||||
|
@ -64,7 +64,7 @@ index 3779c5028db164c70432d042876692822c7dd75c..98d4b486f978ba6e8c1641c759dc9002
|
|||
HICON GetDefaultWindowIcon() const override;
|
||||
HICON GetSmallWindowIcon() const override;
|
||||
diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h
|
||||
index caff85f683b7a67f14f4e66b588e40b9704c2bc3..210f39f68b839684c4ba0a4c57a76df44ddad7dc 100644
|
||||
index d8e0f1d3131aef80c9fcb6069df7d7f986af6605..5dbb192d0840ca0ded61397c399b774a8cb05cce 100644
|
||||
--- a/ui/views/win/hwnd_message_handler_delegate.h
|
||||
+++ b/ui/views/win/hwnd_message_handler_delegate.h
|
||||
@@ -46,6 +46,8 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate {
|
||||
|
|
|
@ -20,10 +20,10 @@ 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 bae9dd70c7657bf2bf66ab237d35440c14e7f6fb..796c3101103465bac8a7c177185c570dcc757fc1 100644
|
||||
index 691496d0ca6fce79c26b9da7322856b3bf06332f..4aadafbba17578cfa26a111eecd0cfaad676326d 100644
|
||||
--- a/cc/trees/layer_tree_host_impl.cc
|
||||
+++ b/cc/trees/layer_tree_host_impl.cc
|
||||
@@ -1863,6 +1863,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
|
||||
@@ -1853,6 +1853,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
|
||||
TargetColorParams LayerTreeHostImpl::GetTargetColorParams(
|
||||
gfx::ContentColorUsage content_color_usage) const {
|
||||
TargetColorParams params;
|
||||
|
@ -34,7 +34,7 @@ index bae9dd70c7657bf2bf66ab237d35440c14e7f6fb..796c3101103465bac8a7c177185c570d
|
|||
// If we are likely to software composite the resource, we use sRGB because
|
||||
// software compositing is unable to perform color conversion.
|
||||
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
|
||||
index 14a2e02d9a6edc3a7002ca43bc82c8ef98eb32b5..10abba0f0610719cc4be0ce792ce64aba43bbe04 100644
|
||||
index 5eaf2d9cab94def423be78b414179e6ccc596437..1ca8b5968350e88761d9ebc073fe8c573d0f3b5d 100644
|
||||
--- a/cc/trees/layer_tree_settings.h
|
||||
+++ b/cc/trees/layer_tree_settings.h
|
||||
@@ -93,6 +93,8 @@ class CC_EXPORT LayerTreeSettings {
|
||||
|
@ -47,7 +47,7 @@ index 14a2e02d9a6edc3a7002ca43bc82c8ef98eb32b5..10abba0f0610719cc4be0ce792ce64ab
|
|||
// Image Decode Service and raster tiles without images until the decode is
|
||||
// ready.
|
||||
diff --git a/components/viz/common/display/renderer_settings.h b/components/viz/common/display/renderer_settings.h
|
||||
index 8b0b5eda59c863efb6f4c67636810871677894c5..eea098eab3c2a5c36fab1a71d888e562e8f93da5 100644
|
||||
index bc48a50a7664f12a454997db54d893cde9b04881..810a8ce52bf9ac74f47a710f8b332980754996f5 100644
|
||||
--- a/components/viz/common/display/renderer_settings.h
|
||||
+++ b/components/viz/common/display/renderer_settings.h
|
||||
@@ -24,6 +24,7 @@ class VIZ_COMMON_EXPORT RendererSettings {
|
||||
|
@ -59,7 +59,7 @@ index 8b0b5eda59c863efb6f4c67636810871677894c5..eea098eab3c2a5c36fab1a71d888e562
|
|||
bool force_antialiasing = false;
|
||||
bool force_blending_with_shaders = false;
|
||||
diff --git a/components/viz/host/renderer_settings_creation.cc b/components/viz/host/renderer_settings_creation.cc
|
||||
index 6a830ec9f29b9764cd425f0681dafbb18d90b457..a7a095ceb9e626c79db21e0d16c8ef47da860679 100644
|
||||
index 9d34ced366026eb7cdd00ce40a4eb1af56180d39..abf67f8246bfa37df08cd2216c388dd316fb6499 100644
|
||||
--- a/components/viz/host/renderer_settings_creation.cc
|
||||
+++ b/components/viz/host/renderer_settings_creation.cc
|
||||
@@ -17,6 +17,7 @@
|
||||
|
@ -79,159 +79,11 @@ index 6a830ec9f29b9764cd425f0681dafbb18d90b457..a7a095ceb9e626c79db21e0d16c8ef47
|
|||
renderer_settings.partial_swap_enabled =
|
||||
!command_line->HasSwitch(switches::kUIDisablePartialSwap);
|
||||
|
||||
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
|
||||
index e0a8510a9e1d1475bfe92153db8cf860fbba74b5..5c01d58b3121ecf81d0971179ada834ca37d54a1 100644
|
||||
--- a/components/viz/service/display/gl_renderer.cc
|
||||
+++ b/components/viz/service/display/gl_renderer.cc
|
||||
@@ -87,6 +87,9 @@
|
||||
|
||||
using gpu::gles2::GLES2Interface;
|
||||
|
||||
+#define PATCH_CS(color_space) \
|
||||
+ (settings_->enable_color_correct_rendering ? color_space : gfx::ColorSpace())
|
||||
+
|
||||
namespace viz {
|
||||
namespace {
|
||||
|
||||
@@ -685,8 +688,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
|
||||
void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
|
||||
SetBlendEnabled(quad->ShouldDrawWithBlending());
|
||||
|
||||
- SetUseProgram(ProgramKey::DebugBorder(), gfx::ColorSpace::CreateSRGB(),
|
||||
- CurrentRenderPassColorSpace());
|
||||
+ SetUseProgram(ProgramKey::DebugBorder(),
|
||||
+ PATCH_CS(gfx::ColorSpace::CreateSRGB()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
// Use the full quad_rect for debug quads to not move the edges based on
|
||||
// partial swaps.
|
||||
@@ -1676,7 +1680,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
|
||||
params->use_color_matrix, tint_gl_composited_content_,
|
||||
params->apply_shader_based_rounded_corner &&
|
||||
ShouldApplyRoundedCorner(params->quad)),
|
||||
- params->contents_and_bypass_color_space, target_color_space);
|
||||
+ PATCH_CS(params->contents_and_bypass_color_space),
|
||||
+ PATCH_CS(target_color_space));
|
||||
}
|
||||
|
||||
void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
|
||||
@@ -2149,7 +2154,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
|
||||
SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
|
||||
tint_gl_composited_content_,
|
||||
ShouldApplyRoundedCorner(quad)),
|
||||
- CurrentRenderPassColorSpace(), CurrentRenderPassColorSpace());
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
gfx::ColorSpace quad_color_space = gfx::ColorSpace::CreateSRGB();
|
||||
SkColor4f color_f = SkColor4f::FromColor(color);
|
||||
@@ -2157,7 +2163,7 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
|
||||
// Apply color transform if the color space or source and target do not match.
|
||||
if (quad_color_space != CurrentRenderPassColorSpace()) {
|
||||
const gfx::ColorTransform* color_transform =
|
||||
- GetColorTransform(quad_color_space, CurrentRenderPassColorSpace());
|
||||
+ GetColorTransform(PATCH_CS(quad_color_space), PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
gfx::ColorTransform::TriStim col(color_f.fR, color_f.fG, color_f.fB);
|
||||
color_transform->Transform(&col, 1);
|
||||
color_f.fR = col.x();
|
||||
@@ -2379,7 +2385,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
|
||||
: NON_PREMULTIPLIED_ALPHA,
|
||||
false, false, tint_gl_composited_content_,
|
||||
ShouldApplyRoundedCorner(quad)),
|
||||
- quad_resource_lock.color_space(), CurrentRenderPassColorSpace());
|
||||
+ PATCH_CS(quad_resource_lock.color_space()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
if (current_program_->tint_color_matrix_location() != -1) {
|
||||
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
|
||||
@@ -2478,7 +2485,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
|
||||
!quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
|
||||
tint_gl_composited_content_,
|
||||
ShouldApplyRoundedCorner(quad)),
|
||||
- quad_resource_lock.color_space(), CurrentRenderPassColorSpace());
|
||||
+ PATCH_CS(quad_resource_lock.color_space()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
if (current_program_->tint_color_matrix_location() != -1) {
|
||||
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
|
||||
@@ -2588,7 +2596,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
|
||||
// The source color space should never be RGB.
|
||||
DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
|
||||
|
||||
- gfx::ColorSpace dst_color_space = CurrentRenderPassColorSpace();
|
||||
+ gfx::ColorSpace dst_color_space =
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace());
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Force sRGB output on Windows for overlay candidate video quads to match
|
||||
@@ -2769,7 +2778,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
|
||||
|
||||
SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
|
||||
ShouldApplyRoundedCorner(quad)),
|
||||
- lock.color_space(), CurrentRenderPassColorSpace());
|
||||
+ PATCH_CS(lock.color_space()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
|
||||
gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
|
||||
@@ -2840,8 +2850,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
|
||||
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
|
||||
|
||||
// Bind the program to the GL state.
|
||||
- SetUseProgram(draw_cache_.program_key, locked_quad.color_space(),
|
||||
- CurrentRenderPassColorSpace(),
|
||||
+ SetUseProgram(draw_cache_.program_key, PATCH_CS(locked_quad.color_space()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()),
|
||||
/*adjust_src_white_level=*/draw_cache_.is_video_frame,
|
||||
locked_quad.hdr_metadata());
|
||||
|
||||
@@ -3698,7 +3708,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
|
||||
const gfx::ColorSpace& dst_color_space,
|
||||
bool adjust_src_white_level,
|
||||
absl::optional<gfx::HDRMetadata> hdr_metadata) {
|
||||
- DCHECK(dst_color_space.IsValid());
|
||||
+ if (settings_->enable_color_correct_rendering) {
|
||||
+ DCHECK(dst_color_space.IsValid());
|
||||
+ }
|
||||
gfx::ColorSpace adjusted_src_color_space = src_color_space;
|
||||
|
||||
ProgramKey program_key = program_key_no_color;
|
||||
@@ -4075,9 +4087,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
|
||||
cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple);
|
||||
}
|
||||
|
||||
- *overlay_texture =
|
||||
- FindOrCreateOverlayTexture(params.quad->render_pass_id, iosurface_width,
|
||||
- iosurface_height, RootRenderPassColorSpace());
|
||||
+ *overlay_texture = FindOrCreateOverlayTexture(
|
||||
+ params.quad->render_pass_id, iosurface_width, iosurface_height,
|
||||
+ PATCH_CS(RootRenderPassColorSpace()));
|
||||
*new_bounds = gfx::RectF(updated_dst_rect.origin(),
|
||||
gfx::SizeF((*overlay_texture)->texture.size()));
|
||||
|
||||
@@ -4296,8 +4308,9 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
|
||||
|
||||
PrepareGeometry(SHARED_BINDING);
|
||||
|
||||
- SetUseProgram(ProgramKey::DebugBorder(), gfx::ColorSpace::CreateSRGB(),
|
||||
- CurrentRenderPassColorSpace());
|
||||
+ SetUseProgram(ProgramKey::DebugBorder(),
|
||||
+ PATCH_CS(gfx::ColorSpace::CreateSRGB()),
|
||||
+ PATCH_CS(CurrentRenderPassColorSpace()));
|
||||
|
||||
gfx::Transform render_matrix;
|
||||
render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
|
||||
@@ -4503,3 +4516,5 @@ bool GLRenderer::ColorTransformKey::operator<(
|
||||
}
|
||||
|
||||
} // namespace viz
|
||||
+
|
||||
+#undef PATCH_CS
|
||||
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
|
||||
index e0df775b22507336c249ed10fc0251dbbca088b8..2ba12303c28c39aa2e8f88b4a0e14a60e65b9df8 100644
|
||||
index d3375aa2370158888d35e064b9613cd696d4b45b..a7a33cfd499925c23a26a6dacc5add3d4c462d78 100644
|
||||
--- a/content/browser/gpu/gpu_process_host.cc
|
||||
+++ b/content/browser/gpu/gpu_process_host.cc
|
||||
@@ -229,6 +229,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
|
||||
@@ -228,6 +228,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
|
||||
|
||||
// Command-line switches to propagate to the GPU process.
|
||||
static const char* const kSwitchNames[] = {
|
||||
|
@ -240,7 +92,7 @@ index e0df775b22507336c249ed10fc0251dbbca088b8..2ba12303c28c39aa2e8f88b4a0e14a60
|
|||
sandbox::policy::switches::kGpuSandboxAllowSysVShm,
|
||||
sandbox::policy::switches::kGpuSandboxFailuresFatal,
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 8aa14d7cdb7edc5d53736fb959e3f9992d4fd896..da4830ccc3c3a160754dd9c89fc6292d7333ac67 100644
|
||||
index e186644f7592f7d0e827b7d8af6c31951738f6f5..5e8df8f92729ba851fe7ba8557e309a32899df93 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -199,6 +199,7 @@
|
||||
|
@ -251,7 +103,7 @@ index 8aa14d7cdb7edc5d53736fb959e3f9992d4fd896..da4830ccc3c3a160754dd9c89fc6292d
|
|||
#include "ui/gl/gl_switches.h"
|
||||
#include "url/gurl.h"
|
||||
#include "url/origin.h"
|
||||
@@ -3175,6 +3176,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
@@ -3173,6 +3174,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
// Propagate the following switches to the renderer command line (along
|
||||
// with any associated values) if present in the browser command line.
|
||||
static const char* const kSwitchNames[] = {
|
||||
|
@ -292,7 +144,7 @@ index 75d7af9a79d4e7f2cd39e45496ab5fff66407638..b4ddafdd126edd16172f00448bbbd56e
|
|||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
|
||||
index 9a5903820308299a1a480ecaaa1cbca9655f4093..705f1fce4d05694b92b4eb6de1044ae2232bb8ed 100644
|
||||
index 4f3b9b181b1998e0ebbd95955feeec28a5d6bcb7..00f2a213cded1985b3131fabf3560937c56f6ffd 100644
|
||||
--- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
|
||||
+++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
|
||||
@@ -24,6 +24,7 @@
|
||||
|
@ -303,7 +155,7 @@ index 9a5903820308299a1a480ecaaa1cbca9655f4093..705f1fce4d05694b92b4eb6de1044ae2
|
|||
#include "ui/native_theme/native_theme_features.h"
|
||||
#include "ui/native_theme/overlay_scrollbar_constants_aura.h"
|
||||
|
||||
@@ -185,6 +186,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
|
||||
@@ -178,6 +179,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
|
||||
settings.main_frame_before_activation_enabled =
|
||||
cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: fix: disabling compositor recycling
|
|||
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
index f36e046b2879c3cd24eac04b1cf5f5c62338a11f..06ca0f25bc575fa8508934fe498d599964a7f05d 100644
|
||||
index 19396ba065ebab86903e2d52dc72d22de9d6bc89..fdb09a51829db40f4bcba71e76cd0dcef16a47ad 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -513,7 +513,11 @@
|
||||
@@ -511,7 +511,11 @@
|
||||
return;
|
||||
|
||||
host()->WasHidden();
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Rose <japthorp@slack-corp.com>
|
||||
Date: Mon, 20 Jun 2022 14:53:37 -0700
|
||||
Subject: disable freezing flags after init in node
|
||||
|
||||
This was introduced in
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/3687671.
|
||||
|
||||
When running node in the renderer, flags are updated after initialization, so
|
||||
freezing the flags in Blink causes node initialization to fail.
|
||||
|
||||
If possible, it would be ideal to do this without a patch.
|
||||
https://bugs.chromium.org/p/v8/issues/detail?id=12887 suggests that there may
|
||||
at some point be an API to "unfreeze" the flags, or we may be able to refactor
|
||||
node initialization to not update flags after V8 initialization.
|
||||
|
||||
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
|
||||
index 02b4f803369202a81f2d54f3b35aef04be13dfa2..76dd21fc8e97c1a2836ae5a5a11b56334a656fe2 100644
|
||||
--- a/content/renderer/render_process_impl.cc
|
||||
+++ b/content/renderer/render_process_impl.cc
|
||||
@@ -222,7 +222,8 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering,
|
||||
"--no-wasm-dynamic-tiering");
|
||||
|
||||
- v8::V8::SetFlagsFromString("--freeze-flags-after-init");
|
||||
+ // This conflicts with node in the renderer.
|
||||
+ //v8::V8::SetFlagsFromString("--freeze-flags-after-init");
|
||||
|
||||
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
|
||||
if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) {
|
|
@ -6,7 +6,7 @@ Subject: disable_hidden.patch
|
|||
Electron uses this to disable background throttling for hidden windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 18133ca75853394e616c3a816c1eb74b7da23fd9..273750752cdef18ccd7d54b9b28c524375bb3e8d 100644
|
||||
index e3a14e47ac328261f48bcd137961a6e794d4f5af..205921ae492bf30c16869cdd7ed9605d7fdbd452 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -809,6 +809,9 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
|
@ -20,10 +20,10 @@ index 18133ca75853394e616c3a816c1eb74b7da23fd9..273750752cdef18ccd7d54b9b28c5243
|
|||
blink::mojom::PointerLockResult::kWrongDocument);
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
index 65297e78ee11fb3e7f662408f65a263f9ae8c550..62d3bef655580b1bad1077de797cdadc04721f8e 100644
|
||||
index e617a4496a5f8cfa7ca1904fea8b0c3c0ffa14f9..e5d0edc222755a20019dd1e4042b87abe3ae39d8 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -879,6 +879,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -881,6 +881,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
|
||||
SiteInstanceGroup* GetSiteInstanceGroup();
|
||||
|
||||
|
@ -34,7 +34,7 @@ index 65297e78ee11fb3e7f662408f65a263f9ae8c550..62d3bef655580b1bad1077de797cdadc
|
|||
// |routing_id| must not be MSG_ROUTING_NONE.
|
||||
// If this object outlives |delegate|, DetachDelegate() must be called when
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index dc52cc54d2a6078bef1cf9f09e8063011b4f5191..d9b9f49ea7fe9b0b6dec4ad49c112af4fc832691 100644
|
||||
index f20f35ae49d50f19bd4355defe1dfd3a20462c21..b8801f1a939aab5ea6c8db87d357c3d27c946e3c 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -592,7 +592,7 @@ void RenderWidgetHostViewAura::HideImpl() {
|
||||
|
|
|
@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we
|
|||
should continue seeking for a real fix.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
|
||||
index cfc5263749fa3068ad3699892bc4060891d7a0ef..f0aa5f66bc62efb2ea2d105d86dc3a8ea13e5eec 100644
|
||||
index 8779affce72baa97eebc68779fd3be08ba4505f8..3d2d03366a6e7776d0bd589c32c09b8bbed01b64 100644
|
||||
--- a/content/browser/renderer_host/navigator.cc
|
||||
+++ b/content/browser/renderer_host/navigator.cc
|
||||
@@ -1293,6 +1293,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1196,6 +1196,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ index cfc5263749fa3068ad3699892bc4060891d7a0ef..f0aa5f66bc62efb2ea2d105d86dc3a8e
|
|||
// If this is a same-process navigation and we have timestamps for unload
|
||||
// durations, fill those metrics out as well.
|
||||
if (params.unload_start && params.unload_end &&
|
||||
@@ -1339,6 +1340,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1246,6 +1247,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
first_before_unload_start_time)
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ index 1e54559bd5f9a2ee889b921379d70c51e902502d..6797a076b612ad4ed6d5ce7d9868d944
|
|||
using PCScan = internal::PCScan;
|
||||
const auto invocation_mode = flags & PurgeFlags::kAggressiveReclaim
|
||||
diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc
|
||||
index d51b37c8a2df11f71fa6056193100d00883db43d..b44002788cf4d4f5d754dd35dd193be233e6ebcb 100644
|
||||
index fb5df2ee7c40e93bf2ebf625b14d08044006534b..67aecdd1d70ff58eb5b1b8b67990a7448a3b1ba4 100644
|
||||
--- a/base/threading/platform_thread_posix.cc
|
||||
+++ b/base/threading/platform_thread_posix.cc
|
||||
@@ -44,6 +44,7 @@
|
||||
|
|
|
@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572
|
|||
Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393
|
||||
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 4aabe0781d9e4150dddce76a50b993d0b8da8068..4961f2db5bf80ad2b926617fe933bca4db5c82b7 100644
|
||||
index 23dcc6507ed9151f657689904bf90d3b2e8ae3d3..5c81b7882dda7d9815555b43158140f894dbbd03 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -2400,7 +2400,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
|
||||
@@ -2369,7 +2369,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
|
||||
}
|
||||
|
||||
const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: feat: enable setting aspect ratio to 0
|
|||
Make SetAspectRatio accept 0 as valid input, which would reset to null.
|
||||
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 28d01a952a31bc7df63dd70df167421c453a581c..172e250660d30d703c0c104c73f627d13797e2f4 100644
|
||||
index d7260950ca1ba9c71d9500560bc13314e78e2170..f6b37bdec2343d45447b419aeadbe2aa19493c3c 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -530,7 +530,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
|
@ -19,10 +19,10 @@ index 28d01a952a31bc7df63dd70df167421c453a581c..172e250660d30d703c0c104c73f627d1
|
|||
aspect_ratio.height());
|
||||
}
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index c24f24d7f53a8ed1c5614244a938f972706bdc61..ee465b298240a21929abd438d930b9ce8afa6ffe 100644
|
||||
index c6a0ac1c5dd98a41392bd170bb0ada7418f17453..738a56e976a510fcdb44020193cc79522bae0855 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -965,8 +965,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen) {
|
||||
@@ -1001,8 +1001,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen) {
|
||||
}
|
||||
|
||||
void HWNDMessageHandler::SetAspectRatio(float aspect_ratio) {
|
||||
|
|
|
@ -21,7 +21,7 @@ index c9b535eb083c250f4f874d8e6bd0c29ea9f3a10f..f220b8669507a4aea616b0dfbabda509
|
|||
v8::ZoneBackingAllocator* GetZoneBackingAllocator() override;
|
||||
#endif
|
||||
diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc
|
||||
index 1a41a282f054d8ca93db19dc5df7f1de14cb8e44..452372aa40947531452c7ad7226a4ee6b0adfccb 100644
|
||||
index 03cbb536f9a5a3f9aaf8fe2a5baac1d62e398e3a..2f4cf65a7b75e1dfe6c2b6e472040b2a0617b912 100644
|
||||
--- a/gin/v8_platform.cc
|
||||
+++ b/gin/v8_platform.cc
|
||||
@@ -367,6 +367,10 @@ PageAllocator* V8Platform::GetPageAllocator() {
|
||||
|
|
|
@ -33,10 +33,10 @@ index 14c71cc69388da46f62d9835e2a06fef0870da02..9481ea08401ae29ae9c1d960491b05b3
|
|||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index e351c6625fac1037040f639e55e0a2e48abf2538..1bb2e5b1d6d061961933b49bdcbe689efaeaa8f7 100644
|
||||
index 7dc2ce4577594d16930fd97ad3370e28765a0327..68bd003bee2d85536f97569df8cdc9b7875c3086 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1407,6 +1407,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -1400,6 +1400,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
std::move(network_conditions));
|
||||
}
|
||||
|
||||
|
@ -51,10 +51,10 @@ index e351c6625fac1037040f639e55e0a2e48abf2538..1bb2e5b1d6d061961933b49bdcbe689e
|
|||
// 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 620d7b7b733cc9749775c2bcabcebdedafe6ba0b..984e1f04c01006b7f038538c16ad2dd224925731 100644
|
||||
index 9d86b641760c82f145d17a4e70813cd13fad9d9c..ac38bfa5d84b838ec3bcf6cbc244868105480c98 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -298,6 +298,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -297,6 +297,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override;
|
||||
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
|
||||
mojom::NetworkConditionsPtr conditions) override;
|
||||
|
@ -63,10 +63,10 @@ index 620d7b7b733cc9749775c2bcabcebdedafe6ba0b..984e1f04c01006b7f038538c16ad2dd2
|
|||
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 0450b50b5545d9b8f9025553167bed2e78157130..1b772288816ee770ee47cb59cf6c93439729320e 100644
|
||||
index e180a77e7727acb093e12a2879c3cfb3b3771a6f..f440504f5d26b86ebe3e2a17a6374e16004f5b8b 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1090,6 +1090,9 @@ interface NetworkContext {
|
||||
@@ -1098,6 +1098,9 @@ interface NetworkContext {
|
||||
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
|
||||
NetworkConditions? conditions);
|
||||
|
||||
|
@ -77,10 +77,10 @@ index 0450b50b5545d9b8f9025553167bed2e78157130..1b772288816ee770ee47cb59cf6c9343
|
|||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index d143a82b1fd021bb03b760b91e87c7714f5395b9..3c18369ff3ab80430e21caac03373605dad64a88 100644
|
||||
index e1598a296f2f54061b7b408cc707d6727b51156f..b51f25bec1f8a79765c5b27326973da00c571f86 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -136,6 +136,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
@@ -134,6 +134,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {}
|
||||
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
|
||||
mojom::NetworkConditionsPtr conditions) override {}
|
||||
|
|
|
@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
|
|||
done in future work.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index 0529b4399959a2a2b9b0131dd8736a87fb973b0b..6870692202c40179870d7f00e20c7ce19bdb85ce 100644
|
||||
index 98c257b43cf198481bcaa8f080add28e60e7d9a2..d94a06f92bbdda28f4307dcc6a06dc2c381f274b 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -161,6 +161,7 @@
|
||||
|
@ -23,7 +23,7 @@ index 0529b4399959a2a2b9b0131dd8736a87fb973b0b..6870692202c40179870d7f00e20c7ce1
|
|||
#include "third_party/blink/renderer/platform/graphics/image.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
|
||||
@@ -1776,6 +1777,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
@@ -1790,6 +1791,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
web_view_impl->SetMaximumLegibleScale(
|
||||
prefs.default_maximum_page_scale_factor);
|
||||
|
|
|
@ -13,7 +13,7 @@ other protocols to register their streaming behavior. MultibufferDataSource::Ass
|
|||
then refers to the list so that it can correctly determine the data source's settings.
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
index 58256037e0a2485a9f8de9f4086550f39e865b2d..3456f1d55b16239698ba83d1d27beec1c3806192 100644
|
||||
index 58256037e0a2485a9f8de9f4086550f39e865b2d..30cf2ee44f6e0629e664fcf2072ad14ca186f947 100644
|
||||
--- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
+++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
@@ -10,8 +10,10 @@
|
||||
|
@ -56,7 +56,7 @@ index 58256037e0a2485a9f8de9f4086550f39e865b2d..3456f1d55b16239698ba83d1d27beec1
|
|||
+
|
||||
+ const std::string scheme = url_data_->url().scheme();
|
||||
+ for (const std::string& streaming_scheme : *GetStreamingSchemes()) {
|
||||
+ if (base::LowerCaseEqualsASCII(scheme, streaming_scheme)) {
|
||||
+ if (base::EqualsCaseInsensitiveASCII(scheme, streaming_scheme)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
|
|
|
@ -81,23 +81,23 @@ index 309422bcf85810db88a048bd0930c4072b41f234..759549f3046f4a897b597409b670bb1c
|
|||
private:
|
||||
const HWND hwnd_;
|
||||
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
|
||||
index fe988e3bbcf0c9deb5592f24fdeda3016114e3bf..da82b0458d0c87cf4de793007b826984d010cbb2 100644
|
||||
index d6cce8a676b93a67fa1a5e64d2b189c9dfa616a5..10f4ace6027c32b57f5d070026ecd9565c40b62f 100644
|
||||
--- a/components/viz/service/BUILD.gn
|
||||
+++ b/components/viz/service/BUILD.gn
|
||||
@@ -139,6 +139,8 @@ viz_component("service") {
|
||||
"display_embedder/output_surface_provider_impl.h",
|
||||
"display_embedder/server_shared_bitmap_manager.cc",
|
||||
"display_embedder/server_shared_bitmap_manager.h",
|
||||
@@ -134,6 +134,8 @@ viz_component("service") {
|
||||
"display_embedder/skia_output_surface_impl_on_gpu.h",
|
||||
"display_embedder/skia_render_copy_results.cc",
|
||||
"display_embedder/skia_render_copy_results.h",
|
||||
+ "display_embedder/software_output_device_proxy.cc",
|
||||
+ "display_embedder/software_output_device_proxy.h",
|
||||
"display_embedder/software_output_surface.cc",
|
||||
"display_embedder/software_output_surface.h",
|
||||
"display_embedder/viz_process_context_provider.cc",
|
||||
"display_embedder/vsync_parameter_listener.cc",
|
||||
diff --git a/components/viz/service/display_embedder/output_surface_provider.h b/components/viz/service/display_embedder/output_surface_provider.h
|
||||
index 77d463e683d8b8d3a202681a6884eacaab79d70d..05d51cb2637d34c073cd0025e365803633459a86 100644
|
||||
index 2e9453c18f2f6623d31b477aa856152ddacc3e23..93b6080135c08bc9d4cf7020f4fcb15c06a01a60 100644
|
||||
--- a/components/viz/service/display_embedder/output_surface_provider.h
|
||||
+++ b/components/viz/service/display_embedder/output_surface_provider.h
|
||||
@@ -39,7 +39,8 @@ class OutputSurfaceProvider {
|
||||
@@ -38,7 +38,8 @@ class OutputSurfaceProvider {
|
||||
mojom::DisplayClient* display_client,
|
||||
DisplayCompositorMemoryAndTaskController* gpu_dependency,
|
||||
const RendererSettings& renderer_settings,
|
||||
|
@ -108,26 +108,25 @@ index 77d463e683d8b8d3a202681a6884eacaab79d70d..05d51cb2637d34c073cd0025e3658036
|
|||
|
||||
} // namespace viz
|
||||
diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
index 8a277c6337d446890bb32814a68db2a9d3d3cd72..1c967969a03c985e68f744cf4815cefbdd2c0f71 100644
|
||||
index 3aaccca596c0287f56841131fc6a5878281593fc..f0fc2e11ddbb7ded1964a815f79e5a1858ac25d2 100644
|
||||
--- a/components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
+++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -23,12 +23,14 @@
|
||||
#include "components/viz/service/display_embedder/server_shared_bitmap_manager.h"
|
||||
#include "components/viz/service/display_embedder/skia_output_surface_dependency_impl.h"
|
||||
#include "components/viz/service/display_embedder/skia_output_surface_impl.h"
|
||||
+#include "components/viz/service/display_embedder/software_output_device_proxy.h"
|
||||
#include "components/viz/service/display_embedder/software_output_surface.h"
|
||||
#include "components/viz/service/display_embedder/viz_process_context_provider.h"
|
||||
#include "components/viz/service/gl/gpu_service_impl.h"
|
||||
@@ -39,6 +40,7 @@
|
||||
#include "gpu/command_buffer/client/shared_memory_limits.h"
|
||||
#include "gpu/config/gpu_finch_features.h"
|
||||
#include "gpu/ipc/common/surface_handle.h"
|
||||
#include "gpu/ipc/scheduler_sequence.h"
|
||||
#include "gpu/ipc/service/gpu_channel_manager_delegate.h"
|
||||
#include "gpu/ipc/service/image_transport_surface.h"
|
||||
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
|
||||
#include "ui/base/ui_base_switches.h"
|
||||
#include "ui/gl/gl_context.h"
|
||||
#include "ui/gl/init/gl_factory.h"
|
||||
@@ -126,7 +128,8 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -89,7 +91,8 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
mojom::DisplayClient* display_client,
|
||||
DisplayCompositorMemoryAndTaskController* gpu_dependency,
|
||||
const RendererSettings& renderer_settings,
|
||||
|
@ -137,16 +136,16 @@ index 8a277c6337d446890bb32814a68db2a9d3d3cd72..1c967969a03c985e68f744cf4815cefb
|
|||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
if (surface_handle == gpu::kNullSurfaceHandle)
|
||||
return std::make_unique<OutputSurfaceUnified>();
|
||||
@@ -138,7 +141,7 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
@@ -101,7 +104,7 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
|
||||
if (!gpu_compositing) {
|
||||
output_surface = std::make_unique<SoftwareOutputSurface>(
|
||||
- CreateSoftwareOutputDeviceForPlatform(surface_handle, display_client));
|
||||
+ CreateSoftwareOutputDeviceForPlatform(surface_handle, display_client, offscreen));
|
||||
} else if (renderer_settings.use_skia_renderer) {
|
||||
} else {
|
||||
DCHECK(gpu_dependency);
|
||||
{
|
||||
@@ -243,10 +246,22 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
@@ -139,10 +142,22 @@ std::unique_ptr<OutputSurface> OutputSurfaceProviderImpl::CreateOutputSurface(
|
||||
std::unique_ptr<SoftwareOutputDevice>
|
||||
OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
|
||||
gpu::SurfaceHandle surface_handle,
|
||||
|
@ -171,10 +170,10 @@ index 8a277c6337d446890bb32814a68db2a9d3d3cd72..1c967969a03c985e68f744cf4815cefb
|
|||
return CreateSoftwareOutputDeviceWin(surface_handle, &output_device_backing_,
|
||||
display_client);
|
||||
diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.h b/components/viz/service/display_embedder/output_surface_provider_impl.h
|
||||
index fa9bc45b5c12821789270907f73c7e6f3c0c1424..6d2ad1d88631db82f41de2852c3e9a6ad1431b2e 100644
|
||||
index be10797e6f517ae069b8bc579155440d8a110362..fb6848b70a80c9c6cda42605a8b86ffbeb2a5ec8 100644
|
||||
--- a/components/viz/service/display_embedder/output_surface_provider_impl.h
|
||||
+++ b/components/viz/service/display_embedder/output_surface_provider_impl.h
|
||||
@@ -66,12 +66,14 @@ class VIZ_SERVICE_EXPORT OutputSurfaceProviderImpl
|
||||
@@ -49,12 +49,14 @@ class VIZ_SERVICE_EXPORT OutputSurfaceProviderImpl
|
||||
mojom::DisplayClient* display_client,
|
||||
DisplayCompositorMemoryAndTaskController* gpu_dependency,
|
||||
const RendererSettings& renderer_settings,
|
||||
|
@ -190,7 +189,7 @@ index fa9bc45b5c12821789270907f73c7e6f3c0c1424..6d2ad1d88631db82f41de2852c3e9a6a
|
|||
+ bool offscreen);
|
||||
|
||||
const raw_ptr<GpuServiceImpl> gpu_service_impl_;
|
||||
const raw_ptr<gpu::CommandBufferTaskExecutor> task_executor_;
|
||||
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
index 33e12349a951ef533b964d1158f8fa124623e946..fc04bcaffefc277dd1d0cdd766168de017fedca8 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
|
@ -503,11 +502,11 @@ index 583e3e2525c753a0962d481fc67a3582df75d0e9..9416ec929bebcff7f07088e635376ef2
|
|||
waiting_on_draw_ack_ = true;
|
||||
|
||||
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
index 4e38e0f49054cef3fd1a712c89608ce39003edeb..427882f8ed0d85c6e4170b213c3a3678b60a62df 100644
|
||||
index 8eeb87e2322821ac52e4bc0000cb777d69515a2c..5a7d1501aed1f01b1b67ae156cfb927ee696f83b 100644
|
||||
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
@@ -84,7 +84,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
params->gpu_compositing, params->widget, params->renderer_settings);
|
||||
params->gpu_compositing, params->widget);
|
||||
auto output_surface = output_surface_provider->CreateOutputSurface(
|
||||
params->widget, params->gpu_compositing, display_client.get(),
|
||||
- display_controller.get(), params->renderer_settings, debug_settings);
|
||||
|
@ -550,7 +549,7 @@ index b2f873919d68633103d115d7d9550a098c1a254c..8e38831a6df15d37e5fb87d63613b7db
|
|||
|
||||
// Notifies that a swap has occurred and provides information about the pixel
|
||||
diff --git a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
|
||||
index a9a0e5a1167b2018e6dc206ecb7d37aad94042aa..3997ecb0228914144d6b04595c47376679fca3ef 100644
|
||||
index 3c495dfe499e1bae90fa0d576d5f58f1300c17fa..678700882d379f528ee1d77819b063cfdcdad036 100644
|
||||
--- a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
|
||||
+++ b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
|
||||
@@ -32,6 +32,7 @@ struct RootCompositorFrameSinkParams {
|
||||
|
@ -573,7 +572,7 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549
|
|||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||
};
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index 80bff73a5886e8e79d7d91de5e27bc747fcfce02..8bc43d1359fa2551713992d6ccb73949743dde2e 100644
|
||||
index 68332e455e2d44efac75253179f3b78d7ce0717a..0ec6343dd574078d381155238ddc2f1d0abb5323 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -83,6 +83,7 @@ class DisplayPrivate;
|
||||
|
@ -611,7 +610,7 @@ index 80bff73a5886e8e79d7d91de5e27bc747fcfce02..8bc43d1359fa2551713992d6ccb73949
|
|||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -476,6 +490,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -479,6 +493,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
|
||||
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ index ef3e8e68621402db5a97977f49ac74c438b0a563..aa1c1bcf7ca30adde4c25ed9bd8ed8a7
|
|||
// browser decide.
|
||||
// Note: this is an enum of type PreviewsState.
|
||||
diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom
|
||||
index 4c4cc16db82d7434573f7740855fbe72d68815e6..f71290800b6bb51a39b1f86be36f02d602ac3397 100644
|
||||
index 5a0cc45fb7b695bef46e475232adb70893299b96..156073daca8c69e05b478e8365b812321af1bf19 100644
|
||||
--- a/services/network/public/mojom/url_response_head.mojom
|
||||
+++ b/services/network/public/mojom/url_response_head.mojom
|
||||
@@ -8,6 +8,7 @@ import "mojo/public/mojom/base/time.mojom";
|
||||
|
@ -103,10 +103,10 @@ index 4c4cc16db82d7434573f7740855fbe72d68815e6..f71290800b6bb51a39b1f86be36f02d6
|
|||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 8137159de740809e44bc3a3dc18c842455a6795d..7292a40382fffcc96998b04696f4a2934a2da9ee 100644
|
||||
index c1f5c1e8c4eab221ac4e2de312ade85fa41ab803..152c69b657a3fe549dd2ce7e6e9b9c4019554bdf 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -468,6 +468,7 @@ URLLoader::URLLoader(
|
||||
@@ -605,6 +605,7 @@ URLLoader::URLLoader(
|
||||
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
|
||||
base::SequencedTaskRunnerHandle::Get()),
|
||||
per_factory_corb_state_(context.GetMutableCorbState()),
|
||||
|
@ -114,7 +114,7 @@ index 8137159de740809e44bc3a3dc18c842455a6795d..7292a40382fffcc96998b04696f4a293
|
|||
devtools_request_id_(request.devtools_request_id),
|
||||
request_mode_(request.mode),
|
||||
request_credentials_mode_(request.credentials_mode),
|
||||
@@ -620,7 +621,7 @@ URLLoader::URLLoader(
|
||||
@@ -799,7 +800,7 @@ URLLoader::URLLoader(
|
||||
url_request_->SetRequestHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this)));
|
||||
|
||||
|
@ -123,7 +123,7 @@ index 8137159de740809e44bc3a3dc18c842455a6795d..7292a40382fffcc96998b04696f4a293
|
|||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -1347,6 +1348,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -1531,6 +1532,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
|
@ -144,10 +144,10 @@ index 8137159de740809e44bc3a3dc18c842455a6795d..7292a40382fffcc96998b04696f4a293
|
|||
|
||||
// Parse and remove the Trust Tokens response headers, if any are expected,
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index abc8ecdcd717b06552af7cf5c4e4e8f60db16ec1..4f633b5a818388f6cfd30a15496c94dde1e2b48c 100644
|
||||
index 6bddb19e692f274afd077bd58145fcb68d59c4a2..08b95c71575e31e5b4d87e4d95ea7d7c8d318d29 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -497,6 +497,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -522,6 +522,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
|
||||
resource_scheduler_request_handle_;
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Attard <sattard@salesforce.com>
|
||||
Date: Mon, 6 Jun 2022 14:25:15 -0700
|
||||
Subject: fix: allow guest webcontents to enter fullscreen
|
||||
|
||||
This can be upstreamed, a guest webcontents can't technically become the focused webContents. This DCHECK should allow all guest webContents to request fullscreen entrance.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 035aa45845d56d0a8edaa693689bb27e6cd3b158..26cfaa4c20794649dcbd5610796031a0f966e3c0 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3413,7 +3413,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
|
||||
DCHECK(CanEnterFullscreenMode(requesting_frame, options));
|
||||
DCHECK(requesting_frame->IsActive());
|
||||
- DCHECK(ContainsOrIsFocusedWebContents());
|
||||
+ DCHECK(ContainsOrIsFocusedWebContents() || IsGuest());
|
||||
|
||||
if (delegate_) {
|
||||
delegate_->EnterFullscreenModeForTab(requesting_frame, options);
|
|
@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
|
|||
BrowserWindow.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index ee465b298240a21929abd438d930b9ce8afa6ffe..83702d83078b68047f4464613033bc25cee21791 100644
|
||||
index 738a56e976a510fcdb44020193cc79522bae0855..7c7952755317a8069becfff58ca5ec89e2266ce4 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3625,6 +3625,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
@@ -3661,6 +3661,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
|
||||
min_window_size = delegate_->DIPToScreenSize(min_window_size);
|
||||
max_window_size = delegate_->DIPToScreenSize(max_window_size);
|
||||
|
|
|
@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem
|
|||
or support it enough to fix the crash.
|
||||
|
||||
diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
index 41e9cb083e2abfc48976f21e4ca45d175671f69f..90cd537d117894cb73af61787d7085fcedeaebbd 100644
|
||||
index a22dd8209fd9c67e9c3637fee61bca5524ee51da..6e3c8da273aa4d24c32200f3d67210eb08ee3dad 100644
|
||||
--- a/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
+++ b/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
@@ -859,26 +859,12 @@ export class PDFViewerElement extends PDFViewerBaseElement {
|
||||
@@ -860,26 +860,12 @@ export class PDFViewerElement extends PDFViewerBaseElement {
|
||||
dataArray = [result.dataToSave];
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ index 41e9cb083e2abfc48976f21e4ca45d175671f69f..90cd537d117894cb73af61787d7085fc
|
|||
}
|
||||
|
||||
/**
|
||||
@@ -986,30 +972,12 @@ export class PDFViewerElement extends PDFViewerBaseElement {
|
||||
@@ -987,30 +973,12 @@ export class PDFViewerElement extends PDFViewerBaseElement {
|
||||
fileName = fileName + '.pdf';
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: fix: export zlib symbols
|
|||
This patch sets ZLIB_DLL so that we properly export zlib symbols.
|
||||
|
||||
diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn
|
||||
index ca58b86f7b5b760b8088eddfb2ab923290771e4d..5c786bccae90cfb6263cae2148a6d00c8e618b3f 100644
|
||||
index ee7483e9ef6a4ff85f8e6ac966d6e6c1e669dcf6..54d42304d84e1a25bb8b690282ff8268626eb5ad 100644
|
||||
--- a/third_party/zlib/BUILD.gn
|
||||
+++ b/third_party/zlib/BUILD.gn
|
||||
@@ -314,6 +314,10 @@ component("zlib") {
|
||||
@@ -316,6 +316,10 @@ component("zlib") {
|
||||
defines = []
|
||||
deps = []
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta
|
|||
to users. We should try to upstream this.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
|
||||
index 13253163b54c86b37c7b5654b674c5f920c81272..82c4963605707a0fa56b01b572c0ef9b0d093565 100644
|
||||
index a44f6d7364ad26965e84a432ae376fa922af5fec..7279dc98acdece8658fbc7e2b343f53299234741 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.h
|
||||
+++ b/content/browser/web_contents/web_contents_impl.h
|
||||
@@ -1820,7 +1820,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
@@ -1823,7 +1823,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
// IncrementCapturerCount() is destructed.
|
||||
void DecrementCapturerCount(bool stay_hidden,
|
||||
bool stay_awake,
|
||||
|
@ -21,10 +21,10 @@ index 13253163b54c86b37c7b5654b674c5f920c81272..82c4963605707a0fa56b01b572c0ef9b
|
|||
// Calculates the PageVisibilityState for |visibility|, taking the capturing
|
||||
// state into account.
|
||||
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
|
||||
index d5c2a922bba0ff0d5a4a22d9cd25be46fd09d4e1..86eefb4d6e2d571965be9f40269b7f4fc633d26e 100644
|
||||
index a99435a0a9c1c4e26a53d513f180a07f8308cbc9..273bf488259f7a85b01182edae2d609c32a55ba0 100644
|
||||
--- a/content/public/browser/web_contents.h
|
||||
+++ b/content/public/browser/web_contents.h
|
||||
@@ -673,6 +673,10 @@ class WebContents : public PageNavigator,
|
||||
@@ -672,6 +672,10 @@ class WebContents : public PageNavigator,
|
||||
bool stay_awake,
|
||||
bool is_activity = true) = 0;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ This tweaks Chrome's Accessibility support at chrome://accessibility
|
|||
to make it usable from Electron by removing Profile references.
|
||||
|
||||
diff --git a/chrome/browser/accessibility/accessibility_ui.cc b/chrome/browser/accessibility/accessibility_ui.cc
|
||||
index 35568a00ef94ca0db2cbb0325634ce8d2a881e12..a8ea8eaabb7cf3248b19af93bf5002f88e23fd8d 100644
|
||||
index 82794034de0fccde58d04acbe6a799ba5cd57619..505376836fb93df7ebececab0e4f8fe8299fe9e8 100644
|
||||
--- a/chrome/browser/accessibility/accessibility_ui.cc
|
||||
+++ b/chrome/browser/accessibility/accessibility_ui.cc
|
||||
@@ -22,7 +22,10 @@
|
||||
|
|
|
@ -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 c8f2abaf2991b415b117604d37e8fb8abded00a3..41b09cb5c3a73f72178db9efcf883bd04fe68d6d 100644
|
||||
index 398358851f4ec3d1373091c352fe864b8901f08b..0fadcf6eb5aa9e7e6ca32ec252f1722ab87b6be9 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_manager.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
|
||||
@@ -3217,6 +3217,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
||||
@@ -3203,6 +3203,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
||||
request->ResetStateForSiteInstanceChange();
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ index c8f2abaf2991b415b117604d37e8fb8abded00a3..41b09cb5c3a73f72178db9efcf883bd0
|
|||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 4e069af9256eb106b50e84d1243c92353daf2015..8e8ba0a946c3382045691b788566885fb0e41ce5 100644
|
||||
index 2f786efe35ebdff7061118a14247859ed30eeb2a..6453286e79ac9edb6566c7db605ef2e3bfa7feb5 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -271,6 +271,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
|
|
|
@ -38,7 +38,7 @@ index 20cfc2257e9ba25ec3f39f19db952ba6b6036c72..4efc13c79ae742fa1925d06431862745
|
|||
// 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 ec8de596ca5028e9d8c722cda082f0df668359ed..899ebbb1c2ba8d57532a1af43fcd5d44ac3a2de0 100644
|
||||
index d04aa76f6667c941637de26998b52b4b2f0d2802..1b41c6ad5681ee85250b27cb9d221995ca1e4b7f 100644
|
||||
--- a/gin/v8_initializer.cc
|
||||
+++ b/gin/v8_initializer.cc
|
||||
@@ -353,7 +353,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
|
||||
|
|
|
@ -40,10 +40,10 @@ index 0a01900683c73778565f9059b293bbe863d2d070..cd4e58f73e7d5bd0f9f41b1ec6303166
|
|||
void UpdateDawnInfo(const std::vector<std::string>& dawn_info_list);
|
||||
|
||||
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
|
||||
index 260a2d4ef5df85291eda27a0f7066646d31dacfe..1f83ab4a9b22b35dd2b9053553121b49e1c42ca1 100644
|
||||
index 88b4436d618d8b110ead2b739f1249232698f218..20376095d83cfaf838992cb720f369c98ba816d1 100644
|
||||
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
|
||||
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
|
||||
@@ -1232,6 +1232,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() {
|
||||
@@ -1235,6 +1235,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() {
|
||||
if (host)
|
||||
host->ForceShutdown();
|
||||
}
|
||||
|
|
|
@ -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 4ab466ef86340e97707bc5b14e0f0e67997c52a6..03d0b2f126c69df7af42095725a4f89880f0d634 100644
|
||||
index 626187e49ef53b5d74aa91dcf14821672a8f62b5..86f0e29fab782e5ebcf5977739dc6b72cf3c6b0a 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -955,6 +955,11 @@
|
||||
@@ -959,6 +959,11 @@
|
||||
"includes": [4960],
|
||||
},
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ index 349043f8a3cfc9f91cbae951e74258799a4fd126..0f7e3e544f524a7ad6660b54912cb119
|
|||
# on GTK.
|
||||
"//examples:peerconnection_client",
|
||||
diff --git a/ui/ozone/platform/x11/BUILD.gn b/ui/ozone/platform/x11/BUILD.gn
|
||||
index b1180a85530a7dd65022e174fe335ede0c7c55ca..c12133d82b111d37c8bac92980c22e406125c8df 100644
|
||||
index 52c52a8425fb2940d77cc6a0f73414aff3b32ec6..6432c01da49b89ef9d5c1123dd7f191b48184032 100644
|
||||
--- a/ui/ozone/platform/x11/BUILD.gn
|
||||
+++ b/ui/ozone/platform/x11/BUILD.gn
|
||||
@@ -6,7 +6,7 @@ import("//build/config/chromeos/ui_mode.gni")
|
||||
|
|
|
@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
|
|||
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
|
||||
|
||||
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
||||
index 3a4bbeb6233f2735d5354c3faaeaef71c0f892a1..2a6891fb0af06d418fd3dc9ff7595f4b898c55df 100755
|
||||
index 32a309a31994453c413b5bf78991fc1a1b0ec60b..b42d000283d52b72a7b85428e68b06a2a52d2a57 100755
|
||||
--- a/tools/clang/scripts/update.py
|
||||
+++ b/tools/clang/scripts/update.py
|
||||
@@ -302,6 +302,8 @@ def GetDefaultHostOs():
|
||||
|
|
|
@ -21,7 +21,7 @@ index 9008af973427d7dab8170449bc5767cebc9d2e9e..e312287e4aca61b51a69c8413088f56f
|
|||
properties->supports_global_application_menus = true;
|
||||
properties->app_modal_dialogs_use_event_blocker = true;
|
||||
diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
|
||||
index 22ba32317a74df24249d1528dcaaa28ff18bd0f4..fa57f97520a0327be2c7f5179591ca61b801c8b0 100644
|
||||
index df6b551b94bd4e04f4c0d6e976c68cc187a57d85..3b6dd20277af88568cdb17a7fddf89bdf89b5640 100644
|
||||
--- a/ui/ozone/public/ozone_platform.h
|
||||
+++ b/ui/ozone/public/ozone_platform.h
|
||||
@@ -132,6 +132,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
|
||||
|
|
|
@ -9,10 +9,10 @@ but due to the nature of electron, we need to load the v8 snapshot
|
|||
in the browser process.
|
||||
|
||||
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
|
||||
index 4ea2ad7697bd4531f9538c16778b76ed7b439d74..bdc2e97e41705abe0f7b259635842c4f2e122b41 100644
|
||||
index 892ed9c63346595376ea89bd8161bd66bb43459a..328f8b800c36544f7906536416ac61dc87cc45d3 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -251,11 +251,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {
|
||||
@@ -253,11 +253,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {
|
||||
|
||||
bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
const std::string& process_type) {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: mas: avoid usage of CGDisplayUsesForceToGray
|
|||
Removes usage of the CGDisplayUsesForceToGray private API.
|
||||
|
||||
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
||||
index 596084265973b955a02c87babdefd43c7a1fc8e3..747718d5a0f58911e3f5f6e7a04a0a8d22238627 100644
|
||||
index fc2ac4583bafd1847fd8dfe3fccbdf4eb40bd929..50fb6b583f84623bd8a146d9476cdf7989627d8a 100644
|
||||
--- a/ui/display/mac/screen_mac.mm
|
||||
+++ b/ui/display/mac/screen_mac.mm
|
||||
@@ -159,7 +159,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
||||
@@ -269,7 +269,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
||||
display.set_color_depth(Display::kDefaultBitsPerPixel);
|
||||
display.set_depth_per_component(Display::kDefaultBitsPerComponent);
|
||||
}
|
||||
|
|
|
@ -95,11 +95,11 @@ index 67ebc56bd7ee267c03a5543e10a6a41042fcaa38..af3ed27dea51c22ab32ce14686dd7807
|
|||
// The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that
|
||||
// can only be accomplished by overriding methods.
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
index 773158df97f36f69d2226c9ae748aa5eaade0c0b..ee17b53daf9e9c5b53f42704efbb565aeb8bfb01 100644
|
||||
index 48c86f5aa9578545f43b04b520e9f1dd92d224c5..fc57c47fe6afaabf363c9efdf75f60e866244fdb 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
@@ -16,7 +16,9 @@
|
||||
#import "ui/base/cocoa/window_size_constants.h"
|
||||
@@ -77,7 +77,9 @@ void OrderChildWindow(NSWindow* child_window,
|
||||
} // namespace
|
||||
|
||||
@interface NSWindow (Private)
|
||||
+#ifndef MAS_BUILD
|
||||
|
@ -108,7 +108,7 @@ index 773158df97f36f69d2226c9ae748aa5eaade0c0b..ee17b53daf9e9c5b53f42704efbb565a
|
|||
- (BOOL)hasKeyAppearance;
|
||||
- (long long)_resizeDirectionForMouseLocation:(CGPoint)location;
|
||||
- (BOOL)_isConsideredOpenForPersistentState;
|
||||
@@ -48,6 +50,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event {
|
||||
@@ -109,6 +111,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event {
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -117,7 +117,7 @@ index 773158df97f36f69d2226c9ae748aa5eaade0c0b..ee17b53daf9e9c5b53f42704efbb565a
|
|||
@implementation NativeWidgetMacNSWindowTitledFrame
|
||||
- (void)mouseDown:(NSEvent*)event {
|
||||
if (self.window.isMovable)
|
||||
@@ -74,6 +78,8 @@ - (BOOL)usesCustomDrawing {
|
||||
@@ -135,6 +139,8 @@ - (BOOL)usesCustomDrawing {
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -126,7 +126,7 @@ index 773158df97f36f69d2226c9ae748aa5eaade0c0b..ee17b53daf9e9c5b53f42704efbb565a
|
|||
@implementation NativeWidgetMacNSWindow {
|
||||
@private
|
||||
base::scoped_nsobject<CommandDispatcher> _commandDispatcher;
|
||||
@@ -209,6 +215,8 @@ - (BOOL)hasViewsMenuActive {
|
||||
@@ -281,6 +287,8 @@ - (BOOL)hasViewsMenuActive {
|
||||
|
||||
// NSWindow overrides.
|
||||
|
||||
|
@ -135,7 +135,7 @@ index 773158df97f36f69d2226c9ae748aa5eaade0c0b..ee17b53daf9e9c5b53f42704efbb565a
|
|||
+ (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
|
||||
if (windowStyle & NSWindowStyleMaskTitled) {
|
||||
if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class])
|
||||
@@ -220,6 +228,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
|
||||
@@ -292,6 +300,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
|
||||
return [super frameViewClassForStyleMask:windowStyle];
|
||||
}
|
||||
|
||||
|
|
|
@ -44,10 +44,10 @@ index 306db835fe203f663b1d84dd3490b619eb3f60b2..7a41d7afe6197e0a78934206782b1063
|
|||
|
||||
} // 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 4c76aafff03b76d78ab8c84e962cf96f8fefc091..32ac66e9ac5a643f5e4ddea979bf4239d441d23f 100644
|
||||
index aa6a1a667af13a76ef299681367b31a8668d7425..949fdc533703862d02a19f08dcd26a56e7845d4a 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
|
||||
@@ -579,10 +579,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
|
||||
@@ -580,10 +580,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
|
||||
// this should be treated as an error and caught early.
|
||||
CHECK(bridged_view_);
|
||||
|
||||
|
@ -87,7 +87,7 @@ index 60e99da4a9493dbaca871b08d75341a48488a65e..3328e9e90bd4904dd404b413fd4245f4
|
|||
}
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
index 0048862cb89d519b8c1c111f923e6dd960c855d6..c7b9124462b0779ed4d1b27fe167e653bf5c6be5 100644
|
||||
index 71369b69fe03409ec0eb7fe071b1d49524748fec..9ce1e4a7efce6b39306baceac953db23e8d14240 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
@@ -49,7 +49,9 @@ class ScopedPasswordInputEnabler;
|
||||
|
@ -114,10 +114,10 @@ index 0048862cb89d519b8c1c111f923e6dd960c855d6..c7b9124462b0779ed4d1b27fe167e653
|
|||
// Used to force the NSApplication's focused accessibility element to be the
|
||||
// content::BrowserAccessibilityCocoa accessibility tree when the NSView for
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
index b72b540492abd9d9060bb06996d2d849ac580aa2..f36e046b2879c3cd24eac04b1cf5f5c62338a11f 100644
|
||||
index c3aff789a9e540eace8c6e952c617c89ff8e26ab..19396ba065ebab86903e2d52dc72d22de9d6bc89 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -254,8 +254,10 @@
|
||||
@@ -258,8 +258,10 @@
|
||||
void RenderWidgetHostViewMac::MigrateNSViewBridge(
|
||||
remote_cocoa::mojom::Application* remote_cocoa_application,
|
||||
uint64_t parent_ns_view_id) {
|
||||
|
@ -128,7 +128,7 @@ index b72b540492abd9d9060bb06996d2d849ac580aa2..f36e046b2879c3cd24eac04b1cf5f5c6
|
|||
|
||||
// Disconnect from the previous bridge (this will have the effect of
|
||||
// destroying the associated bridge), and close the receiver (to allow it
|
||||
@@ -1521,8 +1523,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1548,8 +1550,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
|
||||
gfx::NativeViewAccessible
|
||||
RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() {
|
||||
|
@ -139,7 +139,7 @@ index b72b540492abd9d9060bb06996d2d849ac580aa2..f36e046b2879c3cd24eac04b1cf5f5c6
|
|||
return [GetInProcessNSView() window];
|
||||
}
|
||||
|
||||
@@ -1566,9 +1570,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1593,9 +1597,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) {
|
||||
|
@ -151,7 +151,7 @@ index b72b540492abd9d9060bb06996d2d849ac580aa2..f36e046b2879c3cd24eac04b1cf5f5c6
|
|||
}
|
||||
|
||||
bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame(
|
||||
@@ -2063,12 +2069,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -2090,12 +2096,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
|
||||
void RenderWidgetHostViewMac::SetRemoteAccessibilityWindowToken(
|
||||
const std::vector<uint8_t>& window_token) {
|
||||
|
@ -167,7 +167,7 @@ index b72b540492abd9d9060bb06996d2d849ac580aa2..f36e046b2879c3cd24eac04b1cf5f5c6
|
|||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
|
||||
index 4c996a80ae71aee8c2d259a7eb294fe3257ad9ac..5e897496539a365a5de15073f1dccb16db3987dd 100644
|
||||
index 9de91819e2658a58b8b7a8c90fd97544e22964f0..ade6c4085720e16843faf63f43688f28057a34dc 100644
|
||||
--- a/ui/base/BUILD.gn
|
||||
+++ b/ui/base/BUILD.gn
|
||||
@@ -337,6 +337,13 @@ component("base") {
|
||||
|
|
|
@ -16,7 +16,7 @@ cases where performance improves when disabling remote CoreAnimation (remote
|
|||
CoreAnimation is really only about battery usage).
|
||||
|
||||
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
index 7fc76ecb3292a892e2aa8c117cd6302f9ce63fa6..efd5da9daf8fbe80264b8b55eafc717317ba48e6 100644
|
||||
index 506ff3c2b9a14a725d13e3933bc281d05c0b6b13..9726e2d34d6d123ad3e62d843d21b755788fc062 100644
|
||||
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
@@ -21,7 +21,9 @@
|
||||
|
@ -29,7 +29,7 @@ index 7fc76ecb3292a892e2aa8c117cd6302f9ce63fa6..efd5da9daf8fbe80264b8b55eafc7173
|
|||
@class CALayer;
|
||||
|
||||
namespace ui {
|
||||
@@ -115,7 +117,9 @@ class ImageTransportSurfaceOverlayMac : public gl::GLSurface,
|
||||
@@ -113,7 +115,9 @@ class ImageTransportSurfaceOverlayMac : public gl::GLSurface,
|
||||
base::WeakPtr<ImageTransportSurfaceDelegate> delegate_;
|
||||
|
||||
bool use_remote_layer_api_;
|
||||
|
@ -39,7 +39,7 @@ index 7fc76ecb3292a892e2aa8c117cd6302f9ce63fa6..efd5da9daf8fbe80264b8b55eafc7173
|
|||
std::unique_ptr<ui::CALayerTreeCoordinator> ca_layer_tree_coordinator_;
|
||||
|
||||
gfx::Size pixel_size_;
|
||||
@@ -210,7 +214,9 @@ class ImageTransportSurfaceOverlayMacEGL : public gl::GLSurfaceEGL,
|
||||
@@ -204,7 +208,9 @@ class ImageTransportSurfaceOverlayMacEGL : public gl::GLSurfaceEGL,
|
||||
base::WeakPtr<ImageTransportSurfaceDelegate> delegate_;
|
||||
|
||||
bool use_remote_layer_api_;
|
||||
|
@ -50,10 +50,10 @@ index 7fc76ecb3292a892e2aa8c117cd6302f9ce63fa6..efd5da9daf8fbe80264b8b55eafc7173
|
|||
|
||||
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 43be379adb3df7dc31e59319c921cd89654db57a..bc495df301751628117356c8e68b5d121828ce85 100644
|
||||
index 3378b9a6d411b853fe64e02812c329f68cbbd2ad..7b2f0b3dc28ff71ae84fe63aa9ea80c2aab75969 100644
|
||||
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm
|
||||
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
|
||||
@@ -59,6 +59,7 @@
|
||||
@@ -60,6 +60,7 @@
|
||||
ca_layer_tree_coordinator_ = std::make_unique<ui::CALayerTreeCoordinator>(
|
||||
use_remote_layer_api_, allow_av_sample_buffer_display_layer);
|
||||
|
||||
|
@ -61,7 +61,7 @@ index 43be379adb3df7dc31e59319c921cd89654db57a..bc495df301751628117356c8e68b5d12
|
|||
// Create the CAContext to send this to the GPU process, and the layer for
|
||||
// the context.
|
||||
if (use_remote_layer_api_) {
|
||||
@@ -67,6 +68,7 @@
|
||||
@@ -68,6 +69,7 @@
|
||||
options:@{}] retain]);
|
||||
[ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()];
|
||||
}
|
||||
|
@ -69,17 +69,17 @@ index 43be379adb3df7dc31e59319c921cd89654db57a..bc495df301751628117356c8e68b5d12
|
|||
}
|
||||
|
||||
ImageTransportSurfaceOverlayMac::~ImageTransportSurfaceOverlayMac() {
|
||||
@@ -146,7 +148,9 @@
|
||||
@@ -145,7 +147,9 @@
|
||||
"GLImpl", static_cast<int>(gl::GetGLImplementation()),
|
||||
"width", pixel_size_.width());
|
||||
if (use_remote_layer_api_) {
|
||||
+#ifndef MAS_BUILD
|
||||
params.ca_layer_params.ca_context_id = [ca_context_ contextId];
|
||||
params.ca_context_id = [ca_context_ contextId];
|
||||
+#endif
|
||||
} else {
|
||||
IOSurfaceRef io_surface =
|
||||
ca_layer_tree_coordinator_->GetIOSurfaceForDisplay();
|
||||
@@ -408,6 +412,7 @@
|
||||
@@ -378,6 +382,7 @@
|
||||
ca_layer_tree_coordinator_ = std::make_unique<ui::CALayerTreeCoordinator>(
|
||||
use_remote_layer_api_, allow_av_sample_buffer_display_layer);
|
||||
|
||||
|
@ -87,7 +87,7 @@ index 43be379adb3df7dc31e59319c921cd89654db57a..bc495df301751628117356c8e68b5d12
|
|||
// Create the CAContext to send this to the GPU process, and the layer for
|
||||
// the context.
|
||||
if (use_remote_layer_api_) {
|
||||
@@ -416,6 +421,7 @@
|
||||
@@ -386,6 +391,7 @@
|
||||
options:@{}] retain]);
|
||||
[ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()];
|
||||
}
|
||||
|
@ -95,12 +95,12 @@ index 43be379adb3df7dc31e59319c921cd89654db57a..bc495df301751628117356c8e68b5d12
|
|||
}
|
||||
|
||||
ImageTransportSurfaceOverlayMacEGL::~ImageTransportSurfaceOverlayMacEGL() {
|
||||
@@ -496,7 +502,9 @@
|
||||
@@ -464,7 +470,9 @@
|
||||
"GLImpl", static_cast<int>(gl::GetGLImplementation()),
|
||||
"width", pixel_size_.width());
|
||||
if (use_remote_layer_api_) {
|
||||
+#ifndef MAS_BUILD
|
||||
params.ca_layer_params.ca_context_id = [ca_context_ contextId];
|
||||
params.ca_context_id = [ca_context_ contextId];
|
||||
+#endif
|
||||
} else {
|
||||
IOSurfaceRef io_surface =
|
||||
|
|
|
@ -166,10 +166,10 @@ index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e
|
|||
|
||||
void BluetoothAdapterMac::RemovePairingDelegateInternal(
|
||||
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
||||
index 1b849df0ee4c40a765a14bfaa75720f5570d4846..1f7a4fe36a96d076ddcfd9c9f092f95132d579dc 100644
|
||||
index bf0142f0089d14e8fef22afe3d1d3916b7dccefd..cee63f36c1a802eacf878a119ab1904cf5b56d51 100644
|
||||
--- a/media/audio/BUILD.gn
|
||||
+++ b/media/audio/BUILD.gn
|
||||
@@ -173,6 +173,12 @@ source_set("audio") {
|
||||
@@ -176,6 +176,12 @@ source_set("audio") {
|
||||
"mac/scoped_audio_unit.cc",
|
||||
"mac/scoped_audio_unit.h",
|
||||
]
|
||||
|
|
|
@ -7,7 +7,7 @@ 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 812cfebfbe4f95cf38ce2fcd115a5a363f51363e..e351c6625fac1037040f639e55e0a2e48abf2538 100644
|
||||
index 872f6c27997242ce8d5fe8db155dd60516f03b5b..7dc2ce4577594d16930fd97ad3370e28765a0327 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -128,6 +128,11 @@
|
||||
|
@ -114,7 +114,7 @@ index 812cfebfbe4f95cf38ce2fcd115a5a363f51363e..e351c6625fac1037040f639e55e0a2e4
|
|||
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
|
||||
|
||||
NetworkContext::PendingCertVerify::PendingCertVerify() = default;
|
||||
@@ -733,6 +823,13 @@ void NetworkContext::SetClient(
|
||||
@@ -742,6 +832,13 @@ void NetworkContext::SetClient(
|
||||
client_.Bind(std::move(client));
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ index 812cfebfbe4f95cf38ce2fcd115a5a363f51363e..e351c6625fac1037040f639e55e0a2e4
|
|||
void NetworkContext::CreateURLLoaderFactory(
|
||||
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
|
||||
mojom::URLLoaderFactoryParamsPtr params) {
|
||||
@@ -2302,6 +2399,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -2295,6 +2392,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
std::move(cert_verifier));
|
||||
cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
@ -139,10 +139,10 @@ index 812cfebfbe4f95cf38ce2fcd115a5a363f51363e..e351c6625fac1037040f639e55e0a2e4
|
|||
|
||||
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
index bcd47e726ad4d320cac3c3341d87b9a3ca2c4065..620d7b7b733cc9749775c2bcabcebdedafe6ba0b 100644
|
||||
index 4da0446b68ff11f65df809f04209a0e0daf12015..9d86b641760c82f145d17a4e70813cd13fad9d9c 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -105,6 +105,7 @@ class URLMatcher;
|
||||
@@ -106,6 +106,7 @@ class URLMatcher;
|
||||
|
||||
namespace network {
|
||||
class CertVerifierWithTrustAnchors;
|
||||
|
@ -150,7 +150,7 @@ index bcd47e726ad4d320cac3c3341d87b9a3ca2c4065..620d7b7b733cc9749775c2bcabcebded
|
|||
class CookieManager;
|
||||
class ExpectCTReporter;
|
||||
class HostResolver;
|
||||
@@ -236,6 +237,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -237,6 +238,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
void CreateURLLoaderFactory(
|
||||
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
|
||||
mojom::URLLoaderFactoryParamsPtr params) override;
|
||||
|
@ -159,7 +159,7 @@ index bcd47e726ad4d320cac3c3341d87b9a3ca2c4065..620d7b7b733cc9749775c2bcabcebded
|
|||
void ResetURLLoaderFactories() override;
|
||||
void GetCookieManager(
|
||||
mojo::PendingReceiver<mojom::CookieManager> receiver) override;
|
||||
@@ -823,6 +826,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -824,6 +827,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
std::vector<base::OnceClosure> dismount_closures_;
|
||||
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
|
||||
|
||||
|
@ -169,10 +169,10 @@ index bcd47e726ad4d320cac3c3341d87b9a3ca2c4065..620d7b7b733cc9749775c2bcabcebded
|
|||
// CertNetFetcher is not used by the current platform, or if the actual
|
||||
// net::CertVerifier is instantiated outside of the network service.
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index cc3f99007db46a488d7f8dacd3ede4a90e1d2ae3..0450b50b5545d9b8f9025553167bed2e78157130 100644
|
||||
index 9428fe1432ee5cae0d0f812dd48878861d31e09c..e180a77e7727acb093e12a2879c3cfb3b3771a6f 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -282,6 +282,17 @@ struct NetworkContextFilePaths {
|
||||
@@ -283,6 +283,17 @@ struct NetworkContextFilePaths {
|
||||
bool trigger_migration = false;
|
||||
};
|
||||
|
||||
|
@ -190,7 +190,7 @@ index cc3f99007db46a488d7f8dacd3ede4a90e1d2ae3..0450b50b5545d9b8f9025553167bed2e
|
|||
// Parameters for constructing a network context.
|
||||
struct NetworkContextParams {
|
||||
// The user agent string.
|
||||
@@ -833,6 +844,9 @@ interface NetworkContext {
|
||||
@@ -844,6 +855,9 @@ interface NetworkContext {
|
||||
// Sets a client for this network context.
|
||||
SetClient(pending_remote<NetworkContextClient> client);
|
||||
|
||||
|
|
|
@ -31,23 +31,24 @@ index b0e64049d411305d58802fd290bb0480e9b36fee..4afcf3b7a5b841409b0e1c4c2f32fd48
|
|||
const GURL& origin,
|
||||
const GURL& document_url,
|
||||
diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc
|
||||
index a3df152caabcadaba454f73f58763a89fdea4247..ba76f2f294a2eab8581b5ef8d879cb464f14cb1f 100644
|
||||
index 0c59d3cec404bc28acd112329ebd8332cfae96a4..62f06f55ec122597af442561fb688c0f6654be6e 100644
|
||||
--- a/content/browser/notifications/blink_notification_service_impl.cc
|
||||
+++ b/content/browser/notifications/blink_notification_service_impl.cc
|
||||
@@ -82,10 +82,12 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
|
||||
@@ -83,11 +83,13 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
|
||||
BrowserContext* browser_context,
|
||||
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
|
||||
RenderProcessHost* render_process_host,
|
||||
+ RenderFrameHost* render_frame_host,
|
||||
const url::Origin& origin,
|
||||
const GURL& document_url,
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
mojo::PendingReceiver<blink::mojom::NotificationService> receiver)
|
||||
: notification_context_(notification_context),
|
||||
+ render_frame_host_(render_frame_host),
|
||||
browser_context_(browser_context),
|
||||
service_worker_context_(std::move(service_worker_context)),
|
||||
render_process_host_id_(render_process_host->GetID()),
|
||||
@@ -149,7 +151,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
|
||||
@@ -152,7 +154,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
|
||||
notification_id, std::move(event_listener_remote));
|
||||
|
||||
browser_context_->GetPlatformNotificationService()->DisplayNotification(
|
||||
|
@ -57,18 +58,18 @@ index a3df152caabcadaba454f73f58763a89fdea4247..ba76f2f294a2eab8581b5ef8d879cb46
|
|||
}
|
||||
|
||||
diff --git a/content/browser/notifications/blink_notification_service_impl.h b/content/browser/notifications/blink_notification_service_impl.h
|
||||
index dc8de24c86f1769680ce7830844d35dfef7eb7e7..fcd99361fa8c895d6bd89bacb9fb94e76969e7b2 100644
|
||||
index 20db1f61b391f7b154071f24e91fd0925e3e0df2..4816ac66d1eebe0823844b07b146707db7727c21 100644
|
||||
--- a/content/browser/notifications/blink_notification_service_impl.h
|
||||
+++ b/content/browser/notifications/blink_notification_service_impl.h
|
||||
@@ -42,6 +42,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
|
||||
@@ -43,6 +43,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
|
||||
BrowserContext* browser_context,
|
||||
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
|
||||
RenderProcessHost* render_process_host,
|
||||
+ RenderFrameHost* render_frame_host,
|
||||
const url::Origin& origin,
|
||||
const GURL& document_url,
|
||||
mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
|
||||
@@ -102,6 +103,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
@@ -104,6 +105,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
|
||||
// The notification context that owns this service instance.
|
||||
raw_ptr<PlatformNotificationContextImpl> notification_context_;
|
||||
|
||||
|
@ -77,7 +78,7 @@ index dc8de24c86f1769680ce7830844d35dfef7eb7e7..fcd99361fa8c895d6bd89bacb9fb94e7
|
|||
|
||||
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
|
||||
diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc
|
||||
index fe015fa7d7813115a2c6a23a00cb509c4c16cd93..88e04351204c786d0fc72a99ccc421f76fc26ef9 100644
|
||||
index 41fb02d532190e82d50286e2733a6c3627bf25c8..f19bb5dcb69233733125029d8f997f7343d7e04b 100644
|
||||
--- a/content/browser/notifications/blink_notification_service_impl_unittest.cc
|
||||
+++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc
|
||||
@@ -129,7 +129,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test {
|
||||
|
@ -87,30 +88,32 @@ index fe015fa7d7813115a2c6a23a00cb509c4c16cd93..88e04351204c786d0fc72a99ccc421f7
|
|||
- url::Origin::Create(GURL(kTestOrigin)),
|
||||
+ nullptr, url::Origin::Create(GURL(kTestOrigin)),
|
||||
/*document_url=*/GURL(),
|
||||
/*weak_document_ptr=*/WeakDocumentPtr(),
|
||||
notification_service_remote_.BindNewPipeAndPassReceiver());
|
||||
|
||||
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
|
||||
index fc24d16beb5a0ae61bf3123d0594287031d69ddf..6a6edfa8f919ffca815cc0f50fcde0b09067d494 100644
|
||||
index 61ac1d7760432bd1a4118c0929a35168a3e26f49..e2ce4aa910053b1a4fb52fcc1197943af95b02f6 100644
|
||||
--- a/content/browser/notifications/platform_notification_context_impl.cc
|
||||
+++ b/content/browser/notifications/platform_notification_context_impl.cc
|
||||
@@ -282,13 +282,14 @@ void PlatformNotificationContextImpl::Shutdown() {
|
||||
@@ -282,6 +282,7 @@ void PlatformNotificationContextImpl::Shutdown() {
|
||||
|
||||
void PlatformNotificationContextImpl::CreateService(
|
||||
RenderProcessHost* render_process_host,
|
||||
+ RenderFrameHost* render_frame_host,
|
||||
const url::Origin& origin,
|
||||
const GURL& document_url,
|
||||
mojo::PendingReceiver<blink::mojom::NotificationService> receiver) {
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
@@ -289,7 +290,8 @@ void PlatformNotificationContextImpl::CreateService(
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
services_.push_back(std::make_unique<BlinkNotificationServiceImpl>(
|
||||
this, browser_context_, service_worker_context_, render_process_host,
|
||||
- origin, document_url, std::move(receiver)));
|
||||
+ render_frame_host, origin, document_url, std::move(receiver)));
|
||||
- origin, document_url, weak_document_ptr, std::move(receiver)));
|
||||
+ render_frame_host, origin, document_url, weak_document_ptr,
|
||||
+ std::move(receiver)));
|
||||
}
|
||||
|
||||
void PlatformNotificationContextImpl::RemoveService(
|
||||
diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
|
||||
index 69f000e5cd25c6d89c88238873f638923bafdf0e..4f0068a92a0e99e2b34f105954689c7b5c19f436 100644
|
||||
index 424fae79eb1c93f1fac293ae8fdeb6d067f523cc..6a2f074ad981deb15b46bd91b6d7eb5de8612403 100644
|
||||
--- a/content/browser/notifications/platform_notification_context_impl.h
|
||||
+++ b/content/browser/notifications/platform_notification_context_impl.h
|
||||
@@ -48,6 +48,7 @@ struct NotificationDatabaseData;
|
||||
|
@ -128,21 +131,32 @@ index 69f000e5cd25c6d89c88238873f638923bafdf0e..4f0068a92a0e99e2b34f105954689c7b
|
|||
+ RenderFrameHost* render_frame_host,
|
||||
const url::Origin& origin,
|
||||
const GURL& document_url,
|
||||
mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index b661376d97f515574385dde451ed21fb3f3e4f7b..733931cf9f2b55b63c0611cca673250696f1300d 100644
|
||||
index 6a94b868e963d98c09d130c70b7c7740c6b544e3..654d7d77b2a7ea8e1819288bb49084e435072ba9 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2051,7 +2051,8 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
document_url = rfh->GetLastCommittedURL();
|
||||
@@ -2055,8 +2055,9 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
// For workers:
|
||||
if (render_frame_id == MSG_ROUTING_NONE) {
|
||||
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
|
||||
- this, origin, /*document_url=*/GURL(),
|
||||
- /*weak_document_ptr=*/WeakDocumentPtr(), std::move(receiver));
|
||||
+ this, RenderFrameHost::FromID(GetID(), render_frame_id), origin,
|
||||
+ /*document_url=*/GURL(), /*weak_document_ptr=*/WeakDocumentPtr(),
|
||||
+ std::move(receiver));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2064,7 +2065,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
RenderFrameHost* rfh = RenderFrameHost::FromID(GetID(), render_frame_id);
|
||||
CHECK(rfh);
|
||||
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
|
||||
- this, origin, document_url, std::move(receiver));
|
||||
+ this, RenderFrameHost::FromID(GetID(), render_frame_id),
|
||||
+ origin, document_url, std::move(receiver));
|
||||
- this, origin, rfh->GetLastCommittedURL(), rfh->GetWeakDocumentPtr(),
|
||||
+ this, rfh, origin, rfh->GetLastCommittedURL(), rfh->GetWeakDocumentPtr(),
|
||||
std::move(receiver));
|
||||
}
|
||||
|
||||
void RenderProcessHostImpl::CreateWebSocketConnector(
|
||||
diff --git a/content/public/browser/platform_notification_service.h b/content/public/browser/platform_notification_service.h
|
||||
index 9646cbeb31141e3518f51482801431f3a6010360..b13b6ab07b4931b892749c84879d9a6adb3bcb58 100644
|
||||
--- a/content/public/browser/platform_notification_service.h
|
||||
|
|
|
@ -8,7 +8,7 @@ needed in chromium but our autofill implementation uses them. This patch can be
|
|||
our autofill implementation to work like Chromium's.
|
||||
|
||||
diff --git a/ui/color/color_id.h b/ui/color/color_id.h
|
||||
index 14d91a0d19c01a856a9614b127a4ef3655614684..a243dd71886af7c5313b16a8522a50ae50af5959 100644
|
||||
index b981338d714f66d14dd120cfc1185b97902c45b2..dbe2e0ce2bb9a2122c608ffcea923b650e4eccde 100644
|
||||
--- a/ui/color/color_id.h
|
||||
+++ b/ui/color/color_id.h
|
||||
@@ -128,6 +128,16 @@
|
||||
|
|
|
@ -33,7 +33,7 @@ index 8dcac3238870920d374b86033d05d77ebde351e9..02103924332eddbd158c04f8a395bb4a
|
|||
MIPS Technologies, Inc.
|
||||
+Darshan Sen <raisinten@gmail.com>
|
||||
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
|
||||
index 53c2dadac9d6cb74a3c3e07d9917e9162474b8a0..6761db0e8ac5edba6fac90cdf79e38dfd4cd9d70 100644
|
||||
index 295ec1615d83984835e238e349029b8755611f52..94c1cb02efe328ab45bc30fc7db8992872ed6b08 100644
|
||||
--- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
|
||||
+++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
|
||||
@@ -45,7 +45,7 @@
|
||||
|
@ -45,7 +45,7 @@ index 53c2dadac9d6cb74a3c3e07d9917e9162474b8a0..6761db0e8ac5edba6fac90cdf79e38df
|
|||
#include "util/posix/scoped_mmap.h"
|
||||
#include "util/posix/signals.h"
|
||||
|
||||
@@ -454,7 +454,7 @@ bool CrashpadClient::StartHandler(
|
||||
@@ -459,7 +459,7 @@ bool CrashpadClient::StartHandler(
|
||||
|
||||
argv.push_back(FormatArgumentInt("initial-client-fd", handler_sock.get()));
|
||||
argv.push_back("--shared-client-connection");
|
||||
|
@ -54,7 +54,7 @@ index 53c2dadac9d6cb74a3c3e07d9917e9162474b8a0..6761db0e8ac5edba6fac90cdf79e38df
|
|||
return false;
|
||||
}
|
||||
|
||||
@@ -609,7 +609,7 @@ bool CrashpadClient::StartJavaHandlerForClient(
|
||||
@@ -614,7 +614,7 @@ bool CrashpadClient::StartJavaHandlerForClient(
|
||||
int socket) {
|
||||
std::vector<std::string> argv = BuildAppProcessArgs(
|
||||
class_name, database, metrics_dir, url, annotations, arguments, socket);
|
||||
|
@ -63,7 +63,7 @@ index 53c2dadac9d6cb74a3c3e07d9917e9162474b8a0..6761db0e8ac5edba6fac90cdf79e38df
|
|||
}
|
||||
|
||||
bool CrashpadClient::StartHandlerWithLinkerAtCrash(
|
||||
@@ -658,7 +658,7 @@ bool CrashpadClient::StartHandlerWithLinkerForClient(
|
||||
@@ -663,7 +663,7 @@ bool CrashpadClient::StartHandlerWithLinkerForClient(
|
||||
annotations,
|
||||
arguments,
|
||||
socket);
|
||||
|
@ -72,7 +72,7 @@ index 53c2dadac9d6cb74a3c3e07d9917e9162474b8a0..6761db0e8ac5edba6fac90cdf79e38df
|
|||
}
|
||||
|
||||
#endif
|
||||
@@ -692,7 +692,7 @@ bool CrashpadClient::StartHandlerForClient(
|
||||
@@ -697,7 +697,7 @@ bool CrashpadClient::StartHandlerForClient(
|
||||
|
||||
argv.push_back(FormatArgumentInt("initial-client-fd", socket));
|
||||
|
||||
|
@ -135,7 +135,7 @@ index 9e58d94aa499fdb7271a78ea21a1dcc1b12e3a52..3caa3b987b35be575558a312026cf6f1
|
|||
Metrics::CaptureResult::kFinishedWritingCrashReportFailed);
|
||||
return false;
|
||||
diff --git a/third_party/crashpad/crashpad/util/BUILD.gn b/third_party/crashpad/crashpad/util/BUILD.gn
|
||||
index 30f03b13f3a018e6a96b0689452a344992675c23..64fa2e9e89b700d8a265a9737cb6a30a210cdffe 100644
|
||||
index b8daef48b460ce2771a9f5502ee48d5efffc4039..8d4329e6b56062a1ef48a8607ddf52c31d251883 100644
|
||||
--- a/third_party/crashpad/crashpad/util/BUILD.gn
|
||||
+++ b/third_party/crashpad/crashpad/util/BUILD.gn
|
||||
@@ -296,10 +296,10 @@ crashpad_static_library("util") {
|
||||
|
|
|
@ -55,7 +55,7 @@ index 331a084371402b5a2440b5d60feac8f0189e84b9..6755d1f497cef4deea6b83df1d8720dc
|
|||
: PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3;
|
||||
}
|
||||
diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc
|
||||
index ee713c5686d4ea8a5d73cebf74e67381b685cff6..375ce3294727b84bf0071681c7bc35c772e4e3b9 100644
|
||||
index d9ae000f1348529ab849349d7562dbb04fe9fd16..cf66978761f5dda2f8958234d62c3cf11ae4cf9c 100644
|
||||
--- a/chrome/browser/printing/print_job_worker.cc
|
||||
+++ b/chrome/browser/printing/print_job_worker.cc
|
||||
@@ -20,7 +20,6 @@
|
||||
|
@ -74,7 +74,7 @@ index ee713c5686d4ea8a5d73cebf74e67381b685cff6..375ce3294727b84bf0071681c7bc35c7
|
|||
#include "printing/backend/print_backend.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "printing/mojom/print.mojom.h"
|
||||
@@ -229,16 +229,21 @@ void PrintJobWorker::UpdatePrintSettings(base::Value::Dict new_settings,
|
||||
@@ -222,16 +222,21 @@ void PrintJobWorker::UpdatePrintSettings(base::Value::Dict new_settings,
|
||||
#endif // BUILDFLAG(IS_LINUX) && defined(USE_CUPS)
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ index 1e158ecd686e775f656d5a05a9d916ce8f075fa8..20613012d1e6f435c3211d78ec311cf0
|
|||
|
||||
void PrintJobWorkerOop::UnregisterServiceManagerClient() {
|
||||
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
|
||||
index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0adb5365a94 100644
|
||||
index e665eb42fad5f47b1643315d2cdcdf2eb66b069d..21451d9ae0cbb647cafe0e9ae47f067068aef1b7 100644
|
||||
--- a/chrome/browser/printing/print_view_manager_base.cc
|
||||
+++ b/chrome/browser/printing/print_view_manager_base.cc
|
||||
@@ -30,8 +30,6 @@
|
||||
|
@ -141,9 +141,9 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
+#endif
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
|
||||
@@ -192,7 +193,9 @@ void UpdatePrintSettingsReplyOnIO(
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
||||
void OnDidGetDefaultPrintSettings(
|
||||
@@ -144,7 +145,9 @@ void OnDidUpdatePrintSettings(
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
DCHECK(printer_query);
|
||||
mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr();
|
||||
- if (printer_query->last_status() == mojom::ResultCode::kSuccess) {
|
||||
|
@ -153,26 +153,25 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
RenderParamsFromPrintSettings(printer_query->settings(),
|
||||
params->params.get());
|
||||
params->params->document_cookie = printer_query->cookie();
|
||||
@@ -245,6 +248,7 @@ void ScriptedPrintReplyOnIO(
|
||||
@@ -172,6 +175,7 @@ void OnDidScriptedPrint(
|
||||
mojom::PrintManagerHost::ScriptedPrintCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr();
|
||||
+
|
||||
if (printer_query->last_status() == mojom::ResultCode::kSuccess &&
|
||||
printer_query->settings().dpi()) {
|
||||
RenderParamsFromPrintSettings(printer_query->settings(),
|
||||
@@ -254,8 +258,9 @@ void ScriptedPrintReplyOnIO(
|
||||
@@ -181,7 +185,8 @@ void OnDidScriptedPrint(
|
||||
}
|
||||
bool has_valid_cookie = params->params->document_cookie;
|
||||
bool has_dpi = !params->params->dpi.IsEmpty();
|
||||
- std::move(callback).Run(std::move(params));
|
||||
+ bool canceled = printer_query->last_status() == mojom::ResultCode::kCanceled;
|
||||
content::GetUIThreadTaskRunner({})->PostTask(
|
||||
- FROM_HERE, base::BindOnce(std::move(callback), std::move(params)));
|
||||
+ FROM_HERE, base::BindOnce(std::move(callback), std::move(params), canceled));
|
||||
+ std::move(callback).Run(std::move(params), canceled);
|
||||
|
||||
if (has_dpi && has_valid_cookie) {
|
||||
queue->QueuePrinterQuery(std::move(printer_query));
|
||||
@@ -293,12 +298,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
|
||||
@@ -196,12 +201,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
|
||||
: PrintManager(web_contents),
|
||||
queue_(g_browser_process->print_job_manager()->queue()) {
|
||||
DCHECK(queue_);
|
||||
|
@ -187,7 +186,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
}
|
||||
|
||||
PrintViewManagerBase::~PrintViewManagerBase() {
|
||||
@@ -306,7 +313,10 @@ PrintViewManagerBase::~PrintViewManagerBase() {
|
||||
@@ -209,7 +216,10 @@ PrintViewManagerBase::~PrintViewManagerBase() {
|
||||
DisconnectFromCurrentPrintJob();
|
||||
}
|
||||
|
||||
|
@ -199,7 +198,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
// Remember the ID for `rfh`, to enable checking that the `RenderFrameHost`
|
||||
// is still valid after a possible inner message loop runs in
|
||||
// `DisconnectFromCurrentPrintJob()`.
|
||||
@@ -334,6 +344,9 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) {
|
||||
@@ -237,6 +247,9 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) {
|
||||
#endif
|
||||
|
||||
SetPrintingRFH(rfh);
|
||||
|
@ -209,7 +208,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
|
||||
#if BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
|
||||
enterprise_connectors::ContentAnalysisDelegate::Data scanning_data;
|
||||
@@ -502,7 +515,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply(
|
||||
@@ -405,7 +418,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply(
|
||||
void PrintViewManagerBase::ScriptedPrintReply(
|
||||
ScriptedPrintCallback callback,
|
||||
int process_id,
|
||||
|
@ -219,7 +218,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
#if BUILDFLAG(ENABLE_OOP_PRINTING)
|
||||
@@ -517,16 +531,19 @@ void PrintViewManagerBase::ScriptedPrintReply(
|
||||
@@ -420,8 +434,11 @@ void PrintViewManagerBase::ScriptedPrintReply(
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -232,18 +231,17 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
}
|
||||
|
||||
void PrintViewManagerBase::UpdatePrintingEnabled() {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
@@ -429,8 +446,7 @@ void PrintViewManagerBase::UpdatePrintingEnabled() {
|
||||
// The Unretained() is safe because ForEachRenderFrameHost() is synchronous.
|
||||
- web_contents()->GetMainFrame()->ForEachRenderFrameHost(base::BindRepeating(
|
||||
- &PrintViewManagerBase::SendPrintingEnabled, base::Unretained(this),
|
||||
- printing_enabled_.GetValue()));
|
||||
+ web_contents()->GetMainFrame()->ForEachRenderFrameHost(
|
||||
+ base::BindRepeating(&PrintViewManagerBase::SendPrintingEnabled,
|
||||
web_contents()->GetPrimaryMainFrame()->ForEachRenderFrameHost(
|
||||
base::BindRepeating(&PrintViewManagerBase::SendPrintingEnabled,
|
||||
- base::Unretained(this),
|
||||
- printing_enabled_.GetValue()));
|
||||
+ base::Unretained(this), true));
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::NavigationStopped() {
|
||||
@@ -642,11 +659,14 @@ void PrintViewManagerBase::DidPrintDocument(
|
||||
@@ -546,11 +562,14 @@ void PrintViewManagerBase::DidPrintDocument(
|
||||
void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
GetDefaultPrintSettingsCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
@ -258,7 +256,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
#if BUILDFLAG(ENABLE_OOP_PRINTING)
|
||||
if (printing::features::kEnableOopPrintDriversJobPrint.Get() &&
|
||||
!service_manager_client_id_.has_value()) {
|
||||
@@ -676,18 +696,20 @@ void PrintViewManagerBase::UpdatePrintSettings(
|
||||
@@ -588,18 +607,20 @@ void PrintViewManagerBase::UpdatePrintSettings(
|
||||
base::Value::Dict job_settings,
|
||||
UpdatePrintSettingsCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
@ -280,7 +278,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
content::BrowserContext* context =
|
||||
web_contents() ? web_contents()->GetBrowserContext() : nullptr;
|
||||
PrefService* prefs =
|
||||
@@ -697,6 +719,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
|
||||
@@ -609,6 +630,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
|
||||
if (value > 0)
|
||||
job_settings.Set(kSettingRasterizePdfDpi, value);
|
||||
}
|
||||
|
@ -288,7 +286,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
|
||||
auto callback_wrapper =
|
||||
base::BindOnce(&PrintViewManagerBase::UpdatePrintSettingsReply,
|
||||
@@ -722,14 +745,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
|
||||
@@ -640,14 +662,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
|
||||
// didn't happen for some reason.
|
||||
bad_message::ReceivedBadMessage(
|
||||
render_process_host, bad_message::PVMB_SCRIPTED_PRINT_FENCED_FRAME);
|
||||
|
@ -305,7 +303,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -767,7 +790,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
|
||||
@@ -685,7 +707,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
|
||||
PrintManager::PrintingFailed(cookie, reason);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID) // Android does not implement this function.
|
||||
|
@ -313,7 +311,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
#endif
|
||||
|
||||
ReleasePrinterQuery();
|
||||
@@ -782,6 +804,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) {
|
||||
@@ -700,6 +721,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) {
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::ShowInvalidPrinterSettingsError() {
|
||||
|
@ -325,7 +323,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
base::ThreadTaskRunnerHandle::Get()->PostTask(
|
||||
FROM_HERE, base::BindOnce(&ShowWarningMessageBox,
|
||||
l10n_util::GetStringUTF16(
|
||||
@@ -792,10 +819,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged(
|
||||
@@ -710,10 +736,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
content::RenderFrameHost::LifecycleState /*old_state*/,
|
||||
content::RenderFrameHost::LifecycleState new_state) {
|
||||
|
@ -338,7 +336,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
}
|
||||
|
||||
void PrintViewManagerBase::DidStartLoading() {
|
||||
@@ -855,6 +884,11 @@ void PrintViewManagerBase::OnJobDone() {
|
||||
@@ -773,6 +801,11 @@ void PrintViewManagerBase::OnJobDone() {
|
||||
ReleasePrintJob();
|
||||
}
|
||||
|
||||
|
@ -350,9 +348,9 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
void PrintViewManagerBase::OnFailed() {
|
||||
TerminatePrintJob(true);
|
||||
}
|
||||
@@ -912,7 +946,10 @@ bool PrintViewManagerBase::CreateNewPrintJob(
|
||||
@@ -831,7 +864,10 @@ bool PrintViewManagerBase::CreateNewPrintJob(
|
||||
|
||||
// Disconnect the current |print_job_|.
|
||||
// Disconnect the current `print_job_`.
|
||||
auto weak_this = weak_ptr_factory_.GetWeakPtr();
|
||||
- DisconnectFromCurrentPrintJob();
|
||||
+ if (callback_.is_null()) {
|
||||
|
@ -362,7 +360,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
if (!weak_this)
|
||||
return false;
|
||||
|
||||
@@ -993,6 +1030,13 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
@@ -912,6 +948,13 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -376,7 +374,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
if (!print_job_)
|
||||
return;
|
||||
|
||||
@@ -1042,7 +1086,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
|
||||
@@ -961,7 +1004,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
|
||||
}
|
||||
|
||||
bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) {
|
||||
|
@ -385,7 +383,7 @@ index e74a2d0858c187b11ac322033b122e046a45967e..09f6d4a575225ac5df9994fd0620e0ad
|
|||
return true;
|
||||
|
||||
if (!cookie) {
|
||||
@@ -1150,7 +1194,7 @@ void PrintViewManagerBase::SendPrintingEnabled(bool enabled,
|
||||
@@ -1067,7 +1110,7 @@ void PrintViewManagerBase::SendPrintingEnabled(bool enabled,
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::CompletePrintNow(content::RenderFrameHost* rfh) {
|
||||
|
@ -502,7 +500,7 @@ index f2c17a8fecc36ea18de71598b582e206661763c5..599b34690da042b57fcd78d0c0557d18
|
|||
// Tells the browser that there are invalid printer settings.
|
||||
ShowInvalidPrinterSettingsError();
|
||||
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
|
||||
index 1664ac8233e74cadcf19ebc53e41cef37d13019c..aa341dd9a6f2b6e2ebb6e8048d2d9a3e5c3e89ea 100644
|
||||
index 66ac411e4a70610cbf457e0bbbb0439a6e0f7c59..125fc9057ef5f2e01faa2e4db6ca6804fe5039b8 100644
|
||||
--- a/components/printing/renderer/print_render_frame_helper.cc
|
||||
+++ b/components/printing/renderer/print_render_frame_helper.cc
|
||||
@@ -42,6 +42,7 @@
|
||||
|
|
|
@ -30,7 +30,7 @@ index bdad25cd2c823fa2125fc523c400479882735ae6..bf2ddb136274eb3e4e597ed3060aabca
|
|||
// RenderWidgetHost on the primary main frame, and false otherwise.
|
||||
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 273750752cdef18ccd7d54b9b28c524375bb3e8d..3eec2e5c14186b39a67ca8ad410a3268841e5f4e 100644
|
||||
index 205921ae492bf30c16869cdd7ed9605d7fdbd452..51a720da21417c1e83570770959a44d90f172d66 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2075,6 +2075,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) {
|
||||
|
@ -43,10 +43,10 @@ index 273750752cdef18ccd7d54b9b28c524375bb3e8d..3eec2e5c14186b39a67ca8ad410a3268
|
|||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 987e437641b7978290aa2633755b67f9099e1d04..6f09c04cc612d2ac58b62d44516eefa1b66d145c 100644
|
||||
index 1c69625326df08b85ec77d01b588fc3a8ce58553..686fc99becf068106cc9fb372d2dce1e8d8c5114 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4491,6 +4491,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -4537,6 +4537,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
|
@ -57,12 +57,12 @@ index 987e437641b7978290aa2633755b67f9099e1d04..6f09c04cc612d2ac58b62d44516eefa1
|
|||
+
|
||||
bool WebContentsImpl::IsWidgetForPrimaryMainFrame(
|
||||
RenderWidgetHostImpl* render_widget_host) {
|
||||
return render_widget_host == GetMainFrame()->GetRenderWidgetHost();
|
||||
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 36888689fe38e7873f09b1bc64a901f0771cbd5b..13253163b54c86b37c7b5654b674c5f920c81272 100644
|
||||
index 9af9ea4e10a51572e726309e619fb31cb5a928ee..a44f6d7364ad26965e84a432ae376fa922af5fec 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.h
|
||||
+++ b/content/browser/web_contents/web_contents_impl.h
|
||||
@@ -954,6 +954,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
@@ -957,6 +957,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
void SendScreenRects() override;
|
||||
void SendActiveState(bool active) override;
|
||||
TextInputManager* GetTextInputManager() override;
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: render_widget_host_view_base.patch
|
|||
... something to do with OSR? and maybe <webview> as well? terrifying.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
index bdaae69dbeac280dcc83baa217d6c4ab0039ba35..14e7b4386d8d8bf020abf5a1037761eac1068223 100644
|
||||
index 1bb9760fee301bebb5e940d6786999cfbf52656f..0b4b9fb7d64ca1615d5a03e86f421b8f282ed27a 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
@@ -691,6 +691,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor(
|
||||
@@ -699,6 +699,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor(
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ index bdaae69dbeac280dcc83baa217d6c4ab0039ba35..14e7b4386d8d8bf020abf5a1037761ea
|
|||
const blink::WebMouseEvent& event,
|
||||
const ui::LatencyInfo& latency) {
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
index 8f76edf316a075bddb2963ff1baf3ba0481b5fa7..2604d55c46e4ef3e512554a645d3db4b5670995c 100644
|
||||
index 2f7dabc3317f7b1a609e6b67795036696a6420d0..a300f9b497f206086d9bba01b0ea3948a1b6413a 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -26,8 +26,10 @@
|
||||
|
@ -50,7 +50,7 @@ index 8f76edf316a075bddb2963ff1baf3ba0481b5fa7..2604d55c46e4ef3e512554a645d3db4b
|
|||
class WebCursor;
|
||||
class WebContentsAccessibility;
|
||||
class DelegatedFrameHost;
|
||||
@@ -144,6 +148,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -145,6 +149,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
const gfx::Rect& keyboard_rect) override {}
|
||||
bool IsHTMLFormPopup() const override;
|
||||
|
||||
|
@ -60,7 +60,7 @@ index 8f76edf316a075bddb2963ff1baf3ba0481b5fa7..2604d55c46e4ef3e512554a645d3db4b
|
|||
// This only needs to be overridden by RenderWidgetHostViewBase subclasses
|
||||
// that handle content embedded within other RenderWidgetHostViews.
|
||||
gfx::PointF TransformPointToRootCoordSpaceF(
|
||||
@@ -295,6 +302,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -299,6 +306,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
|
||||
const ui::LatencyInfo& latency);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`.
|
|||
Additionally, disables usage of some private APIs in MAS builds.
|
||||
|
||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
index 0282cf6bb6674b10e6a92897ec8c5b2bb9c4a4a0..6ce9f338bb92390b355a7cc124e8fa869a3cb4ac 100644
|
||||
index 6e4656b8f6dd76e4e13e066a87de4ec893063a46..2232f86b1c91700cdc371adbfdd7beed99d26418 100644
|
||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
@@ -155,6 +155,15 @@ void ExtractUnderlines(NSAttributedString* string,
|
||||
|
@ -61,7 +61,7 @@ index 0282cf6bb6674b10e6a92897ec8c5b2bb9c4a4a0..6ce9f338bb92390b355a7cc124e8fa86
|
|||
// We only handle key down events and just simply forward other events.
|
||||
if (eventType != NSEventTypeKeyDown) {
|
||||
_hostHelper->ForwardKeyboardEvent(event, latency_info);
|
||||
@@ -1761,9 +1781,11 @@ - (NSAccessibilityRole)accessibilityRole {
|
||||
@@ -1778,9 +1798,11 @@ - (NSAccessibilityRole)accessibilityRole {
|
||||
// Since this implementation doesn't have to wait any IPC calls, this doesn't
|
||||
// make any key-typing jank. --hbono 7/23/09
|
||||
//
|
||||
|
@ -73,7 +73,7 @@ index 0282cf6bb6674b10e6a92897ec8c5b2bb9c4a4a0..6ce9f338bb92390b355a7cc124e8fa86
|
|||
|
||||
- (NSArray*)validAttributesForMarkedText {
|
||||
// This code is just copied from WebKit except renaming variables.
|
||||
@@ -1772,7 +1794,10 @@ - (NSArray*)validAttributesForMarkedText {
|
||||
@@ -1789,7 +1811,10 @@ - (NSArray*)validAttributesForMarkedText {
|
||||
initWithObjects:NSUnderlineStyleAttributeName,
|
||||
NSUnderlineColorAttributeName,
|
||||
NSMarkedClauseSegmentAttributeName,
|
||||
|
|
|
@ -52,10 +52,10 @@ 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 b1c9b0c7e7d6d8694f123d057e415676cab607c7..dc59a88bc930d4d7b8e606434d940cac5b834bd0 100644
|
||||
index 06e3385d4f148eb23f9ddf560afb563897846609..672bc56194e1ad8b03acd639c17b7f7e67a5dba0 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -1538,7 +1538,7 @@ if (is_chrome_branded && !is_android) {
|
||||
@@ -1539,7 +1539,7 @@ if (is_chrome_branded && !is_android) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,7 @@ index b1c9b0c7e7d6d8694f123d057e415676cab607c7..dc59a88bc930d4d7b8e606434d940cac
|
|||
chrome_paks("packed_resources") {
|
||||
if (is_mac) {
|
||||
output_dir = "$root_gen_dir/repack"
|
||||
@@ -1567,6 +1567,12 @@ if (!is_android) {
|
||||
@@ -1568,6 +1568,12 @@ if (!is_android) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,5 +75,5 @@ index b1c9b0c7e7d6d8694f123d057e415676cab607c7..dc59a88bc930d4d7b8e606434d940cac
|
|||
+}
|
||||
+
|
||||
repack("unit_tests_pak") {
|
||||
testonly = true
|
||||
sources = [ "$root_gen_dir/chrome/chrome_test_resources.pak" ]
|
||||
output = "$root_out_dir/unit_tests.pak"
|
||||
|
|
|
@ -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 f81f1104399a42009f7705585716579d4c17ad03..d08e4c8223078230e35afd21b6f98ec839664ea9 100644
|
||||
index ab74207b348f211ee78de1384c9c75f7682926fe..ff475b3978b215cdbe921c620661070309bc5f5d 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1343,7 +1343,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
@@ -1283,7 +1283,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
}
|
||||
|
||||
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
||||
|
|
|
@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
|
|||
does touch a security-sensitive class.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 733931cf9f2b55b63c0611cca673250696f1300d..8aa14d7cdb7edc5d53736fb959e3f9992d4fd896 100644
|
||||
index 654d7d77b2a7ea8e1819288bb49084e435072ba9..e186644f7592f7d0e827b7d8af6c31951738f6f5 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -1750,9 +1750,15 @@ bool RenderProcessHostImpl::Init() {
|
||||
@@ -1748,9 +1748,15 @@ bool RenderProcessHostImpl::Init() {
|
||||
std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
|
||||
std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
|
||||
cmd_line.get(), IsJitDisabled());
|
||||
|
@ -42,7 +42,7 @@ index 733931cf9f2b55b63c0611cca673250696f1300d..8aa14d7cdb7edc5d53736fb959e3f999
|
|||
|
||||
auto file_data = std::make_unique<ChildProcessLauncherFileData>();
|
||||
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
index 2c4bd947eca08223c541de53390a18d19208397e..6ef28fe7ebfd3dfa60995184772e3e2dd6f7f0d8 100644
|
||||
index af8173d4203150237387529aa2b974aeec7c5a41..9fadaa80a4547a583484355342c3fd98d53bcd27 100644
|
||||
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
@@ -31,6 +31,9 @@ namespace content {
|
||||
|
@ -55,10 +55,10 @@ index 2c4bd947eca08223c541de53390a18d19208397e..6ef28fe7ebfd3dfa60995184772e3e2d
|
|||
const base::CommandLine& browser_command_line =
|
||||
*base::CommandLine::ForCurrentProcess();
|
||||
base::CommandLine::StringType renderer_prefix =
|
||||
@@ -58,6 +61,9 @@ RendererSandboxedProcessLauncherDelegateWin::
|
||||
bool is_jit_disabled)
|
||||
: renderer_code_integrity_enabled_(
|
||||
GetContentClient()->browser()->IsRendererCodeIntegrityEnabled()) {
|
||||
@@ -60,6 +63,9 @@ RendererSandboxedProcessLauncherDelegateWin::
|
||||
GetContentClient()->browser()->IsRendererCodeIntegrityEnabled()),
|
||||
renderer_app_container_disabled_(
|
||||
GetContentClient()->browser()->IsRendererAppContainerDisabled()) {
|
||||
+#if BUILDFLAG(USE_ZYGOTE_HANDLE)
|
||||
+ use_zygote_ = !cmd_line->HasSwitch(switches::kNoZygote);
|
||||
+#endif
|
||||
|
@ -66,7 +66,7 @@ index 2c4bd947eca08223c541de53390a18d19208397e..6ef28fe7ebfd3dfa60995184772e3e2d
|
|||
dynamic_code_can_be_disabled_ = true;
|
||||
return;
|
||||
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
|
||||
index 576a2c0782bf49cb57c973434b5d1f2ec9fdcbc5..24d1854c261372353c9bf69a6cb0cf2d24e9ebef 100644
|
||||
index 3a0e25b38965de5b57fd0be1112cf62dfda846d7..f412080cfb49330d855fdf1cbc13ff8850530401 100644
|
||||
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
|
||||
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h
|
||||
@@ -18,6 +18,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate
|
||||
|
|
|
@ -9,10 +9,10 @@ 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 407f734b77d1ed4876f01327df958847d60e9128..ddfa7cf439244a6d58ab73dea014b341912f503f 100644
|
||||
index eb94d05bf03d04b508123675c31957b8d22ee13a..035aa45845d56d0a8edaa693689bb27e6cd3b158 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3026,6 +3026,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3032,6 +3032,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
site_instance.get(), params.renderer_initiated_creation,
|
||||
params.main_frame_name, GetOpener(), primary_main_frame_policy);
|
||||
|
||||
|
@ -26,7 +26,7 @@ index 407f734b77d1ed4876f01327df958847d60e9128..ddfa7cf439244a6d58ab73dea014b341
|
|||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||
|
||||
@@ -3036,6 +3043,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3042,6 +3049,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||
&render_view_host_delegate_view_);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ index 407f734b77d1ed4876f01327df958847d60e9128..ddfa7cf439244a6d58ab73dea014b341
|
|||
CHECK(view_.get());
|
||||
|
||||
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
|
||||
index e82a5b71eb8a6ee2df8478ccd3432b4afbb096aa..d5c2a922bba0ff0d5a4a22d9cd25be46fd09d4e1 100644
|
||||
index 92a075098c41f118a4114424715eb61f212b43b7..a99435a0a9c1c4e26a53d513f180a07f8308cbc9 100644
|
||||
--- a/content/public/browser/web_contents.h
|
||||
+++ b/content/public/browser/web_contents.h
|
||||
@@ -93,10 +93,13 @@ class BrowserContext;
|
||||
|
|
|
@ -8,10 +8,10 @@ This allows dragging and dropping between <webview>s.
|
|||
Originally landed in https://github.com/electron/libchromiumcontent/pull/267
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
|
||||
index bb9b9d0ce53ce427075fd92ab1da119c08f6e591..6792e64b2f0f4a5080beb57804f861d8297524d2 100644
|
||||
index 6f963b0a1fcb00a16bcf423a494aad29b4c86b52..004fbb98b212372f7af73b9334ff44fb7a2a5eba 100644
|
||||
--- a/content/browser/web_contents/web_contents_view_aura.cc
|
||||
+++ b/content/browser/web_contents/web_contents_view_aura.cc
|
||||
@@ -899,10 +899,7 @@ bool WebContentsViewAura::IsValidDragTarget(
|
||||
@@ -901,10 +901,7 @@ bool WebContentsViewAura::IsValidDragTarget(
|
||||
// for the outermost view. Inner `WebContents` will have a
|
||||
// `WebContentsViewChildFrame` so when dragging between an inner
|
||||
// `WebContents` and its embedder the view IDs will be the same.
|
||||
|
|
|
@ -14,10 +14,10 @@ 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 e612764997277da3411d8040850756eb38996cca..f0341511d7d00f03a52bdead457f1f9d60ac5486 100644
|
||||
index bdf2fa0461840d6059b4a7d6660a356be5c38ba0..867b0efca67ce1d4198c2312a6ddc6a784784913 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -6284,6 +6284,15 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -6421,6 +6421,15 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
notified_instances.insert(parent_site_instance);
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,6 @@ index e612764997277da3411d8040850756eb38996cca..f0341511d7d00f03a52bdead457f1f9d
|
|||
+ options.Clone());
|
||||
+ }
|
||||
+
|
||||
delegate_->EnterFullscreenMode(this, *options);
|
||||
delegate_->FullscreenStateChanged(this, /*is_fullscreen=*/true,
|
||||
std::move(options));
|
||||
// Focus the window if another frame may have delegated the capability.
|
||||
if (had_fullscreen_token && !GetView()->HasFocus())
|
||||
GetView()->Focus();
|
||||
|
|
|
@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected:
|
|||
https://chromium-review.googlesource.com/c/chromium/src/+/1954347
|
||||
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index eb8968c2a86102d0d3a21f07c394f1c360083c6c..025ef3f70a5ae34faf8c6013fbfba171c7f501ac 100644
|
||||
index 1dfe162dc69f404b49bae6197fa7b713600eb9bd..dedfb41c933ad7930cbab5aae502e1df28cf05e4 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -356,6 +356,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -360,6 +360,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
virtual void DidInitializeWorkerContextOnWorkerThread(
|
||||
v8::Local<v8::Context> context) {}
|
||||
|
||||
|
@ -26,10 +26,10 @@ index eb8968c2a86102d0d3a21f07c394f1c360083c6c..025ef3f70a5ae34faf8c6013fbfba171
|
|||
// 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 16322f245b51465d77b08c0c5d4da0b79ba8ae03..bd63f484db056d099bada03a0d3aab7742016110 100644
|
||||
index d4e55604b9a8485bb9088a272abca4a6d4e7494d..e842f73029cd7a7a2bdfd7b7d7483a6ecca8527c 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -966,6 +966,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
@@ -909,6 +909,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,10 @@ index 16322f245b51465d77b08c0c5d4da0b79ba8ae03..bd63f484db056d099bada03a0d3aab77
|
|||
const v8::Local<v8::Context>& worker) {
|
||||
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index 213b0b9c28974aecbdd2dd1297dfa21cd716a337..f77763977aee112b854ade93b59172247599a16b 100644
|
||||
index 0d484ebcc48d5b230ba94a07745e14f4cf706702..0387f4de1e181200ecd7323d2cea2fa854de62c0 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -209,6 +209,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -191,6 +191,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
void DidStartWorkerThread() override;
|
||||
void WillStopWorkerThread() override;
|
||||
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
|
||||
|
@ -55,10 +55,10 @@ index 213b0b9c28974aecbdd2dd1297dfa21cd716a337..f77763977aee112b854ade93b5917224
|
|||
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 3f8fbe6330051d96715706801efdefcb2ee3b971..be0eb834ba868bb7f6f40e08277f4475a6a92f7d 100644
|
||||
index 00a10e9d00f0aad692fd87b9ea51085ef3fbfd1f..f346dfc768dca2f616e6e3197a98a8c896516568 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -722,6 +722,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -676,6 +676,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
virtual void DidStartWorkerThread() {}
|
||||
virtual void WillStopWorkerThread() {}
|
||||
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
|
||||
|
|
|
@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop
|
|||
initialized.
|
||||
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index 025ef3f70a5ae34faf8c6013fbfba171c7f501ac..cea3f3dc05f91927f4ee8be5eec85ec26c8e1e07 100644
|
||||
index dedfb41c933ad7930cbab5aae502e1df28cf05e4..8ad7306886109e827a8a692fee39f7c7b491b9ba 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -356,6 +356,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -360,6 +360,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
virtual void DidInitializeWorkerContextOnWorkerThread(
|
||||
v8::Local<v8::Context> context) {}
|
||||
|
||||
|
@ -35,10 +35,10 @@ index 025ef3f70a5ae34faf8c6013fbfba171c7f501ac..cea3f3dc05f91927f4ee8be5eec85ec2
|
|||
// 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 bd63f484db056d099bada03a0d3aab7742016110..7aea168344138d6210216997047bdcd8edfab6cc 100644
|
||||
index e842f73029cd7a7a2bdfd7b7d7483a6ecca8527c..21b9c228654222263e4ec5b028f098e417ee45fc 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -978,6 +978,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
@@ -921,6 +921,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
worker);
|
||||
}
|
||||
|
||||
|
@ -52,10 +52,10 @@ index bd63f484db056d099bada03a0d3aab7742016110..7aea168344138d6210216997047bdcd8
|
|||
const blink::WebSecurityOrigin& script_origin) {
|
||||
return GetContentClient()->renderer()->AllowScriptExtensionForServiceWorker(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index f77763977aee112b854ade93b59172247599a16b..f3518973a5e071bf428d928f20255c208cf4d0b9 100644
|
||||
index 0387f4de1e181200ecd7323d2cea2fa854de62c0..d1da5a8cd5c7967e5ace9050110314f9ea5d605d 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -209,6 +209,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -191,6 +191,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
void DidStartWorkerThread() override;
|
||||
void WillStopWorkerThread() override;
|
||||
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
|
||||
|
@ -65,10 +65,10 @@ index f77763977aee112b854ade93b59172247599a16b..f3518973a5e071bf428d928f20255c20
|
|||
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 be0eb834ba868bb7f6f40e08277f4475a6a92f7d..00db8b6bdbf005a9aac20ede6ce810aefac4d03e 100644
|
||||
index f346dfc768dca2f616e6e3197a98a8c896516568..bcf4ac6bce4f83a7fe97621a8c9b49e6684fed95 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -722,6 +722,8 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -676,6 +676,8 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
virtual void DidStartWorkerThread() {}
|
||||
virtual void WillStopWorkerThread() {}
|
||||
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
use_new_constructor_for_scriptorigin_when_17_x.patch
|
||||
chore_remove_deprecated_accessorsignatures.patch
|
||||
|
|
45
patches/nan/chore_remove_deprecated_accessorsignatures.patch
Normal file
45
patches/nan/chore_remove_deprecated_accessorsignatures.patch
Normal file
|
@ -0,0 +1,45 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Shelley Vohr <shelley.vohr@gmail.com>
|
||||
Date: Thu, 2 Jun 2022 15:45:21 +0200
|
||||
Subject: chore: remove deprecated AccessorSignatures
|
||||
|
||||
Removed in https://chromium-review.googlesource.com/c/v8/v8/+/3654096
|
||||
Upstreamed to nan: https://github.com/nodejs/nan/pull/941
|
||||
|
||||
diff --git a/nan.h b/nan.h
|
||||
index df5496c1a001120d10cd7c4b87d5e7bce8169f38..c29a99b79970421a15c5520a94ab65b1c3c473ff 100644
|
||||
--- a/nan.h
|
||||
+++ b/nan.h
|
||||
@@ -2516,8 +2516,7 @@ inline void SetAccessor(
|
||||
, SetterCallback setter = 0
|
||||
, v8::Local<v8::Value> data = v8::Local<v8::Value>()
|
||||
, v8::AccessControl settings = v8::DEFAULT
|
||||
- , v8::PropertyAttribute attribute = v8::None
|
||||
- , imp::Sig signature = imp::Sig()) {
|
||||
+ , v8::PropertyAttribute attribute = v8::None) {
|
||||
HandleScope scope;
|
||||
|
||||
imp::NativeGetter getter_ =
|
||||
@@ -2550,9 +2549,6 @@ inline void SetAccessor(
|
||||
, obj
|
||||
, settings
|
||||
, attribute
|
||||
-#if (NODE_MODULE_VERSION < NODE_18_0_MODULE_VERSION)
|
||||
- , signature
|
||||
-#endif
|
||||
);
|
||||
}
|
||||
|
||||
diff --git a/nan_callbacks.h b/nan_callbacks.h
|
||||
index 53ede846ac9a865a737218dabbbd48305d3d6b63..ea81e452d364e3d3c15a121dc69ae21134bfb586 100644
|
||||
--- a/nan_callbacks.h
|
||||
+++ b/nan_callbacks.h
|
||||
@@ -52,8 +52,6 @@ typedef void(*IndexQueryCallback)(
|
||||
const PropertyCallbackInfo<v8::Integer>&);
|
||||
|
||||
namespace imp {
|
||||
-typedef v8::Local<v8::AccessorSignature> Sig;
|
||||
-
|
||||
static const int kDataIndex = 0;
|
||||
|
||||
static const int kFunctionIndex = 1;
|
|
@ -43,3 +43,5 @@ macos_avoid_posix_spawnp_cwd_bug_3597.patch
|
|||
src_update_importmoduledynamically.patch
|
||||
fix_add_v8_enable_reverse_jsargs_defines_in_common_gypi.patch
|
||||
json_parse_errors_made_user-friendly.patch
|
||||
build_define_libcpp_abi_namespace_as_cr_to_align_with_chromium.patch
|
||||
support_v8_sandboxed_pointers.patch
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Attard <sattard@salesforce.com>
|
||||
Date: Mon, 6 Jun 2022 14:46:40 -0700
|
||||
Subject: build: define _LIBCPP_ABI_NAMESPACE as Cr to align with chromium
|
||||
|
||||
Without this define native modules will be built trying to link to _LIBCPP_ABI_NAMESPACE which is the default name, chromium overrides this to Cr for PDB size reasons but they override it on all platforms. Setting this define allows native modules to actually work. This should not be upstreamed as it is Electron specific.
|
||||
|
||||
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3655638
|
||||
|
||||
diff --git a/common.gypi b/common.gypi
|
||||
index bdfe81d11cc50f492c93fe48f6946765b6fb5238..559b7f7c220cb98946285bb15d0d63e203bbcea4 100644
|
||||
--- a/common.gypi
|
||||
+++ b/common.gypi
|
||||
@@ -288,6 +288,7 @@
|
||||
'V8_DEPRECATION_WARNINGS',
|
||||
'V8_IMMINENT_DEPRECATION_WARNINGS',
|
||||
'_GLIBCXX_USE_CXX11_ABI=1',
|
||||
+ '_LIBCPP_ABI_NAMESPACE=Cr',
|
||||
],
|
||||
|
||||
# Forcibly disable -Werror. We support a wide range of compilers, it's
|
|
@ -251,6 +251,35 @@ index 3bbca5b0da395b94c04da7bb7c55b107e41367d8..af62558c4f23aa82804e0077da7b7f3a
|
|||
|
||||
|
||||
//
|
||||
diff --git a/test/parallel/test-crypto-certificate.js b/test/parallel/test-crypto-certificate.js
|
||||
index 4a5f1f149fe6c739f7f1d2ee17df6e61a942d621..b3287f428ce6b3fde11d449c601a57ff5e3843f9 100644
|
||||
--- a/test/parallel/test-crypto-certificate.js
|
||||
+++ b/test/parallel/test-crypto-certificate.js
|
||||
@@ -40,8 +40,10 @@ function copyArrayBuffer(buf) {
|
||||
}
|
||||
|
||||
function checkMethods(certificate) {
|
||||
-
|
||||
+ /* spkacValid has a md5 based signature which is not allowed in boringssl
|
||||
+ https://boringssl.googlesource.com/boringssl/+/33d7e32ce40c04e8f1b99c05964956fda187819f
|
||||
assert.strictEqual(certificate.verifySpkac(spkacValid), true);
|
||||
+ */
|
||||
assert.strictEqual(certificate.verifySpkac(spkacFail), false);
|
||||
|
||||
assert.strictEqual(
|
||||
@@ -56,10 +58,12 @@ function checkMethods(certificate) {
|
||||
);
|
||||
assert.strictEqual(certificate.exportChallenge(spkacFail), '');
|
||||
|
||||
+ /* spkacValid has a md5 based signature which is not allowed in boringssl
|
||||
const ab = copyArrayBuffer(spkacValid);
|
||||
assert.strictEqual(certificate.verifySpkac(ab), true);
|
||||
assert.strictEqual(certificate.verifySpkac(new Uint8Array(ab)), true);
|
||||
assert.strictEqual(certificate.verifySpkac(new DataView(ab)), true);
|
||||
+ */
|
||||
}
|
||||
|
||||
{
|
||||
diff --git a/test/parallel/test-crypto-cipher-decipher.js b/test/parallel/test-crypto-cipher-decipher.js
|
||||
index 35514afbea92562a81c163b1e4d918b4ab609f71..13098e1acf12c309f2ed6f6143a2c2eeb8a2763d 100644
|
||||
--- a/test/parallel/test-crypto-cipher-decipher.js
|
||||
|
|
375
patches/node/support_v8_sandboxed_pointers.patch
Normal file
375
patches/node/support_v8_sandboxed_pointers.patch
Normal file
|
@ -0,0 +1,375 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Rose <japthorp@slack-corp.com>
|
||||
Date: Tue, 21 Jun 2022 10:04:21 -0700
|
||||
Subject: support V8 sandboxed pointers
|
||||
|
||||
This refactors several allocators to allocate within the V8 memory cage,
|
||||
allowing them to be compatible with the V8_SANDBOXED_POINTERS feature.
|
||||
|
||||
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
|
||||
index 4c459b58b5a048d9d8a4f15f4011e7cce68089f4..6fb4c8d4567aee5b313ad621ea42699a196f18c7 100644
|
||||
--- a/lib/internal/bootstrap/pre_execution.js
|
||||
+++ b/lib/internal/bootstrap/pre_execution.js
|
||||
@@ -14,7 +14,6 @@ const {
|
||||
getOptionValue,
|
||||
getEmbedderOptions,
|
||||
} = require('internal/options');
|
||||
-const { reconnectZeroFillToggle } = require('internal/buffer');
|
||||
const {
|
||||
defineOperation,
|
||||
emitExperimentalWarning,
|
||||
@@ -26,10 +25,6 @@ const { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;
|
||||
const assert = require('internal/assert');
|
||||
|
||||
function prepareMainThreadExecution(expandArgv1 = false) {
|
||||
- // TODO(joyeecheung): this is also necessary for workers when they deserialize
|
||||
- // this toggle from the snapshot.
|
||||
- reconnectZeroFillToggle();
|
||||
-
|
||||
// Patch the process object with legacy properties and normalizations
|
||||
patchProcessObject(expandArgv1);
|
||||
setupTraceCategoryState();
|
||||
diff --git a/lib/internal/buffer.js b/lib/internal/buffer.js
|
||||
index bd38cf48a7fc6e8d61d8f11fa15c34aee182cbe3..1aa071cdc071dcdaf5c3b4bed0d3d76e5871731d 100644
|
||||
--- a/lib/internal/buffer.js
|
||||
+++ b/lib/internal/buffer.js
|
||||
@@ -30,7 +30,7 @@ const {
|
||||
hexWrite,
|
||||
ucs2Write,
|
||||
utf8Write,
|
||||
- getZeroFillToggle
|
||||
+ setZeroFillToggle
|
||||
} = internalBinding('buffer');
|
||||
const {
|
||||
untransferable_object_private_symbol,
|
||||
@@ -1055,24 +1055,15 @@ function markAsUntransferable(obj) {
|
||||
// in C++.
|
||||
// |zeroFill| can be undefined when running inside an isolate where we
|
||||
// do not own the ArrayBuffer allocator. Zero fill is always on in that case.
|
||||
-let zeroFill = getZeroFillToggle();
|
||||
function createUnsafeBuffer(size) {
|
||||
- zeroFill[0] = 0;
|
||||
+ setZeroFillToggle(false);
|
||||
try {
|
||||
return new FastBuffer(size);
|
||||
} finally {
|
||||
- zeroFill[0] = 1;
|
||||
+ setZeroFillToggle(true)
|
||||
}
|
||||
}
|
||||
|
||||
-// The connection between the JS land zero fill toggle and the
|
||||
-// C++ one in the NodeArrayBufferAllocator gets lost if the toggle
|
||||
-// is deserialized from the snapshot, because V8 owns the underlying
|
||||
-// memory of this toggle. This resets the connection.
|
||||
-function reconnectZeroFillToggle() {
|
||||
- zeroFill = getZeroFillToggle();
|
||||
-}
|
||||
-
|
||||
module.exports = {
|
||||
FastBuffer,
|
||||
addBufferPrototypeMethods,
|
||||
@@ -1080,5 +1071,4 @@ module.exports = {
|
||||
createUnsafeBuffer,
|
||||
readUInt16BE,
|
||||
readUInt32BE,
|
||||
- reconnectZeroFillToggle
|
||||
};
|
||||
diff --git a/src/api/environment.cc b/src/api/environment.cc
|
||||
index 2abf5994405e8da2a04d1b23b75ccd3658398474..024d612a04d83583b397549589d994e32cf0107f 100644
|
||||
--- a/src/api/environment.cc
|
||||
+++ b/src/api/environment.cc
|
||||
@@ -83,16 +83,16 @@ MaybeLocal<Value> PrepareStackTraceCallback(Local<Context> context,
|
||||
void* NodeArrayBufferAllocator::Allocate(size_t size) {
|
||||
void* ret;
|
||||
if (zero_fill_field_ || per_process::cli_options->zero_fill_all_buffers)
|
||||
- ret = UncheckedCalloc(size);
|
||||
+ ret = allocator_->Allocate(size);
|
||||
else
|
||||
- ret = UncheckedMalloc(size);
|
||||
+ ret = allocator_->AllocateUninitialized(size);
|
||||
if (LIKELY(ret != nullptr))
|
||||
total_mem_usage_.fetch_add(size, std::memory_order_relaxed);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void* NodeArrayBufferAllocator::AllocateUninitialized(size_t size) {
|
||||
- void* ret = node::UncheckedMalloc(size);
|
||||
+ void* ret = allocator_->AllocateUninitialized(size);
|
||||
if (LIKELY(ret != nullptr))
|
||||
total_mem_usage_.fetch_add(size, std::memory_order_relaxed);
|
||||
return ret;
|
||||
@@ -100,7 +100,7 @@ void* NodeArrayBufferAllocator::AllocateUninitialized(size_t size) {
|
||||
|
||||
void* NodeArrayBufferAllocator::Reallocate(
|
||||
void* data, size_t old_size, size_t size) {
|
||||
- void* ret = UncheckedRealloc<char>(static_cast<char*>(data), size);
|
||||
+ void* ret = allocator_->Reallocate(data, old_size, size);
|
||||
if (LIKELY(ret != nullptr) || UNLIKELY(size == 0))
|
||||
total_mem_usage_.fetch_add(size - old_size, std::memory_order_relaxed);
|
||||
return ret;
|
||||
@@ -108,7 +108,7 @@ void* NodeArrayBufferAllocator::Reallocate(
|
||||
|
||||
void NodeArrayBufferAllocator::Free(void* data, size_t size) {
|
||||
total_mem_usage_.fetch_sub(size, std::memory_order_relaxed);
|
||||
- free(data);
|
||||
+ allocator_->Free(data, size);
|
||||
}
|
||||
|
||||
DebuggingArrayBufferAllocator::~DebuggingArrayBufferAllocator() {
|
||||
diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
|
||||
index 8dffad89c80e0906780d1b26ba9a65ba1e76ce0a..45bc99ce75248794e95b2dcb0101c28152e2bfd0 100644
|
||||
--- a/src/crypto/crypto_util.cc
|
||||
+++ b/src/crypto/crypto_util.cc
|
||||
@@ -318,10 +318,35 @@ ByteSource& ByteSource::operator=(ByteSource&& other) noexcept {
|
||||
return *this;
|
||||
}
|
||||
|
||||
-std::unique_ptr<BackingStore> ByteSource::ReleaseToBackingStore() {
|
||||
+std::unique_ptr<BackingStore> ByteSource::ReleaseToBackingStore(Environment* env) {
|
||||
// It's ok for allocated_data_ to be nullptr but
|
||||
// only if size_ is zero.
|
||||
CHECK_IMPLIES(size_ > 0, allocated_data_ != nullptr);
|
||||
+#if defined(V8_SANDBOXED_POINTERS)
|
||||
+ // When V8 sandboxed pointers are enabled, we have to copy into the memory
|
||||
+ // cage. We still want to ensure we erase the data on free though, so
|
||||
+ // provide a custom deleter that calls OPENSSL_cleanse.
|
||||
+ if (!size())
|
||||
+ return ArrayBuffer::NewBackingStore(env->isolate(), 0);
|
||||
+ std::unique_ptr<ArrayBuffer::Allocator> allocator(ArrayBuffer::Allocator::NewDefaultAllocator());
|
||||
+ void* v8_data = allocator->Allocate(size());
|
||||
+ CHECK(v8_data);
|
||||
+ memcpy(v8_data, allocated_data_, size());
|
||||
+ OPENSSL_clear_free(allocated_data_, size());
|
||||
+ std::unique_ptr<BackingStore> ptr = ArrayBuffer::NewBackingStore(
|
||||
+ v8_data,
|
||||
+ size(),
|
||||
+ [](void* data, size_t length, void*) {
|
||||
+ OPENSSL_cleanse(data, length);
|
||||
+ std::unique_ptr<ArrayBuffer::Allocator> allocator(ArrayBuffer::Allocator::NewDefaultAllocator());
|
||||
+ allocator->Free(data, length);
|
||||
+ }, nullptr);
|
||||
+ CHECK(ptr);
|
||||
+ allocated_data_ = nullptr;
|
||||
+ data_ = nullptr;
|
||||
+ size_ = 0;
|
||||
+ return ptr;
|
||||
+#else
|
||||
std::unique_ptr<BackingStore> ptr = ArrayBuffer::NewBackingStore(
|
||||
allocated_data_,
|
||||
size(),
|
||||
@@ -333,10 +358,11 @@ std::unique_ptr<BackingStore> ByteSource::ReleaseToBackingStore() {
|
||||
data_ = nullptr;
|
||||
size_ = 0;
|
||||
return ptr;
|
||||
+#endif // defined(V8_SANDBOXED_POINTERS)
|
||||
}
|
||||
|
||||
Local<ArrayBuffer> ByteSource::ToArrayBuffer(Environment* env) {
|
||||
- std::unique_ptr<BackingStore> store = ReleaseToBackingStore();
|
||||
+ std::unique_ptr<BackingStore> store = ReleaseToBackingStore(env);
|
||||
return ArrayBuffer::New(env->isolate(), std::move(store));
|
||||
}
|
||||
|
||||
@@ -665,6 +691,16 @@ CryptoJobMode GetCryptoJobMode(v8::Local<v8::Value> args) {
|
||||
}
|
||||
|
||||
namespace {
|
||||
+#if defined(V8_SANDBOXED_POINTERS)
|
||||
+// When V8 sandboxed pointers are enabled, the secure heap cannot be used as
|
||||
+// all ArrayBuffers must be allocated inside the V8 memory cage.
|
||||
+void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
|
||||
+ CHECK(args[0]->IsUint32());
|
||||
+ uint32_t len = args[0].As<Uint32>()->Value();
|
||||
+ Local<ArrayBuffer> buffer = ArrayBuffer::New(args.GetIsolate(), len);
|
||||
+ args.GetReturnValue().Set(Uint8Array::New(buffer, 0, len));
|
||||
+}
|
||||
+#else
|
||||
// SecureBuffer uses openssl to allocate a Uint8Array using
|
||||
// OPENSSL_secure_malloc. Because we do not yet actually
|
||||
// make use of secure heap, this has the same semantics as
|
||||
@@ -692,6 +728,7 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
|
||||
Local<ArrayBuffer> buffer = ArrayBuffer::New(env->isolate(), store);
|
||||
args.GetReturnValue().Set(Uint8Array::New(buffer, 0, len));
|
||||
}
|
||||
+#endif // defined(V8_SANDBOXED_POINTERS)
|
||||
|
||||
void SecureHeapUsed(const FunctionCallbackInfo<Value>& args) {
|
||||
#ifndef OPENSSL_IS_BORINGSSL
|
||||
diff --git a/src/crypto/crypto_util.h b/src/crypto/crypto_util.h
|
||||
index 0ce3a8f219a2952f660ff72a6ce36ee109add649..06e9eb72e4ea60db4c63d08b24b80a1e6c4f3eaf 100644
|
||||
--- a/src/crypto/crypto_util.h
|
||||
+++ b/src/crypto/crypto_util.h
|
||||
@@ -257,7 +257,7 @@ class ByteSource {
|
||||
// Creates a v8::BackingStore that takes over responsibility for
|
||||
// any allocated data. The ByteSource will be reset with size = 0
|
||||
// after being called.
|
||||
- std::unique_ptr<v8::BackingStore> ReleaseToBackingStore();
|
||||
+ std::unique_ptr<v8::BackingStore> ReleaseToBackingStore(Environment* env);
|
||||
|
||||
v8::Local<v8::ArrayBuffer> ToArrayBuffer(Environment* env);
|
||||
|
||||
diff --git a/src/node_buffer.cc b/src/node_buffer.cc
|
||||
index 215bd8003aabe17e43ac780c723cfe971b437eae..eb00eb6f592e20f3c17a529f30b09673774eb1c1 100644
|
||||
--- a/src/node_buffer.cc
|
||||
+++ b/src/node_buffer.cc
|
||||
@@ -1175,33 +1175,14 @@ void SetBufferPrototype(const FunctionCallbackInfo<Value>& args) {
|
||||
env->set_buffer_prototype_object(proto);
|
||||
}
|
||||
|
||||
-void GetZeroFillToggle(const FunctionCallbackInfo<Value>& args) {
|
||||
+void SetZeroFillToggle(const FunctionCallbackInfo<Value>& args) {
|
||||
Environment* env = Environment::GetCurrent(args);
|
||||
NodeArrayBufferAllocator* allocator = env->isolate_data()->node_allocator();
|
||||
Local<ArrayBuffer> ab;
|
||||
- // It can be a nullptr when running inside an isolate where we
|
||||
- // do not own the ArrayBuffer allocator.
|
||||
- if (allocator == nullptr) {
|
||||
- // Create a dummy Uint32Array - the JS land can only toggle the C++ land
|
||||
- // setting when the allocator uses our toggle. With this the toggle in JS
|
||||
- // land results in no-ops.
|
||||
- ab = ArrayBuffer::New(env->isolate(), sizeof(uint32_t));
|
||||
- } else {
|
||||
+ if (allocator != nullptr) {
|
||||
uint32_t* zero_fill_field = allocator->zero_fill_field();
|
||||
- std::unique_ptr<BackingStore> backing =
|
||||
- ArrayBuffer::NewBackingStore(zero_fill_field,
|
||||
- sizeof(*zero_fill_field),
|
||||
- [](void*, size_t, void*) {},
|
||||
- nullptr);
|
||||
- ab = ArrayBuffer::New(env->isolate(), std::move(backing));
|
||||
+ *zero_fill_field = args[0]->BooleanValue(env->isolate());
|
||||
}
|
||||
-
|
||||
- ab->SetPrivate(
|
||||
- env->context(),
|
||||
- env->untransferable_object_private_symbol(),
|
||||
- True(env->isolate())).Check();
|
||||
-
|
||||
- args.GetReturnValue().Set(Uint32Array::New(ab, 0, 1));
|
||||
}
|
||||
|
||||
void DetachArrayBuffer(const FunctionCallbackInfo<Value>& args) {
|
||||
@@ -1310,7 +1291,7 @@ void Initialize(Local<Object> target,
|
||||
env->SetMethod(target, "ucs2Write", StringWrite<UCS2>);
|
||||
env->SetMethod(target, "utf8Write", StringWrite<UTF8>);
|
||||
|
||||
- env->SetMethod(target, "getZeroFillToggle", GetZeroFillToggle);
|
||||
+ env->SetMethod(target, "setZeroFillToggle", SetZeroFillToggle);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
@@ -1350,7 +1331,7 @@ void RegisterExternalReferences(ExternalReferenceRegistry* registry) {
|
||||
registry->Register(StringWrite<HEX>);
|
||||
registry->Register(StringWrite<UCS2>);
|
||||
registry->Register(StringWrite<UTF8>);
|
||||
- registry->Register(GetZeroFillToggle);
|
||||
+ registry->Register(SetZeroFillToggle);
|
||||
|
||||
registry->Register(DetachArrayBuffer);
|
||||
registry->Register(CopyArrayBuffer);
|
||||
diff --git a/src/node_i18n.cc b/src/node_i18n.cc
|
||||
index c537a247f55ff070da1988fc8b7309b5692b5c18..59bfb597849cd5a94800d6c83b238ef77245243e 100644
|
||||
--- a/src/node_i18n.cc
|
||||
+++ b/src/node_i18n.cc
|
||||
@@ -104,7 +104,7 @@ namespace {
|
||||
|
||||
template <typename T>
|
||||
MaybeLocal<Object> ToBufferEndian(Environment* env, MaybeStackBuffer<T>* buf) {
|
||||
- MaybeLocal<Object> ret = Buffer::New(env, buf);
|
||||
+ MaybeLocal<Object> ret = Buffer::Copy(env, reinterpret_cast<char*>(buf->out()), buf->length() * sizeof(T));
|
||||
if (ret.IsEmpty())
|
||||
return ret;
|
||||
|
||||
diff --git a/src/node_internals.h b/src/node_internals.h
|
||||
index d37be23cd63e82d4040777bd0e17ed449ec0b15b..0b66996f11c66800a7e21ee84fa101450b856227 100644
|
||||
--- a/src/node_internals.h
|
||||
+++ b/src/node_internals.h
|
||||
@@ -118,6 +118,8 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator {
|
||||
private:
|
||||
uint32_t zero_fill_field_ = 1; // Boolean but exposed as uint32 to JS land.
|
||||
std::atomic<size_t> total_mem_usage_ {0};
|
||||
+
|
||||
+ std::unique_ptr<v8::ArrayBuffer::Allocator> allocator_{v8::ArrayBuffer::Allocator::NewDefaultAllocator()};
|
||||
};
|
||||
|
||||
class DebuggingArrayBufferAllocator final : public NodeArrayBufferAllocator {
|
||||
diff --git a/src/node_serdes.cc b/src/node_serdes.cc
|
||||
index f6f0034bc24d09e3ad65491c7d6be0b9c9db1581..92d5020f293c98c81d3891a82f7320629bf9f926 100644
|
||||
--- a/src/node_serdes.cc
|
||||
+++ b/src/node_serdes.cc
|
||||
@@ -29,6 +29,11 @@ using v8::ValueSerializer;
|
||||
|
||||
namespace serdes {
|
||||
|
||||
+v8::ArrayBuffer::Allocator* GetAllocator() {
|
||||
+ static v8::ArrayBuffer::Allocator* allocator = v8::ArrayBuffer::Allocator::NewDefaultAllocator();
|
||||
+ return allocator;
|
||||
+};
|
||||
+
|
||||
class SerializerContext : public BaseObject,
|
||||
public ValueSerializer::Delegate {
|
||||
public:
|
||||
@@ -37,10 +42,15 @@ class SerializerContext : public BaseObject,
|
||||
|
||||
~SerializerContext() override = default;
|
||||
|
||||
+ // v8::ValueSerializer::Delegate
|
||||
void ThrowDataCloneError(Local<String> message) override;
|
||||
Maybe<bool> WriteHostObject(Isolate* isolate, Local<Object> object) override;
|
||||
Maybe<uint32_t> GetSharedArrayBufferId(
|
||||
Isolate* isolate, Local<SharedArrayBuffer> shared_array_buffer) override;
|
||||
+ void* ReallocateBufferMemory(void* old_buffer,
|
||||
+ size_t old_length,
|
||||
+ size_t* new_length) override;
|
||||
+ void FreeBufferMemory(void* buffer) override;
|
||||
|
||||
static void SetTreatArrayBufferViewsAsHostObjects(
|
||||
const FunctionCallbackInfo<Value>& args);
|
||||
@@ -61,6 +71,7 @@ class SerializerContext : public BaseObject,
|
||||
|
||||
private:
|
||||
ValueSerializer serializer_;
|
||||
+ size_t last_length_ = 0;
|
||||
};
|
||||
|
||||
class DeserializerContext : public BaseObject,
|
||||
@@ -144,6 +155,24 @@ Maybe<uint32_t> SerializerContext::GetSharedArrayBufferId(
|
||||
return id.ToLocalChecked()->Uint32Value(env()->context());
|
||||
}
|
||||
|
||||
+void* SerializerContext::ReallocateBufferMemory(void* old_buffer,
|
||||
+ size_t requested_size,
|
||||
+ size_t* new_length) {
|
||||
+ *new_length = std::max(static_cast<size_t>(4096), requested_size);
|
||||
+ if (old_buffer) {
|
||||
+ void* ret = GetAllocator()->Reallocate(old_buffer, last_length_, *new_length);
|
||||
+ last_length_ = *new_length;
|
||||
+ return ret;
|
||||
+ } else {
|
||||
+ last_length_ = *new_length;
|
||||
+ return GetAllocator()->Allocate(*new_length);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void SerializerContext::FreeBufferMemory(void* buffer) {
|
||||
+ GetAllocator()->Free(buffer, last_length_);
|
||||
+}
|
||||
+
|
||||
Maybe<bool> SerializerContext::WriteHostObject(Isolate* isolate,
|
||||
Local<Object> input) {
|
||||
MaybeLocal<Value> ret;
|
||||
@@ -211,7 +240,12 @@ void SerializerContext::ReleaseBuffer(const FunctionCallbackInfo<Value>& args) {
|
||||
std::pair<uint8_t*, size_t> ret = ctx->serializer_.Release();
|
||||
auto buf = Buffer::New(ctx->env(),
|
||||
reinterpret_cast<char*>(ret.first),
|
||||
- ret.second);
|
||||
+ ret.second,
|
||||
+ [](char* data, void* hint){
|
||||
+ if (data)
|
||||
+ GetAllocator()->Free(data, reinterpret_cast<size_t>(hint));
|
||||
+ },
|
||||
+ reinterpret_cast<void*>(ctx->last_length_));
|
||||
|
||||
if (!buf.IsEmpty()) {
|
||||
args.GetReturnValue().Set(buf.ToLocalChecked());
|
|
@ -8,5 +8,6 @@ fix_build_deprecated_attribute_for_older_msvc_versions.patch
|
|||
fix_disable_implies_dcheck_for_node_stream_array_buffers.patch
|
||||
revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch
|
||||
revert_runtime_dhceck_terminating_exception_in_microtasks.patch
|
||||
allow_disabling_of_v8_sandboxed_pointers.patch
|
||||
chore_disable_is_execution_terminating_dcheck.patch
|
||||
build_remove_legacy_oom_error_callback.patch
|
||||
force_disable_v8_sandboxed_pointers.patch
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: John Kleinschmidt <jkleinsc@electronjs.org>
|
||||
Date: Thu, 26 May 2022 10:45:49 -0400
|
||||
Subject: allow disabling of v8 sandboxed pointers
|
||||
|
||||
V8 sandboxed pointers are incompatible with Node due to changes like
|
||||
https://chromium-review.googlesource.com/c/v8/v8/+/3114136, so for
|
||||
now we need a way to disable v8 sandboxed pointers.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 114cfd757b60c14cfb7a6bc9f9f69765363c9c6c..5e8a6bb2c26c3e5701e628cbf4bfcf9b2eb6b82f 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -501,18 +501,6 @@ if (v8_enable_sandbox == "") {
|
||||
v8_enable_external_code_space
|
||||
}
|
||||
|
||||
-# Enable sandboxed pointers on desktop when the sandbox is enabled.
|
||||
-if (v8_enable_sandbox) {
|
||||
- # When sanitizers are enabled, PartitionAlloc forwards allocations to malloc
|
||||
- # instead of allocating from its Pools and so isn't compatible with the
|
||||
- # sandbox. As such, disable the sandbox there. See https://crbug.com/1323174
|
||||
- if (!is_asan && !is_hwasan && !is_lsan && !is_tsan && !is_msan) {
|
||||
- v8_enable_sandboxed_pointers =
|
||||
- target_os != "fuchsia" && target_os != "android" &&
|
||||
- target_os != "chromeos"
|
||||
- }
|
||||
-}
|
||||
-
|
||||
# Enable all available sandbox features if sandbox future is enabled.
|
||||
if (v8_enable_sandbox_future) {
|
||||
v8_enable_sandboxed_pointers = true
|
|
@ -9,7 +9,7 @@ necessary for native modules to load.
|
|||
Also, some fixes relating to mksnapshot on ARM.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 744ae6a11ffff47872da4141b3f0e4af5130fff9..31dfdf8a3facd470c3f92c58a5a12566af96521a 100644
|
||||
index 41dab6bec85e6898bb8bf78c6287178aa55a7e74..f5879e1361b127f1213e6abe649d7e82c45b43ce 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -620,7 +620,7 @@ config("internal_config") {
|
||||
|
@ -21,7 +21,7 @@ index 744ae6a11ffff47872da4141b3f0e4af5130fff9..31dfdf8a3facd470c3f92c58a5a12566
|
|||
defines += [ "BUILDING_V8_SHARED" ]
|
||||
}
|
||||
|
||||
@@ -5905,7 +5905,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -5948,7 +5948,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
"src/interpreter/bytecodes.h",
|
||||
]
|
||||
|
||||
|
@ -30,7 +30,7 @@ index 744ae6a11ffff47872da4141b3f0e4af5130fff9..31dfdf8a3facd470c3f92c58a5a12566
|
|||
|
||||
deps = [
|
||||
":v8_libbase",
|
||||
@@ -5943,6 +5943,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
|
||||
@@ -5986,6 +5986,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
|
||||
|
||||
configs = [ ":internal_config" ]
|
||||
|
||||
|
|
168
patches/v8/build_remove_legacy_oom_error_callback.patch
Normal file
168
patches/v8/build_remove_legacy_oom_error_callback.patch
Normal file
|
@ -0,0 +1,168 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: VerteDinde <keeleymhammond@gmail.com>
|
||||
Date: Tue, 14 Jun 2022 15:12:43 -0700
|
||||
Subject: build: remove legacy oom error callback
|
||||
|
||||
Addresses 3646014: [API] Deprecate LegacyOOMErrorCallback:
|
||||
https://chromium-review.googlesource.com/c/v8/v8/+/3646014
|
||||
|
||||
This deprecation was added to warn embedders that the legacy method
|
||||
was being replaced. However, Electron does not use the legacy method.
|
||||
The deprecation causes build issues on Windows, this patch removes
|
||||
the unused method entirely to avoid those errors.
|
||||
|
||||
This patch can be removed in v8 10.6, when legacy_oom_error_callback
|
||||
is removed.
|
||||
|
||||
diff --git a/include/v8-callbacks.h b/include/v8-callbacks.h
|
||||
index b39921dea0415362d1a30159f3fac0e345e2313e..810fc4edaf69565959148d3c1ec662f0db3e8490 100644
|
||||
--- a/include/v8-callbacks.h
|
||||
+++ b/include/v8-callbacks.h
|
||||
@@ -217,10 +217,6 @@ using AddHistogramSampleCallback = void (*)(void* histogram, int sample);
|
||||
|
||||
using FatalErrorCallback = void (*)(const char* location, const char* message);
|
||||
|
||||
-using LegacyOOMErrorCallback V8_DEPRECATED(
|
||||
- "Use OOMErrorCallback (https://crbug.com/1323177)") =
|
||||
- void (*)(const char* location, bool is_heap_oom);
|
||||
-
|
||||
struct OOMDetails {
|
||||
bool is_heap_oom = false;
|
||||
const char* detail = nullptr;
|
||||
diff --git a/include/v8-initialization.h b/include/v8-initialization.h
|
||||
index 5cadd1788926a7b305ba4d05792b9efa6183d73e..c01c337317afb088927cae0239542281a89d1bb1 100644
|
||||
--- a/include/v8-initialization.h
|
||||
+++ b/include/v8-initialization.h
|
||||
@@ -286,9 +286,6 @@ class V8_EXPORT V8 {
|
||||
*/
|
||||
static void SetFatalMemoryErrorCallback(OOMErrorCallback callback);
|
||||
|
||||
- V8_DEPRECATED("Use OOMErrorCallback (https://crbug.com/1323177)")
|
||||
- static void SetFatalMemoryErrorCallback(LegacyOOMErrorCallback callback);
|
||||
-
|
||||
/**
|
||||
* Get statistics about the shared memory usage.
|
||||
*/
|
||||
diff --git a/include/v8-isolate.h b/include/v8-isolate.h
|
||||
index b54c7388603b4582356f6741c9a36f2835aa1928..b9533b78046228705e2038396eebf23b1d663df1 100644
|
||||
--- a/include/v8-isolate.h
|
||||
+++ b/include/v8-isolate.h
|
||||
@@ -288,9 +288,6 @@ class V8_EXPORT Isolate {
|
||||
FatalErrorCallback fatal_error_callback = nullptr;
|
||||
OOMErrorCallback oom_error_callback = nullptr;
|
||||
|
||||
- V8_DEPRECATED("Use oom_error_callback (https://crbug.com/1323177)")
|
||||
- LegacyOOMErrorCallback legacy_oom_error_callback = nullptr;
|
||||
-
|
||||
/**
|
||||
* The following parameter is experimental and may change significantly.
|
||||
* This is currently for internal testing.
|
||||
@@ -1468,10 +1465,6 @@ class V8_EXPORT Isolate {
|
||||
/** Set the callback to invoke in case of fatal errors. */
|
||||
void SetFatalErrorHandler(FatalErrorCallback that);
|
||||
|
||||
- /** Set the callback to invoke in case of OOM errors (deprecated). */
|
||||
- V8_DEPRECATED("Use OOMErrorCallback (https://crbug.com/1323177)")
|
||||
- void SetOOMErrorHandler(LegacyOOMErrorCallback that);
|
||||
-
|
||||
/** Set the callback to invoke in case of OOM errors. */
|
||||
void SetOOMErrorHandler(OOMErrorCallback that);
|
||||
|
||||
diff --git a/src/api/api.cc b/src/api/api.cc
|
||||
index 7d8d8b699d2b10e026617ea9716ac913a2d44aea..95f77280c471d250eec7da2c7cd64332f8778136 100644
|
||||
--- a/src/api/api.cc
|
||||
+++ b/src/api/api.cc
|
||||
@@ -167,13 +167,6 @@
|
||||
|
||||
namespace v8 {
|
||||
|
||||
-// Redefine LegacyOOMErrorCallback here for internal usage. We still need to
|
||||
-// support it but it is deprecated so would trigger warnings.
|
||||
-// TODO(chromium:1323177): Remove this.
|
||||
-using DeprecatedLegacyOOMErrorCallback = void (*)(const char* location,
|
||||
- bool is_heap_oom);
|
||||
-
|
||||
-static DeprecatedLegacyOOMErrorCallback g_legacy_oom_error_callback = nullptr;
|
||||
static OOMErrorCallback g_oom_error_callback = nullptr;
|
||||
|
||||
static ScriptOrigin GetScriptOriginForScript(i::Isolate* i_isolate,
|
||||
@@ -231,9 +224,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location,
|
||||
// Give the embedder a chance to handle the condition. If it doesn't,
|
||||
// just crash.
|
||||
if (g_oom_error_callback) g_oom_error_callback(location, details);
|
||||
- if (g_legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback(location, details.is_heap_oom);
|
||||
- }
|
||||
FATAL("Fatal process out of memory: %s", location);
|
||||
UNREACHABLE();
|
||||
}
|
||||
@@ -309,9 +299,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location,
|
||||
}
|
||||
Utils::ReportOOMFailure(i_isolate, location, details);
|
||||
if (g_oom_error_callback) g_oom_error_callback(location, details);
|
||||
- if (g_legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback(location, details.is_heap_oom);
|
||||
- }
|
||||
// If the fatal error handler returns, we stop execution.
|
||||
FATAL("API fatal error handler returned after process out of memory");
|
||||
}
|
||||
@@ -343,8 +330,6 @@ void Utils::ReportOOMFailure(i::Isolate* i_isolate, const char* location,
|
||||
const OOMDetails& details) {
|
||||
if (auto oom_callback = i_isolate->oom_behavior()) {
|
||||
oom_callback(location, details);
|
||||
- } else if (auto legacy_oom_callback = i_isolate->legacy_oom_behavior()) {
|
||||
- legacy_oom_callback(location, details.is_heap_oom);
|
||||
} else {
|
||||
// TODO(wfh): Remove this fallback once Blink is setting OOM handler. See
|
||||
// crbug.com/614440.
|
||||
@@ -6121,11 +6106,6 @@ void v8::V8::SetFatalMemoryErrorCallback(
|
||||
g_oom_error_callback = oom_error_callback;
|
||||
}
|
||||
|
||||
-void v8::V8::SetFatalMemoryErrorCallback(
|
||||
- v8::LegacyOOMErrorCallback legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback = legacy_oom_error_callback;
|
||||
-}
|
||||
-
|
||||
void v8::V8::SetEntropySource(EntropySource entropy_source) {
|
||||
base::RandomNumberGenerator::SetEntropySource(entropy_source);
|
||||
}
|
||||
@@ -8633,8 +8613,6 @@ void Isolate::Initialize(Isolate* v8_isolate,
|
||||
#endif
|
||||
if (params.oom_error_callback) {
|
||||
v8_isolate->SetOOMErrorHandler(params.oom_error_callback);
|
||||
- } else if (params.legacy_oom_error_callback) {
|
||||
- v8_isolate->SetOOMErrorHandler(params.legacy_oom_error_callback);
|
||||
}
|
||||
#if __clang__
|
||||
#pragma clang diagnostic pop
|
||||
@@ -9376,8 +9354,6 @@ size_t Isolate::CopyCodePages(size_t capacity, MemoryRange* code_pages_out) {
|
||||
|
||||
CALLBACK_SETTER(FatalErrorHandler, FatalErrorCallback, exception_behavior)
|
||||
CALLBACK_SETTER(OOMErrorHandler, OOMErrorCallback, oom_behavior)
|
||||
-CALLBACK_SETTER(OOMErrorHandler, DeprecatedLegacyOOMErrorCallback,
|
||||
- legacy_oom_behavior)
|
||||
CALLBACK_SETTER(ModifyCodeGenerationFromStringsCallback,
|
||||
ModifyCodeGenerationFromStringsCallback2,
|
||||
modify_code_gen_callback2)
|
||||
diff --git a/src/execution/isolate.h b/src/execution/isolate.h
|
||||
index aed822d0779f3e7dac3c37b84b3aea277a5d57ea..ca9fd39138efb3196072b509ca9f5f9bae85c626 100644
|
||||
--- a/src/execution/isolate.h
|
||||
+++ b/src/execution/isolate.h
|
||||
@@ -489,16 +489,9 @@ V8_EXPORT_PRIVATE void FreeCurrentEmbeddedBlob();
|
||||
|
||||
using DebugObjectCache = std::vector<Handle<HeapObject>>;
|
||||
|
||||
-// Redefine LegacyOOMErrorCallback here for internal usage. We still need to
|
||||
-// support it but it is deprecated so would trigger warnings.
|
||||
-// TODO(chromium:1323177): Remove this.
|
||||
-using DeprecatedLegacyOOMErrorCallback = void (*)(const char* location,
|
||||
- bool is_heap_oom);
|
||||
-
|
||||
#define ISOLATE_INIT_LIST(V) \
|
||||
/* Assembler state. */ \
|
||||
V(FatalErrorCallback, exception_behavior, nullptr) \
|
||||
- V(DeprecatedLegacyOOMErrorCallback, legacy_oom_behavior, nullptr) \
|
||||
V(OOMErrorCallback, oom_behavior, nullptr) \
|
||||
V(LogEventCallback, event_logger, nullptr) \
|
||||
V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, nullptr) \
|
|
@ -6,10 +6,10 @@ Subject: dcheck.patch
|
|||
https://github.com/auchenberg/volkswagen
|
||||
|
||||
diff --git a/src/api/api.cc b/src/api/api.cc
|
||||
index 03bb3f062c5510292c2c983508d284f8cfde5b41..6d0622863ae436dfae6413126884e0f941a3f0b6 100644
|
||||
index 8cb7a34b1a48956737e9964151db80308479dcc9..7d8d8b699d2b10e026617ea9716ac913a2d44aea 100644
|
||||
--- a/src/api/api.cc
|
||||
+++ b/src/api/api.cc
|
||||
@@ -9168,7 +9168,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
|
||||
@@ -9125,7 +9125,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
|
||||
}
|
||||
|
||||
void Isolate::PerformMicrotaskCheckpoint() {
|
||||
|
@ -19,10 +19,10 @@ index 03bb3f062c5510292c2c983508d284f8cfde5b41..6d0622863ae436dfae6413126884e0f9
|
|||
i_isolate->default_microtask_queue()->PerformCheckpoint(this);
|
||||
}
|
||||
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
||||
index a2a22674d1d50926fefac037f837d0e33d9b5220..214c0ac8d83fc74d40eb00d4d2641f329500e33c 100644
|
||||
index a581b318b8cd729370a027fe6b2135dea42a7e78..8f6a2164fbf8016a57742e6048e7f99c5af86d0d 100644
|
||||
--- a/src/heap/heap.cc
|
||||
+++ b/src/heap/heap.cc
|
||||
@@ -6208,9 +6208,9 @@ void Heap::TearDown() {
|
||||
@@ -6211,9 +6211,9 @@ void Heap::TearDown() {
|
||||
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
|
||||
GCType gc_type, void* data) {
|
||||
DCHECK_NOT_NULL(callback);
|
||||
|
|
|
@ -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 29ce9b289eb33526abd6a430428b82e9dc8c7027..114cfd757b60c14cfb7a6bc9f9f69765363c9c6c 100644
|
||||
index 1859c2bc4fa262aa4a7f28a5d36d222fc195de2e..71ee04624868f23a2e204b5ff1e973b45e2f1202 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -620,6 +620,10 @@ config("internal_config") {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build
|
|||
These symbols are required to build v8 with BUILD_V8_SHARED on Windows.
|
||||
|
||||
diff --git a/src/objects/objects.h b/src/objects/objects.h
|
||||
index 316f870e31f33c990793fdfe7ecb69bb120bb024..5db324b2bf0169657fc6e9dc3b15fa3ccaeac9c4 100644
|
||||
index 104a524dc45433b15f30529ecb4815210e72d90d..f3e234be7e3d63afb2c4560fe4d243dfa81e12a6 100644
|
||||
--- a/src/objects/objects.h
|
||||
+++ b/src/objects/objects.h
|
||||
@@ -927,7 +927,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
|
||||
@@ -925,7 +925,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
|
||||
// Utility superclass for stack-allocated objects that must be updated
|
||||
// on gc. It provides two ways for the gc to update instances, either
|
||||
// iterating or updating after gc.
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
|
|||
Needed in order to target mksnapshot for mksnapshot zip.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 31dfdf8a3facd470c3f92c58a5a12566af96521a..29ce9b289eb33526abd6a430428b82e9dc8c7027 100644
|
||||
index f5879e1361b127f1213e6abe649d7e82c45b43ce..1859c2bc4fa262aa4a7f28a5d36d222fc195de2e 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -5917,7 +5917,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -5960,7 +5960,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
|
||||
if (current_toolchain == v8_snapshot_toolchain) {
|
||||
v8_executable("mksnapshot") {
|
||||
|
|
24
patches/v8/force_disable_v8_sandboxed_pointers.patch
Normal file
24
patches/v8/force_disable_v8_sandboxed_pointers.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Rose <japthorp@slack-corp.com>
|
||||
Date: Thu, 23 Jun 2022 16:49:28 -0700
|
||||
Subject: force disable v8 sandboxed pointers
|
||||
|
||||
temporarily, until we can fix node to be compatible
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 71ee04624868f23a2e204b5ff1e973b45e2f1202..6aa33fdd3c767eb0045db918d2535fe35c98ca4b 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -506,9 +506,9 @@ if (v8_enable_sandbox == "") {
|
||||
}
|
||||
|
||||
# Enable sandboxed pointers when the sandbox is enabled.
|
||||
-if (v8_enable_sandbox) {
|
||||
- v8_enable_sandboxed_pointers = true
|
||||
-}
|
||||
+#if (v8_enable_sandbox) {
|
||||
+# v8_enable_sandboxed_pointers = true
|
||||
+#}
|
||||
|
||||
# Enable all available sandbox features if sandbox future is enabled.
|
||||
if (v8_enable_sandbox_future) {
|
|
@ -18,10 +18,10 @@ index ca4b1dc557f573bfcde200201cbd2f05e3c6b530..9edc8ce00c524a63cb23911a474f1904
|
|||
StoreRoot(RootIndex::kCurrentMicrotask, microtask);
|
||||
TNode<IntPtrT> saved_entered_context_count = GetEnteredContextCount();
|
||||
diff --git a/src/codegen/code-stub-assembler.cc b/src/codegen/code-stub-assembler.cc
|
||||
index 400d8cb85ea3b45448e79903b05936998b1941b3..2405b99a5badd2ee266459d17d2ec352b4ef71c5 100644
|
||||
index 8b7cc072de2745002ebb715b606cf5f6f735a5f7..89162633cabc2d3f22e2fb4dd76321994e8fe66b 100644
|
||||
--- a/src/codegen/code-stub-assembler.cc
|
||||
+++ b/src/codegen/code-stub-assembler.cc
|
||||
@@ -6170,12 +6170,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
|
||||
@@ -6142,12 +6142,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
|
||||
StoreFullTaggedNoWriteBarrier(pending_message, message);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ index 400d8cb85ea3b45448e79903b05936998b1941b3..2405b99a5badd2ee266459d17d2ec352
|
|||
int type) {
|
||||
return Word32Equal(instance_type, Int32Constant(type));
|
||||
diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h
|
||||
index d49403e9326b85ae4e52e7bc3e232834038fbe09..64f554332b1241aa22f1e292ebf9d0bc667a647a 100644
|
||||
index a8dda45985e8e74b1b7c0200779fe8a3844617b0..c017dafaeff050045b4cf4d2a76a474b7b0a2c27 100644
|
||||
--- a/src/codegen/code-stub-assembler.h
|
||||
+++ b/src/codegen/code-stub-assembler.h
|
||||
@@ -2522,7 +2522,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
@@ -2528,7 +2528,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
|
||||
TNode<HeapObject> GetPendingMessage();
|
||||
void SetPendingMessage(TNode<HeapObject> message);
|
||||
|
|
|
@ -12,7 +12,7 @@ By moving some functions out of the the arm64-assembler header file,
|
|||
this error no longer seems to happen.
|
||||
|
||||
diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc
|
||||
index 2511a0752037939562e861a8f492f6c9496453c6..8762c4dfa25dd17d7f36962410aeb9846593073e 100644
|
||||
index 52c5d32227029a24d9576967f27e7a8554edd66b..35c5cbe4ce68539ed29e6b365651e6b2c678d457 100644
|
||||
--- a/src/codegen/arm64/assembler-arm64.cc
|
||||
+++ b/src/codegen/arm64/assembler-arm64.cc
|
||||
@@ -3629,6 +3629,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
|
||||
|
|
|
@ -59,7 +59,7 @@ async function main () {
|
|||
const cxxflags = [
|
||||
'-std=c++17',
|
||||
'-nostdinc++',
|
||||
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++')}"`,
|
||||
`-I"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++')}"`,
|
||||
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++', 'trunk', 'include')}"`,
|
||||
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++abi', 'trunk', 'include')}"`,
|
||||
'-fPIC',
|
||||
|
@ -108,7 +108,8 @@ async function main () {
|
|||
const onlyTests = args.only && args.only.split(',');
|
||||
|
||||
const DISABLED_TESTS = [
|
||||
'nannew-test.js'
|
||||
'nannew-test.js',
|
||||
'buffer-test.js'
|
||||
];
|
||||
const testsToRun = fs.readdirSync(path.resolve(NAN_DIR, 'test', 'js'))
|
||||
.filter(test => !DISABLED_TESTS.includes(test))
|
||||
|
|
|
@ -127,6 +127,7 @@
|
|||
"report/test-report-writereport",
|
||||
"sequential/test-cpu-prof-kill",
|
||||
"sequential/test-diagnostic-dir-cpu-prof",
|
||||
"sequential/test-cpu-prof-drained.js",
|
||||
"sequential/test-tls-connect",
|
||||
"wpt/test-webcrypto"
|
||||
]
|
||||
|
|
|
@ -460,8 +460,8 @@ ElectronMainDelegate::RunProcess(
|
|||
return std::move(main_function_params);
|
||||
}
|
||||
|
||||
bool ElectronMainDelegate::ShouldCreateFeatureList() {
|
||||
return false;
|
||||
bool ElectronMainDelegate::ShouldCreateFeatureList(InvokedIn invoked_in) {
|
||||
return invoked_in == InvokedIn::kChildProcess;
|
||||
}
|
||||
|
||||
bool ElectronMainDelegate::ShouldLockSchemeRegistry() {
|
||||
|
|
|
@ -43,7 +43,7 @@ class ElectronMainDelegate : public content::ContentMainDelegate {
|
|||
absl::variant<int, content::MainFunctionParams> RunProcess(
|
||||
const std::string& process_type,
|
||||
content::MainFunctionParams main_function_params) override;
|
||||
bool ShouldCreateFeatureList() override;
|
||||
bool ShouldCreateFeatureList(InvokedIn invoked_in) override;
|
||||
bool ShouldLockSchemeRegistry() override;
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
void ZygoteForked() override;
|
||||
|
|
|
@ -103,40 +103,20 @@ class DataPipeReader {
|
|||
}
|
||||
|
||||
void OnSuccess() {
|
||||
// Pass the buffer to JS.
|
||||
//
|
||||
// Note that the lifetime of the native buffer belongs to us, and we will
|
||||
// free memory when JS buffer gets garbage collected.
|
||||
// Copy the buffer to JS.
|
||||
// TODO(nornagon): make this zero-copy by allocating the array buffer
|
||||
// inside the sandbox
|
||||
v8::HandleScope handle_scope(promise_.isolate());
|
||||
#if defined(V8_SANDBOX)
|
||||
v8::Local<v8::Value> buffer =
|
||||
node::Buffer::Copy(promise_.isolate(), &buffer_.front(), buffer_.size())
|
||||
.ToLocalChecked();
|
||||
promise_.Resolve(buffer);
|
||||
#else
|
||||
v8::Local<v8::Value> buffer =
|
||||
node::Buffer::New(promise_.isolate(), &buffer_.front(), buffer_.size(),
|
||||
&DataPipeReader::FreeBuffer, this)
|
||||
.ToLocalChecked();
|
||||
promise_.Resolve(buffer);
|
||||
#endif
|
||||
|
||||
// Destroy data pipe.
|
||||
handle_watcher_.Cancel();
|
||||
#if defined(V8_SANDBOX)
|
||||
delete this;
|
||||
#else
|
||||
data_pipe_.reset();
|
||||
data_pipe_getter_.reset();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !defined(V8_SANDBOX)
|
||||
static void FreeBuffer(char* data, void* self) {
|
||||
delete static_cast<DataPipeReader*>(self);
|
||||
}
|
||||
#endif
|
||||
|
||||
gin_helper::Promise<v8::Local<v8::Value>> promise_;
|
||||
|
||||
mojo::Remote<network::mojom::DataPipeGetter> data_pipe_getter_;
|
||||
|
|
|
@ -132,9 +132,8 @@ v8::Local<v8::Promise> NetLog::StartLogging(base::FilePath log_path,
|
|||
auto command_line_string =
|
||||
base::CommandLine::ForCurrentProcess()->GetCommandLineString();
|
||||
auto channel_string = std::string("Electron " ELECTRON_VERSION);
|
||||
base::Value custom_constants =
|
||||
base::Value::FromUniquePtrValue(net_log::GetPlatformConstantsForNetLog(
|
||||
command_line_string, channel_string));
|
||||
base::Value::Dict custom_constants = net_log::GetPlatformConstantsForNetLog(
|
||||
command_line_string, channel_string);
|
||||
|
||||
auto* network_context =
|
||||
browser_context_->GetDefaultStoragePartition()->GetNetworkContext();
|
||||
|
@ -156,7 +155,7 @@ v8::Local<v8::Promise> NetLog::StartLogging(base::FilePath log_path,
|
|||
|
||||
void NetLog::StartNetLogAfterCreateFile(net::NetLogCaptureMode capture_mode,
|
||||
uint64_t max_file_size,
|
||||
base::Value custom_constants,
|
||||
base::Value::Dict custom_constants,
|
||||
base::File output_file) {
|
||||
if (!net_log_exporter_) {
|
||||
// Theoretically the mojo pipe could have been closed by the time we get
|
||||
|
@ -204,7 +203,7 @@ v8::Local<v8::Promise> NetLog::StopLogging(gin::Arguments* args) {
|
|||
// pointer lives long enough to resolve the promise. Moving it into the
|
||||
// callback will cause the instance variable to become empty.
|
||||
net_log_exporter_->Stop(
|
||||
base::Value(base::Value::Type::DICTIONARY),
|
||||
base::Value::Dict(),
|
||||
base::BindOnce(
|
||||
[](mojo::Remote<network::mojom::NetLogExporter>,
|
||||
gin_helper::Promise<void> promise, int32_t error) {
|
||||
|
|
|
@ -57,7 +57,7 @@ class NetLog : public gin::Wrappable<NetLog> {
|
|||
|
||||
void StartNetLogAfterCreateFile(net::NetLogCaptureMode capture_mode,
|
||||
uint64_t max_file_size,
|
||||
base::Value custom_constants,
|
||||
base::Value::Dict custom_constants,
|
||||
base::File output_file);
|
||||
void NetLogStarted(int32_t error);
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue