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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/create_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/create_file_operation.h" 5 #include "chrome/browser/chromeos/drive/file_system/create_file_operation.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "chrome/browser/chromeos/drive/drive.pb.h" 10 #include "chrome/browser/chromeos/drive/drive.pb.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } // namespace 71 } // namespace
72 72
73 CreateFileOperation::CreateFileOperation( 73 CreateFileOperation::CreateFileOperation(
74 base::SequencedTaskRunner* blocking_task_runner, 74 base::SequencedTaskRunner* blocking_task_runner,
75 OperationDelegate* delegate, 75 OperationDelegate* delegate,
76 internal::ResourceMetadata* metadata) 76 internal::ResourceMetadata* metadata)
77 : blocking_task_runner_(blocking_task_runner), 77 : blocking_task_runner_(blocking_task_runner),
78 delegate_(delegate), 78 delegate_(delegate),
79 metadata_(metadata), 79 metadata_(metadata),
80 weak_ptr_factory_(this) { 80 weak_ptr_factory_(this) {
81 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 81 DCHECK_CURRENTLY_ON(BrowserThread::UI);
82 } 82 }
83 83
84 CreateFileOperation::~CreateFileOperation() { 84 CreateFileOperation::~CreateFileOperation() {
85 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 85 DCHECK_CURRENTLY_ON(BrowserThread::UI);
86 } 86 }
87 87
88 void CreateFileOperation::CreateFile(const base::FilePath& file_path, 88 void CreateFileOperation::CreateFile(const base::FilePath& file_path,
89 bool is_exclusive, 89 bool is_exclusive,
90 const std::string& mime_type, 90 const std::string& mime_type,
91 const FileOperationCallback& callback) { 91 const FileOperationCallback& callback) {
92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 92 DCHECK_CURRENTLY_ON(BrowserThread::UI);
93 DCHECK(!callback.is_null()); 93 DCHECK(!callback.is_null());
94 94
95 ResourceEntry* entry = new ResourceEntry; 95 ResourceEntry* entry = new ResourceEntry;
96 base::PostTaskAndReplyWithResult( 96 base::PostTaskAndReplyWithResult(
97 blocking_task_runner_.get(), 97 blocking_task_runner_.get(),
98 FROM_HERE, 98 FROM_HERE,
99 base::Bind(&UpdateLocalState, 99 base::Bind(&UpdateLocalState,
100 metadata_, 100 metadata_,
101 file_path, 101 file_path,
102 mime_type, 102 mime_type,
103 entry), 103 entry),
104 base::Bind(&CreateFileOperation::CreateFileAfterUpdateLocalState, 104 base::Bind(&CreateFileOperation::CreateFileAfterUpdateLocalState,
105 weak_ptr_factory_.GetWeakPtr(), 105 weak_ptr_factory_.GetWeakPtr(),
106 callback, 106 callback,
107 file_path, 107 file_path,
108 is_exclusive, 108 is_exclusive,
109 base::Owned(entry))); 109 base::Owned(entry)));
110 } 110 }
111 111
112 void CreateFileOperation::CreateFileAfterUpdateLocalState( 112 void CreateFileOperation::CreateFileAfterUpdateLocalState(
113 const FileOperationCallback& callback, 113 const FileOperationCallback& callback,
114 const base::FilePath& file_path, 114 const base::FilePath& file_path,
115 bool is_exclusive, 115 bool is_exclusive,
116 ResourceEntry* entry, 116 ResourceEntry* entry,
117 FileError error) { 117 FileError error) {
118 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 118 DCHECK_CURRENTLY_ON(BrowserThread::UI);
119 DCHECK(!callback.is_null()); 119 DCHECK(!callback.is_null());
120 120
121 if (error == FILE_ERROR_EXISTS) { 121 if (error == FILE_ERROR_EXISTS) {
122 // Error if an exclusive mode is requested, or the entry is not a file. 122 // Error if an exclusive mode is requested, or the entry is not a file.
123 error = (is_exclusive || 123 error = (is_exclusive ||
124 entry->file_info().is_directory() || 124 entry->file_info().is_directory() ||
125 entry->file_specific_info().is_hosted_document()) ? 125 entry->file_specific_info().is_hosted_document()) ?
126 FILE_ERROR_EXISTS : FILE_ERROR_OK; 126 FILE_ERROR_EXISTS : FILE_ERROR_OK;
127 } else if (error == FILE_ERROR_OK) { 127 } else if (error == FILE_ERROR_OK) {
128 DCHECK(!entry->file_info().is_directory()); 128 DCHECK(!entry->file_info().is_directory());
129 129
130 // Notify delegate if the file was newly created. 130 // Notify delegate if the file was newly created.
131 FileChange changed_file; 131 FileChange changed_file;
132 changed_file.Update( 132 changed_file.Update(
133 file_path, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE); 133 file_path, FileChange::FILE_TYPE_FILE, FileChange::ADD_OR_UPDATE);
134 delegate_->OnFileChangedByOperation(changed_file); 134 delegate_->OnFileChangedByOperation(changed_file);
135 // Synchronize in the background. 135 // Synchronize in the background.
136 delegate_->OnEntryUpdatedByOperation(ClientContext(BACKGROUND), 136 delegate_->OnEntryUpdatedByOperation(ClientContext(BACKGROUND),
137 entry->local_id()); 137 entry->local_id());
138 } 138 }
139 callback.Run(error); 139 callback.Run(error);
140 } 140 }
141 141
142 } // namespace file_system 142 } // namespace file_system
143 } // namespace drive 143 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698