Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync_file_system / drive_backend / drive_uploader_on_worker.cc
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/sync_file_system/drive_backend/drive_uploader_on_worker.h"
6
7 #include <string>
8
9 #include "base/bind.h"
10 #include "base/location.h"
11 #include "base/single_thread_task_runner.h"
12 #include "chrome/browser/sync_file_system/drive_backend/callback_helper.h"
13 #include "chrome/browser/sync_file_system/drive_backend/drive_uploader_wrapper.h"
14
15 namespace sync_file_system {
16 namespace drive_backend {
17
18 DriveUploaderOnWorker::DriveUploaderOnWorker(
19       const base::WeakPtr<DriveUploaderWrapper>& wrapper,
20       base::SingleThreadTaskRunner* ui_task_runner,
21       base::SequencedTaskRunner* worker_task_runner)
22     : wrapper_(wrapper),
23       ui_task_runner_(ui_task_runner),
24       worker_task_runner_(worker_task_runner) {}
25
26 DriveUploaderOnWorker::~DriveUploaderOnWorker() {}
27
28 google_apis::CancelCallback DriveUploaderOnWorker::UploadNewFile(
29       const std::string& parent_resource_id,
30       const base::FilePath& local_file_path,
31       const std::string& title,
32       const std::string& content_type,
33       const UploadNewFileOptions& options,
34       const drive::UploadCompletionCallback& callback,
35       const google_apis::ProgressCallback& progress_callback) {
36   ui_task_runner_->PostTask(
37       FROM_HERE,
38       base::Bind(&DriveUploaderWrapper::UploadNewFile,
39                  wrapper_,
40                  parent_resource_id,
41                  local_file_path,
42                  title,
43                  content_type,
44                  options,
45                  RelayCallbackToTaskRunner(
46                      worker_task_runner_,
47                      FROM_HERE,
48                      callback)));
49
50   return google_apis::CancelCallback();
51 }
52
53 google_apis::CancelCallback DriveUploaderOnWorker::UploadExistingFile(
54       const std::string& resource_id,
55       const base::FilePath& local_file_path,
56       const std::string& content_type,
57       const UploadExistingFileOptions& options,
58       const drive::UploadCompletionCallback& callback,
59       const google_apis::ProgressCallback& progress_callback) {
60   ui_task_runner_->PostTask(
61       FROM_HERE,
62       base::Bind(&DriveUploaderWrapper::UploadExistingFile,
63                  wrapper_,
64                  resource_id,
65                  local_file_path,
66                  content_type,
67                  options,
68                  RelayCallbackToTaskRunner(
69                      worker_task_runner_,
70                      FROM_HERE,
71                      callback)));
72
73   return google_apis::CancelCallback();
74 }
75
76 google_apis::CancelCallback DriveUploaderOnWorker::ResumeUploadFile(
77       const GURL& upload_location,
78       const base::FilePath& local_file_path,
79       const std::string& content_type,
80       const drive::UploadCompletionCallback& callback,
81       const google_apis::ProgressCallback& progress_callback) {
82   NOTREACHED();
83   return google_apis::CancelCallback();
84 }
85
86 }  // namespace drive_backend
87 }  // namespace sync_file_system