bcbc8d3bb2
* chore: bump chromium in DEPS to 131.0.6756.0 * chore: update disable_hidden.patch no code changes; just handling upstream context shear https://chromium-review.googlesource.com/c/chromium/src/+/5887019 * chore: update feat_expose_raw_response_headers_from_urlloader.patch Factor out URLLoader's URLRequest configuration into a helper Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5902254 * chore: update fix_disabling_background_throttling_in_compositor.patch no manual changes; patch applied with fuzz 1 * chore: e patches all * 5882129: Fix basic auth issues for sub frame and sub resources | https://chromium-review.googlesource.com/c/chromium/src/+/5882129 - Add `is_request_for_navigation` param to ElectronBrowserClient::CreateLoginDelegate(). - Propagate the flag as another undocumented property in the app.login Event's authenticationResponseDetails object - Side cleanup: also in CreateLoginDelegate(), use upstream's name for the `is_request_for_main_frame` param, renamed back in https://chromium-review.googlesource.com/c/chromium/src/+/3256171 * 5875189: [FSA] Check for DANGEROUS extension types when creating a new file. | https://chromium-review.googlesource.com/c/chromium/src/+/5875189 * chore: node ./script/gen-libc++-filenames.js * chore: bump chromium in DEPS to 131.0.6758.0 * chore: bump chromium in DEPS to 131.0.6760.0 * chore: update patches * [A11y] Remove Accessibility Object Model (AOM) Refs https://chromium-review.googlesource.com/c/chromium/src/+/5896593 * chore: bump chromium in DEPS to 131.0.6762.0 * [heap] Remove deprecated V8 flag Refs https://chromium-review.googlesource.com/c/v8/v8/+/5904046 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
45 lines
2 KiB
Diff
45 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Henri Torgemane <henrit@gmail.com>
|
|
Date: Thu, 23 Sep 2021 21:30:33 -0500
|
|
Subject: add ui::ScopedCliboardWriter::WriteUnsafeRawData
|
|
|
|
This restores some ability to write to the clipboard using raw formats, which
|
|
was removed as part of the Raw Clipboard API scrubbing.
|
|
https://bugs.chromium.org/p/chromium/issues/detail?id=1217643
|
|
|
|
diff --git a/ui/base/clipboard/scoped_clipboard_writer.cc b/ui/base/clipboard/scoped_clipboard_writer.cc
|
|
index 28df49366e87d17c831b8f941e30faa19cf36626..d68c58edeb6abec865f6ad051e5da2c0bdc7981d 100644
|
|
--- a/ui/base/clipboard/scoped_clipboard_writer.cc
|
|
+++ b/ui/base/clipboard/scoped_clipboard_writer.cc
|
|
@@ -237,6 +237,16 @@ void ScopedClipboardWriter::WriteEncodedDataTransferEndpointForTesting(
|
|
}
|
|
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
|
|
|
+void ScopedClipboardWriter::WriteUnsafeRawData(const std::u16string& format,
|
|
+ mojo_base::BigBuffer data) {
|
|
+ static constexpr int kMaxRegisteredFormats = 100;
|
|
+ if (counter_ >= kMaxRegisteredFormats)
|
|
+ return;
|
|
+ counter_++;
|
|
+ platform_representations_.push_back(
|
|
+ {base::UTF16ToUTF8(format), std::move(data)});
|
|
+}
|
|
+
|
|
void ScopedClipboardWriter::Reset() {
|
|
objects_.clear();
|
|
platform_representations_.clear();
|
|
diff --git a/ui/base/clipboard/scoped_clipboard_writer.h b/ui/base/clipboard/scoped_clipboard_writer.h
|
|
index 96ba9abb9b7efab79adbf299c6bd3b4f7a4501e1..0916b81ec5b3cb123185b7cff332120ee498fb57 100644
|
|
--- a/ui/base/clipboard/scoped_clipboard_writer.h
|
|
+++ b/ui/base/clipboard/scoped_clipboard_writer.h
|
|
@@ -89,6 +89,10 @@ class COMPONENT_EXPORT(UI_BASE_CLIPBOARD) ScopedClipboardWriter {
|
|
// This is only used to write custom format data.
|
|
void WriteData(const std::u16string& format, mojo_base::BigBuffer data);
|
|
|
|
+ // write raw (non-pickled) data to the clipboard
|
|
+ void WriteUnsafeRawData(const std::u16string& format,
|
|
+ mojo_base::BigBuffer data);
|
|
+
|
|
void WriteImage(const SkBitmap& bitmap);
|
|
|
|
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|