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

Unified Diff: chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc

Issue 22810002: SyncFS: Reorder initialization sequence of SyncFileSystemService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix lifetime management of the backend Created 7 years, 4 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: chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc
diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc
index a400971520a64d37194ecbce699e08c3306accdf..42e2a6cf8f087acc02a61a6f1b6fbb5976fbab25 100644
--- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc
+++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc
@@ -109,13 +109,19 @@ void SyncFileSystemDeleteFileSystemFunction::DidDeleteFileSystem(
}
bool SyncFileSystemRequestFileSystemFunction::RunImpl() {
+ // Initializes observer of sync events in SyncFileSystem.
kinuko 2013/08/29 08:28:21 Can you elaborate a little more: // SyncFileSystem
nhiroki 2013/08/29 08:43:35 Done.
+ GetSyncFileSystemService(profile());
+
// Initializes sync context for this extension and continue to open
// a new file system.
- GetSyncFileSystemService(profile())->
- InitializeForApp(
- GetFileSystemContext(),
- source_url().GetOrigin(),
- base::Bind(&self::DidInitializeFileSystemContext, this));
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ Bind(&fileapi::FileSystemContext::OpenFileSystem,
+ GetFileSystemContext(),
+ source_url().GetOrigin(),
+ fileapi::kFileSystemTypeSyncable,
+ fileapi::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
+ base::Bind(&self::DidOpenFileSystem, this)));
return true;
}
@@ -127,29 +133,6 @@ SyncFileSystemRequestFileSystemFunction::GetFileSystemContext() {
render_view_host()->GetSiteInstance())->GetFileSystemContext();
}
-void SyncFileSystemRequestFileSystemFunction::DidInitializeFileSystemContext(
- SyncStatusCode status) {
- if (status != sync_file_system::SYNC_STATUS_OK) {
- error_ = sync_file_system::SyncStatusCodeToString(status);
- SendResponse(false);
- return;
- }
-
- if (!render_view_host()) {
- // The app seems to have been closed.
- return;
- }
-
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- Bind(&fileapi::FileSystemContext::OpenFileSystem,
- GetFileSystemContext(),
- source_url().GetOrigin(),
- fileapi::kFileSystemTypeSyncable,
- fileapi::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT,
- base::Bind(&self::DidOpenFileSystem, this)));
-}
-
void SyncFileSystemRequestFileSystemFunction::DidOpenFileSystem(
base::PlatformFileError error,
const std::string& file_system_name,

Powered by Google App Engine
This is Rietveld 408576698