Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Unified Diff: third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp

Issue 2614143002: Use a new Supplement constructor for LocalFrame's supplements (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp
diff --git a/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp b/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp
index 2a244b616d366c2eaa652c2c4b438305354282da..4a5f2686031ff935a67b58df45cf7058e3801497 100644
--- a/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp
+++ b/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp
@@ -72,11 +72,6 @@ class CallbackWrapper final
std::unique_ptr<AsyncFileSystemCallbacks> m_callbacks;
};
-LocalFileSystem* LocalFileSystem::create(
- std::unique_ptr<FileSystemClient> client) {
- return new LocalFileSystem(std::move(client));
-}
-
LocalFileSystem::~LocalFileSystem() {}
void LocalFileSystem::resolveURL(
@@ -214,8 +209,13 @@ void LocalFileSystem::deleteFileSystemInternal(ExecutionContext* context,
callbacks->release());
}
-LocalFileSystem::LocalFileSystem(std::unique_ptr<FileSystemClient> client)
- : m_client(std::move(client)) {}
+LocalFileSystem::LocalFileSystem(LocalFrame& frame,
+ std::unique_ptr<FileSystemClient> client)
+ : Supplement<LocalFrame>(frame), m_client(std::move(client)) {}
+
+LocalFileSystem::LocalFileSystem(WorkerClients& workerClients,
+ std::unique_ptr<FileSystemClient> client)
+ : Supplement<WorkerClients>(workerClients), m_client(std::move(client)) {}
DEFINE_TRACE(LocalFileSystem) {
Supplement<LocalFrame>::trace(visitor);
@@ -227,26 +227,33 @@ const char* LocalFileSystem::supplementName() {
}
LocalFileSystem* LocalFileSystem::from(ExecutionContext& context) {
- if (context.isDocument())
- return static_cast<LocalFileSystem*>(Supplement<LocalFrame>::from(
- toDocument(context).frame(), supplementName()));
+ if (context.isDocument()) {
+ LocalFileSystem* fileSystem =
+ static_cast<LocalFileSystem*>(Supplement<LocalFrame>::from(
+ toDocument(context).frame(), supplementName()));
+ DCHECK(fileSystem);
+ return fileSystem;
+ }
WorkerClients* clients = toWorkerGlobalScope(context).clients();
ASSERT(clients);
- return static_cast<LocalFileSystem*>(
+ LocalFileSystem* fileSystem = static_cast<LocalFileSystem*>(
Supplement<WorkerClients>::from(clients, supplementName()));
+ DCHECK(fileSystem);
+ return fileSystem;
}
void provideLocalFileSystemTo(LocalFrame& frame,
std::unique_ptr<FileSystemClient> client) {
frame.provideSupplement(LocalFileSystem::supplementName(),
- LocalFileSystem::create(std::move(client)));
+ new LocalFileSystem(frame, std::move(client)));
}
-void provideLocalFileSystemToWorker(WorkerClients* clients,
+void provideLocalFileSystemToWorker(WorkerClients* workerClients,
std::unique_ptr<FileSystemClient> client) {
- clients->provideSupplement(LocalFileSystem::supplementName(),
- LocalFileSystem::create(std::move(client)));
+ Supplement<WorkerClients>::provideTo(
+ *workerClients, LocalFileSystem::supplementName(),
+ new LocalFileSystem(*workerClients, std::move(client)));
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698