mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 142.0.7432.2 * chore: bump chromium in DEPS to 142.0.7434.1 * chore: bump chromium in DEPS to 142.0.7436.1 * chore: bump chromium in DEPS to 142.0.7438.1 * chore: bump chromium in DEPS to 142.0.7440.1 * chore: bump chromium in DEPS to 142.0.7442.1 * chore: bump chromium in DEPS to 142.0.7444.1 * chore: bump chromium in DEPS to 142.0.7444.6 * chore: bump chromium in DEPS to 142.0.7444.3 * 6973697: Use type tags for data stored in V8 internal fields https://chromium-review.googlesource.com/c/chromium/src/+/6973697 * chore: update patches * chore: update filenames.libcxx.gni * fix: parse macOS SDK version across line break https://chromium-review.googlesource.com/c/chromium/src/+/6980166 (cherry picked from commit2bcbb33de0) * fix: replace v8::Object::SetPrototype() usage https://chromium-review.googlesource.com/c/v8/v8/+/6983465 https://github.com/nodejs/node/pull/55453 (cherry picked from commitc31b9ed5ac) * fix: replace additional usages of SetPrototype https://chromium-review.googlesource.com/c/v8/v8/+/6983465 (cherry picked from commit bf151e9d28520c7dd74cba62240acbcaaab5433d) * fixup! fix: replace additional usages of SetPrototype https://chromium-review.googlesource.com/c/v8/v8/+/6983465 (cherry picked from commit f4434755b82b098e4d83d42bab26f183b6824f99) * build: use macos 15 minimum https://chromium-review.googlesource.com/c/chromium/src/+/6980166 (cherry picked from commit 4d2b5d7b2cf9a1786cdb1a77bf73e4ad0d3e45d1) * fixup! build: use macos 15 minimum https://chromium-review.googlesource.com/c/chromium/src/+/6980166 (cherry picked from commit 94bb41a66330dcaf6b92c80cfefd72759405793d) * ci: ignore missing dir for strip_universal_deep (cherry picked from commit 634963f171bc5f6050151f76973e7ffbab0e00cf) * chore: update patches * chore: update patches * chore: bump chromium in DEPS to 142.0.7444.23 * fix: disable C++ modules in electron_lib builds https://chromium-review.googlesource.com/c/chromium/src/+/6950738 (cherry picked from commit6207c79aec) * Revert "build: use macos 15 minimum" This reverts commit2fc12d6acc. Initially this change was made to test if it fixes libcxx compilation issues. As that's now resolved by disabling libcxx modules, this can be reverted. (cherry picked from commitad52007d5b) * fix: js2c compilation failure https://chromium-review.googlesource.com/c/chromium/src/+/6950738 See patch description explaining MacOS 26 SDK headers incompatibility. (cherry picked from commit39e2470875) * fix: disable C++ modules in libnode builds (cherry picked from commitfd0a7b61a1) * fixup! fix: replace v8::Object::SetPrototype() usage https://chromium-review.googlesource.com/c/v8/v8/+/6983465 https://github.com/nodejs/node/pull/55453 (cherry picked from commit2f52159b71) * build: switch to macos-15 runner build/mac/find_sdk.py now requires macOS 15 SDK as a minimum version. The macos 15 runners default to an Xcode using the 15 SDK and removes older versions. (cherry picked from commite368703f24) * chore: update patches * fix: partially revert is_headless_mode removal https://chromium-review.googlesource.com/c/chromium/src/+/6955633 This patch should likely be reworked. For now, this partially reverts the removal of a required class property to restore behavior. (cherry picked from commitaff3bf9a24) * 6938086: Rename native_widget_types.h -> native_ui_types.h | https://chromium-review.googlesource.com/c/chromium/src/+/6938086 (cherry picked from commitc95ac7bf2b) * 6973697: Use type tags for data stored in V8 internal fields https://chromium-review.googlesource.com/c/chromium/src/+/6973697 * fixup! fix: check new forced colors enum value https://chromium-review.googlesource.com/c/chromium/src/+/6944403 (cherry picked from commit0829c74b2f) * fix: check new forced colors enum value https://chromium-review.googlesource.com/c/chromium/src/+/6944403 (cherry picked from commitd585879807) * feat: add new memory-eviction exit reason https://chromium-review.googlesource.com/c/chromium/src/+/6991933 (cherry picked from commit6e63197a22) * fix: views::NonClientFrameView -> views::FrameView https://chromium-review.googlesource.com/c/chromium/src/+/7005027 https://chromium-review.googlesource.com/c/chromium/src/+/6966937 (cherry picked from commit1e86b6ddfb) * fix: migrate NetworkConditions -> MatchedNetworkConditions https://chromium-review.googlesource.com/c/chromium/src/+/6827307 (cherry picked from commit97100ac168) * fix: provide DeviceEmulationCacheBehavior param https://chromium-review.googlesource.com/c/chromium/src/+/6965238 (cherry picked from commitf9a08c5384) * fix: add missing image_skia include https://chromium-review.googlesource.com/c/chromium/src/+/6986762 (cherry picked from commitdd5eaf03fd) * fixup! fix: add missing image_skia include https://chromium-review.googlesource.com/c/chromium/src/+/6986762 (cherry picked from commit249c4d4de1) * 6948286: [wasm-imported-strings] Drop feature flag https://chromium-review.googlesource.com/c/v8/v8/+/6948286 * fix: disable protocol handler DCHECK https://chromium-review.googlesource.com/c/chromium/src/+/6727594 Ignore the extension custom protocol handler registry DCHECK until we invest in supporting it. Replacing this DCHECK seems harmless and will unblock the roll. (cherry picked from commit019d3f0b09) * 6986762: Remove some includes of //ui/gfx/image/image_skia.h https: //chromium-review.googlesource.com/c/chromium/src/+/6986762 * fixup! fix: migrate NetworkConditions -> MatchedNetworkConditions https://chromium-review.googlesource.com/c/chromium/src/+/6827307 (cherry picked from commita8f67f1ac3) * fixup: 6986762: Remove some includes of //ui/gfx/image/image_skia.h s * fix: replace deprecated usage of SetPrototype https://chromium-review.googlesource.com/c/v8/v8/+/6983465 (cherry picked from commit5435d87b40) * chore: restore electron embedder data tag patch Co-Authored-By: Sam Maddock <sam@samuelmaddock.com> * chore: update patches --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> Co-authored-by: Alice Zhao <alicelovescake@anthropic.com> Co-authored-by: Sam Maddock <sam@samuelmaddock.com>
144 lines
5.7 KiB
Diff
144 lines
5.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jeremy Apthorp <jeremya@chromium.org>
|
|
Date: Thu, 30 Apr 2020 10:08:06 -0700
|
|
Subject: crash: allow setting more options
|
|
|
|
This allows the client of //components/crash to set upload url,
|
|
rate-limiting, compression and global annotations.
|
|
|
|
This should be upstreamed.
|
|
|
|
diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc
|
|
index b6a2910848c66489e70acdce6e09237bf6188f94..744cca2d1b8856719b9ae5aed6c443e8752da75e 100644
|
|
--- a/components/crash/core/app/crash_reporter_client.cc
|
|
+++ b/components/crash/core/app/crash_reporter_client.cc
|
|
@@ -119,6 +119,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
|
return false;
|
|
}
|
|
|
|
+bool CrashReporterClient::GetShouldRateLimit() {
|
|
+ return true;
|
|
+}
|
|
+
|
|
+bool CrashReporterClient::GetShouldCompressUploads() {
|
|
+ return true;
|
|
+}
|
|
+
|
|
+void CrashReporterClient::GetProcessSimpleAnnotations(std::map<std::string, std::string>* annotations) {
|
|
+}
|
|
+
|
|
#if BUILDFLAG(IS_ANDROID)
|
|
unsigned int CrashReporterClient::GetCrashDumpPercentage() {
|
|
return 100;
|
|
diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h
|
|
index 7c890b331be4aaaf20c7efe8a4bcc2f6e9012b7a..c573524d05c07ec67d35046bc8548cc1dfdd0df3 100644
|
|
--- a/components/crash/core/app/crash_reporter_client.h
|
|
+++ b/components/crash/core/app/crash_reporter_client.h
|
|
@@ -7,6 +7,7 @@
|
|
|
|
#include <stdint.h>
|
|
|
|
+#include <map>
|
|
#include <string>
|
|
|
|
#include "build/build_config.h"
|
|
@@ -141,6 +142,19 @@ class CrashReporterClient {
|
|
// that case, |breakpad_enabled| is set to the value enforced by policies.
|
|
virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled);
|
|
|
|
+ // Returns true if crash uploads should be rate limited. If false, no
|
|
+ // throttling will be applied for uploads.
|
|
+ virtual bool GetShouldRateLimit();
|
|
+
|
|
+ // Returns true if crash uploads should be compressed with gzip. If false,
|
|
+ // reports will be uploaded uncompressed.
|
|
+ virtual bool GetShouldCompressUploads();
|
|
+
|
|
+ // Allows the client to add or edit global annotations passed to the crashpad
|
|
+ // handler.
|
|
+ virtual void GetProcessSimpleAnnotations(
|
|
+ std::map<std::string, std::string>* annotations);
|
|
+
|
|
#if BUILDFLAG(IS_ANDROID)
|
|
// 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 d4d3555891b19d61676465c856055fb04e0168bc..3228888f5449df723f4385a0f2c9b456caa472f0 100644
|
|
--- a/components/crash/core/app/crashpad_linux.cc
|
|
+++ b/components/crash/core/app/crashpad_linux.cc
|
|
@@ -219,6 +219,7 @@ bool PlatformCrashpadInitialization(
|
|
// where crash_reporter provides it's own values for lsb-release.
|
|
annotations["lsb-release"] = base::GetLinuxDistro();
|
|
#endif
|
|
+ crash_reporter_client->GetProcessSimpleAnnotations(&annotations);
|
|
|
|
std::vector<std::string> arguments;
|
|
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
|
|
@@ -240,6 +241,13 @@ bool PlatformCrashpadInitialization(
|
|
}
|
|
#endif
|
|
|
|
+ if (!crash_reporter_client->GetShouldRateLimit()) {
|
|
+ arguments.push_back("--no-rate-limit");
|
|
+ }
|
|
+ if (!crash_reporter_client->GetShouldCompressUploads()) {
|
|
+ arguments.push_back("--no-upload-gzip");
|
|
+ }
|
|
+
|
|
CHECK(client.StartHandler(handler_path, *database_path, metrics_path, url,
|
|
annotations, arguments, false, false,
|
|
attachments));
|
|
diff --git a/components/crash/core/app/crashpad_mac.mm b/components/crash/core/app/crashpad_mac.mm
|
|
index 3b131e1fc804a55c80b3b2704686270211fcf9fb..f14ab66f240a236bd90ff4240089a0036ce7d460 100644
|
|
--- a/components/crash/core/app/crashpad_mac.mm
|
|
+++ b/components/crash/core/app/crashpad_mac.mm
|
|
@@ -86,6 +86,8 @@
|
|
} // @autoreleasepool
|
|
return process_annotations;
|
|
}();
|
|
+ CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
|
|
+ crash_reporter_client->GetProcessSimpleAnnotations(&annotations);
|
|
return annotations;
|
|
}
|
|
|
|
@@ -159,6 +161,13 @@ bool PlatformCrashpadInitialization(
|
|
|
|
std::vector<std::string> arguments;
|
|
|
|
+ if (!crash_reporter_client->GetShouldRateLimit()) {
|
|
+ arguments.push_back("--no-rate-limit");
|
|
+ }
|
|
+ if (!crash_reporter_client->GetShouldCompressUploads()) {
|
|
+ arguments.push_back("--no-upload-gzip");
|
|
+ }
|
|
+
|
|
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
|
|
arguments.push_back("--monitor-self");
|
|
}
|
|
diff --git a/components/crash/core/app/crashpad_win.cc b/components/crash/core/app/crashpad_win.cc
|
|
index a7af39181e259b4c793fa9a39cb95e4f86ac47d1..6101018813315074a1e06bea318ecf3f91188415 100644
|
|
--- a/components/crash/core/app/crashpad_win.cc
|
|
+++ b/components/crash/core/app/crashpad_win.cc
|
|
@@ -94,6 +94,7 @@ bool PlatformCrashpadInitialization(
|
|
|
|
std::map<std::string, std::string> process_annotations;
|
|
GetPlatformCrashpadAnnotations(&process_annotations);
|
|
+ crash_reporter_client->GetProcessSimpleAnnotations(&process_annotations);
|
|
|
|
std::string url = crash_reporter_client->GetUploadUrl();
|
|
|
|
@@ -134,6 +135,13 @@ bool PlatformCrashpadInitialization(
|
|
|
|
std::vector<std::string> arguments(start_arguments);
|
|
|
|
+ if (!crash_reporter_client->GetShouldRateLimit()) {
|
|
+ arguments.push_back("--no-rate-limit");
|
|
+ }
|
|
+ if (!crash_reporter_client->GetShouldCompressUploads()) {
|
|
+ arguments.push_back("--no-upload-gzip");
|
|
+ }
|
|
+
|
|
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
|
|
arguments.push_back("--monitor-self");
|
|
for (const std::string& start_argument : start_arguments) {
|