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

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

Issue 13446003: Add DriveScheduler::UploadNewFile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unneeded #include. Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/copy_operation.h" 5 #include "chrome/browser/chromeos/drive/file_system/copy_operation.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/json/json_file_value_serializer.h" 10 #include "base/json/json_file_value_serializer.h"
11 #include "chrome/browser/chromeos/drive/drive.pb.h" 11 #include "chrome/browser/chromeos/drive/drive.pb.h"
12 #include "chrome/browser/chromeos/drive/drive_cache.h" 12 #include "chrome/browser/chromeos/drive/drive_cache.h"
13 #include "chrome/browser/chromeos/drive/drive_file_system_interface.h" 13 #include "chrome/browser/chromeos/drive/drive_file_system_interface.h"
14 #include "chrome/browser/chromeos/drive/drive_file_system_util.h" 14 #include "chrome/browser/chromeos/drive/drive_file_system_util.h"
15 #include "chrome/browser/chromeos/drive/drive_scheduler.h" 15 #include "chrome/browser/chromeos/drive/drive_scheduler.h"
16 #include "chrome/browser/chromeos/drive/file_system/move_operation.h" 16 #include "chrome/browser/chromeos/drive/file_system/move_operation.h"
17 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h" 17 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h"
18 #include "chrome/browser/chromeos/drive/resource_entry_conversion.h" 18 #include "chrome/browser/chromeos/drive/resource_entry_conversion.h"
19 #include "chrome/browser/google_apis/drive_upload_error.h" 19 #include "chrome/browser/google_apis/drive_upload_error.h"
20 #include "chrome/browser/google_apis/drive_uploader.h"
21 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
22 #include "net/base/mime_util.h" 21 #include "net/base/mime_util.h"
23 22
24 using content::BrowserThread; 23 using content::BrowserThread;
25 using google_apis::ResourceEntry; 24 using google_apis::ResourceEntry;
26 using google_apis::GDataErrorCode; 25 using google_apis::GDataErrorCode;
27 26
28 namespace drive { 27 namespace drive {
29 namespace file_system { 28 namespace file_system {
30 29
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 71
73 const base::FilePath local_file_path; 72 const base::FilePath local_file_path;
74 const base::FilePath remote_file_path; 73 const base::FilePath remote_file_path;
75 const FileOperationCallback callback; 74 const FileOperationCallback callback;
76 }; 75 };
77 76
78 CopyOperation::CopyOperation( 77 CopyOperation::CopyOperation(
79 DriveScheduler* drive_scheduler, 78 DriveScheduler* drive_scheduler,
80 DriveFileSystemInterface* drive_file_system, 79 DriveFileSystemInterface* drive_file_system,
81 DriveResourceMetadata* metadata, 80 DriveResourceMetadata* metadata,
82 google_apis::DriveUploaderInterface* uploader,
83 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, 81 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
84 OperationObserver* observer) 82 OperationObserver* observer)
85 : drive_scheduler_(drive_scheduler), 83 : drive_scheduler_(drive_scheduler),
86 drive_file_system_(drive_file_system), 84 drive_file_system_(drive_file_system),
87 metadata_(metadata), 85 metadata_(metadata),
88 uploader_(uploader),
89 blocking_task_runner_(blocking_task_runner), 86 blocking_task_runner_(blocking_task_runner),
90 observer_(observer), 87 observer_(observer),
91 move_operation_(new MoveOperation(drive_scheduler, 88 move_operation_(new MoveOperation(drive_scheduler,
92 metadata, 89 metadata,
93 observer)), 90 observer)),
94 weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { 91 weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
95 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
96 } 93 }
97 94
98 CopyOperation::~CopyOperation() { 95 CopyOperation::~CopyOperation() {
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 352
356 if (entry_proto.get() && !entry_proto->file_info().is_directory()) 353 if (entry_proto.get() && !entry_proto->file_info().is_directory())
357 error = DRIVE_FILE_ERROR_NOT_A_DIRECTORY; 354 error = DRIVE_FILE_ERROR_NOT_A_DIRECTORY;
358 355
359 if (error != DRIVE_FILE_OK) { 356 if (error != DRIVE_FILE_OK) {
360 params.callback.Run(error); 357 params.callback.Run(error);
361 return; 358 return;
362 } 359 }
363 DCHECK(entry_proto.get()); 360 DCHECK(entry_proto.get());
364 361
365 uploader_->UploadNewFile(entry_proto->resource_id(), 362 drive_scheduler_->UploadNewFile(
366 params.remote_file_path, 363 entry_proto->resource_id(),
367 params.local_file_path, 364 params.remote_file_path,
368 params.remote_file_path.BaseName().value(), 365 params.local_file_path,
369 content_type, 366 params.remote_file_path.BaseName().value(),
370 base::Bind(&CopyOperation::OnTransferCompleted, 367 content_type,
371 weak_ptr_factory_.GetWeakPtr(), 368 DriveClientContext(USER_INITIATED),
372 params.callback)); 369 base::Bind(&CopyOperation::OnTransferCompleted,
370 weak_ptr_factory_.GetWeakPtr(),
371 params.callback));
373 } 372 }
374 373
375 void CopyOperation::OnTransferCompleted( 374 void CopyOperation::OnTransferCompleted(
376 const FileOperationCallback& callback, 375 const FileOperationCallback& callback,
377 google_apis::DriveUploadError error, 376 google_apis::DriveUploadError error,
378 const base::FilePath& drive_path, 377 const base::FilePath& drive_path,
379 const base::FilePath& file_path, 378 const base::FilePath& file_path,
380 scoped_ptr<ResourceEntry> resource_entry) { 379 scoped_ptr<ResourceEntry> resource_entry) {
381 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 380 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
382 DCHECK(!callback.is_null()); 381 DCHECK(!callback.is_null());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 remote_dest_file_path.DirName(), 441 remote_dest_file_path.DirName(),
443 resource_id, 442 resource_id,
444 // Drop the document extension, which should not be 443 // Drop the document extension, which should not be
445 // in the document title. 444 // in the document title.
446 remote_dest_file_path.BaseName().RemoveExtension().value(), 445 remote_dest_file_path.BaseName().RemoveExtension().value(),
447 callback); 446 callback);
448 } 447 }
449 448
450 } // namespace file_system 449 } // namespace file_system
451 } // namespace drive 450 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698