summaryrefslogtreecommitdiff
path: root/chromium/content/browser/service_worker/service_worker_database.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-08-30 10:22:43 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-08-30 12:36:28 +0000
commit271a6c3487a14599023a9106329505597638d793 (patch)
treee040d58ffc86c1480b79ca8528020ca9ec919bf8 /chromium/content/browser/service_worker/service_worker_database.cc
parent7b2ffa587235a47d4094787d72f38102089f402a (diff)
downloadqtwebengine-chromium-271a6c3487a14599023a9106329505597638d793.tar.gz
BASELINE: Update Chromium to 77.0.3865.59
Change-Id: I1e89a5f3b009a9519a6705102ad65c92fe736f21 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/content/browser/service_worker/service_worker_database.cc')
-rw-r--r--chromium/content/browser/service_worker/service_worker_database.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/chromium/content/browser/service_worker/service_worker_database.cc b/chromium/content/browser/service_worker/service_worker_database.cc
index da5dc494442..f884bb4c7e9 100644
--- a/chromium/content/browser/service_worker/service_worker_database.cc
+++ b/chromium/content/browser/service_worker/service_worker_database.cc
@@ -6,10 +6,10 @@
#include "base/command_line.h"
#include "base/files/file_util.h"
-#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
+#include "base/no_destructor.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
@@ -126,10 +126,13 @@ constexpr size_t kWriteBufferSize = 512 * 1024;
class ServiceWorkerEnv : public leveldb_env::ChromiumEnv {
public:
ServiceWorkerEnv() : ChromiumEnv("LevelDBEnv.ServiceWorker") {}
-};
-base::LazyInstance<ServiceWorkerEnv>::Leaky g_service_worker_env =
- LAZY_INSTANCE_INITIALIZER;
+ // Returns a shared instance of ServiceWorkerEnv. This is thread-safe.
+ static ServiceWorkerEnv* GetInstance() {
+ static base::NoDestructor<ServiceWorkerEnv> instance;
+ return instance.get();
+ }
+};
bool RemovePrefix(const std::string& str,
const std::string& prefix,
@@ -1038,7 +1041,7 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::RewriteDB() {
leveldb_env::Options options;
options.create_if_missing = true;
- options.env = g_service_worker_env.Pointer();
+ options.env = ServiceWorkerEnv::GetInstance();
options.write_buffer_size = kWriteBufferSize;
status = LevelDBStatusToServiceWorkerDBStatus(
@@ -1356,7 +1359,7 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::LazyOpen(
env_ = leveldb_chrome::NewMemEnv("service-worker");
options.env = env_.get();
} else {
- options.env = g_service_worker_env.Pointer();
+ options.env = ServiceWorkerEnv::GetInstance();
}
options.write_buffer_size = kWriteBufferSize;