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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/open_file_operation.cc

Issue 1036723003: favor DCHECK_CURRENTLY_ON for better logs in chrome/browser/chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/drive/file_system/open_file_operation.h" 5 #include "chrome/browser/chromeos/drive/file_system/open_file_operation.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 weak_ptr_factory_(this) { 43 weak_ptr_factory_(this) {
44 } 44 }
45 45
46 OpenFileOperation::~OpenFileOperation() { 46 OpenFileOperation::~OpenFileOperation() {
47 } 47 }
48 48
49 void OpenFileOperation::OpenFile(const base::FilePath& file_path, 49 void OpenFileOperation::OpenFile(const base::FilePath& file_path,
50 OpenMode open_mode, 50 OpenMode open_mode,
51 const std::string& mime_type, 51 const std::string& mime_type,
52 const OpenFileCallback& callback) { 52 const OpenFileCallback& callback) {
53 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 53 DCHECK_CURRENTLY_ON(BrowserThread::UI);
54 DCHECK(!callback.is_null()); 54 DCHECK(!callback.is_null());
55 55
56 switch (open_mode) { 56 switch (open_mode) {
57 case OPEN_FILE: 57 case OPEN_FILE:
58 // It is not necessary to create a new file even if not exists. 58 // It is not necessary to create a new file even if not exists.
59 // So call OpenFileAfterCreateFile directly with FILE_ERROR_OK 59 // So call OpenFileAfterCreateFile directly with FILE_ERROR_OK
60 // to skip file creation. 60 // to skip file creation.
61 OpenFileAfterCreateFile(file_path, callback, FILE_ERROR_OK); 61 OpenFileAfterCreateFile(file_path, callback, FILE_ERROR_OK);
62 break; 62 break;
63 case CREATE_FILE: 63 case CREATE_FILE:
(...skipping 12 matching lines...) Expand all
76 base::Bind(&OpenFileOperation::OpenFileAfterCreateFile, 76 base::Bind(&OpenFileOperation::OpenFileAfterCreateFile,
77 weak_ptr_factory_.GetWeakPtr(), file_path, callback)); 77 weak_ptr_factory_.GetWeakPtr(), file_path, callback));
78 break; 78 break;
79 } 79 }
80 } 80 }
81 81
82 void OpenFileOperation::OpenFileAfterCreateFile( 82 void OpenFileOperation::OpenFileAfterCreateFile(
83 const base::FilePath& file_path, 83 const base::FilePath& file_path,
84 const OpenFileCallback& callback, 84 const OpenFileCallback& callback,
85 FileError error) { 85 FileError error) {
86 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 86 DCHECK_CURRENTLY_ON(BrowserThread::UI);
87 DCHECK(!callback.is_null()); 87 DCHECK(!callback.is_null());
88 88
89 if (error != FILE_ERROR_OK) { 89 if (error != FILE_ERROR_OK) {
90 callback.Run(error, base::FilePath(), base::Closure()); 90 callback.Run(error, base::FilePath(), base::Closure());
91 return; 91 return;
92 } 92 }
93 93
94 download_operation_->EnsureFileDownloadedByPath( 94 download_operation_->EnsureFileDownloadedByPath(
95 file_path, 95 file_path,
96 ClientContext(USER_INITIATED), 96 ClientContext(USER_INITIATED),
97 GetFileContentInitializedCallback(), 97 GetFileContentInitializedCallback(),
98 google_apis::GetContentCallback(), 98 google_apis::GetContentCallback(),
99 base::Bind( 99 base::Bind(
100 &OpenFileOperation::OpenFileAfterFileDownloaded, 100 &OpenFileOperation::OpenFileAfterFileDownloaded,
101 weak_ptr_factory_.GetWeakPtr(), callback)); 101 weak_ptr_factory_.GetWeakPtr(), callback));
102 } 102 }
103 103
104 void OpenFileOperation::OpenFileAfterFileDownloaded( 104 void OpenFileOperation::OpenFileAfterFileDownloaded(
105 const OpenFileCallback& callback, 105 const OpenFileCallback& callback,
106 FileError error, 106 FileError error,
107 const base::FilePath& local_file_path, 107 const base::FilePath& local_file_path,
108 scoped_ptr<ResourceEntry> entry) { 108 scoped_ptr<ResourceEntry> entry) {
109 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 109 DCHECK_CURRENTLY_ON(BrowserThread::UI);
110 DCHECK(!callback.is_null()); 110 DCHECK(!callback.is_null());
111 111
112 if (error == FILE_ERROR_OK) { 112 if (error == FILE_ERROR_OK) {
113 DCHECK(entry); 113 DCHECK(entry);
114 DCHECK(entry->has_file_specific_info()); 114 DCHECK(entry->has_file_specific_info());
115 if (entry->file_specific_info().is_hosted_document()) 115 if (entry->file_specific_info().is_hosted_document())
116 // No support for opening a hosted document. 116 // No support for opening a hosted document.
117 error = FILE_ERROR_INVALID_OPERATION; 117 error = FILE_ERROR_INVALID_OPERATION;
118 } 118 }
119 119
(...skipping 18 matching lines...) Expand all
138 callback, 138 callback,
139 base::Owned(file_closer))); 139 base::Owned(file_closer)));
140 } 140 }
141 141
142 void OpenFileOperation::OpenFileAfterOpenForWrite( 142 void OpenFileOperation::OpenFileAfterOpenForWrite(
143 const base::FilePath& local_file_path, 143 const base::FilePath& local_file_path,
144 const std::string& local_id, 144 const std::string& local_id,
145 const OpenFileCallback& callback, 145 const OpenFileCallback& callback,
146 scoped_ptr<base::ScopedClosureRunner>* file_closer, 146 scoped_ptr<base::ScopedClosureRunner>* file_closer,
147 FileError error) { 147 FileError error) {
148 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 148 DCHECK_CURRENTLY_ON(BrowserThread::UI);
149 DCHECK(!callback.is_null()); 149 DCHECK(!callback.is_null());
150 150
151 if (error != FILE_ERROR_OK) { 151 if (error != FILE_ERROR_OK) {
152 callback.Run(error, base::FilePath(), base::Closure()); 152 callback.Run(error, base::FilePath(), base::Closure());
153 return; 153 return;
154 } 154 }
155 155
156 ++open_files_[local_id]; 156 ++open_files_[local_id];
157 callback.Run(error, local_file_path, 157 callback.Run(error, local_file_path,
158 base::Bind(&OpenFileOperation::CloseFile, 158 base::Bind(&OpenFileOperation::CloseFile,
159 weak_ptr_factory_.GetWeakPtr(), 159 weak_ptr_factory_.GetWeakPtr(),
160 local_id, 160 local_id,
161 base::Passed(file_closer))); 161 base::Passed(file_closer)));
162 } 162 }
163 163
164 void OpenFileOperation::CloseFile( 164 void OpenFileOperation::CloseFile(
165 const std::string& local_id, 165 const std::string& local_id,
166 scoped_ptr<base::ScopedClosureRunner> file_closer) { 166 scoped_ptr<base::ScopedClosureRunner> file_closer) {
167 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 167 DCHECK_CURRENTLY_ON(BrowserThread::UI);
168 DCHECK_GT(open_files_[local_id], 0); 168 DCHECK_GT(open_files_[local_id], 0);
169 169
170 if (--open_files_[local_id] == 0) { 170 if (--open_files_[local_id] == 0) {
171 // All clients closes this file, so notify to upload the file. 171 // All clients closes this file, so notify to upload the file.
172 open_files_.erase(local_id); 172 open_files_.erase(local_id);
173 delegate_->OnEntryUpdatedByOperation(ClientContext(USER_INITIATED), 173 delegate_->OnEntryUpdatedByOperation(ClientContext(USER_INITIATED),
174 local_id); 174 local_id);
175 175
176 // Clients may have enlarged the file. By FreeDiskpSpaceIfNeededFor(0), 176 // Clients may have enlarged the file. By FreeDiskpSpaceIfNeededFor(0),
177 // we try to ensure (0 + the-minimum-safe-margin = 512MB as of now) space. 177 // we try to ensure (0 + the-minimum-safe-margin = 512MB as of now) space.
178 blocking_task_runner_->PostTask( 178 blocking_task_runner_->PostTask(
179 FROM_HERE, 179 FROM_HERE,
180 base::Bind(base::IgnoreResult( 180 base::Bind(base::IgnoreResult(
181 base::Bind(&internal::FileCache::FreeDiskSpaceIfNeededFor, 181 base::Bind(&internal::FileCache::FreeDiskSpaceIfNeededFor,
182 base::Unretained(cache_), 182 base::Unretained(cache_),
183 0)))); 183 0))));
184 } 184 }
185 } 185 }
186 186
187 } // namespace file_system 187 } // namespace file_system
188 } // namespace drive 188 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698