39baf68790
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> Co-authored-by: loc <andy@slack-corp.com> Co-authored-by: Robo <hop2deep@gmail.com> Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
47 lines
2.3 KiB
Diff
47 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jacob Quant <jacobq@gmail.com>
|
|
Date: Thu, 31 Oct 2019 14:00:00 -0500
|
|
Subject: dom_storage_limits.patch
|
|
|
|
This patch increases the DOM storage (e.g. `localStorage`
|
|
and `sessionStorage`) size quota from 10MiB to 100MiB.
|
|
Previous versions of this patch attempted to circumvent
|
|
the restriction altogether.
|
|
However, this can lead to other problems, such as crashing
|
|
the Dev Tools when attempting to read or write values that exceed
|
|
`IPC::Channel::kMaximumMessageSize` (128MiB).
|
|
|
|
Increasing the quota rather than bypassing it reduces the
|
|
amount of chromium code that needs to be changed for Electron
|
|
as well as keeps these storage areas limited to a bounded
|
|
size meanwhile giving application developers more space to work with.
|
|
|
|
diff --git a/components/services/storage/dom_storage/dom_storage_constants.cc b/components/services/storage/dom_storage/dom_storage_constants.cc
|
|
index 3fd108c89c3b070a08790850db4dfd6cc8a3ce44..c393f51709efd8b28b07edfe452d2b84b14983ae 100644
|
|
--- a/components/services/storage/dom_storage/dom_storage_constants.cc
|
|
+++ b/components/services/storage/dom_storage/dom_storage_constants.cc
|
|
@@ -6,7 +6,9 @@
|
|
|
|
namespace storage {
|
|
|
|
-const size_t kPerStorageAreaQuota = 10 * 1024 * 1024;
|
|
+// Electron's dom_storage_limits.patch increased this value from 10MiB to 100MiB
|
|
+const size_t kPerStorageAreaQuota = 100 * 1024 * 1024;
|
|
+
|
|
const size_t kPerStorageAreaOverQuotaAllowance = 100 * 1024;
|
|
|
|
} // namespace storage
|
|
diff --git a/third_party/blink/public/mojom/dom_storage/storage_area.mojom b/third_party/blink/public/mojom/dom_storage/storage_area.mojom
|
|
index c9f9124eb6f4900988ad63fa38a03b7b6c5d1abb..9cba4e5af9a624d358697d806f151ee3998f0b58 100644
|
|
--- a/third_party/blink/public/mojom/dom_storage/storage_area.mojom
|
|
+++ b/third_party/blink/public/mojom/dom_storage/storage_area.mojom
|
|
@@ -50,7 +50,8 @@ struct KeyValue {
|
|
interface StorageArea {
|
|
// The quota for each storage area.
|
|
// This value is enforced in renderer processes and the browser process.
|
|
- const uint32 kPerStorageAreaQuota = 10485760; // 10 MiB
|
|
+ // Electron's dom_storage_limits.patch increased this value from 10MiB to 100MiB
|
|
+ const uint32 kPerStorageAreaQuota = 104857600; // 100 MiB
|
|
|
|
// In the browser process we allow some overage to
|
|
// accommodate concurrent writes from different renderers
|