| OLD | NEW |
| 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/google_apis/gdata_wapi_service.h" | 5 #include "chrome/browser/google_apis/gdata_wapi_service.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 return HasRefreshToken(); | 146 return HasRefreshToken(); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void GDataWapiService::CancelAll() { | 149 void GDataWapiService::CancelAll() { |
| 150 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 150 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 151 runner_->CancelAll(); | 151 runner_->CancelAll(); |
| 152 } | 152 } |
| 153 | 153 |
| 154 bool GDataWapiService::CancelForFilePath(const base::FilePath& file_path) { | 154 bool GDataWapiService::CancelForFilePath(const base::FilePath& file_path) { |
| 155 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 155 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 156 return operation_registry()->CancelForFilePath(file_path); | 156 return runner_->operation_registry()->CancelForFilePath(file_path); |
| 157 } | 157 } |
| 158 | 158 |
| 159 std::string GDataWapiService::GetRootResourceId() const { | 159 std::string GDataWapiService::GetRootResourceId() const { |
| 160 return kWapiRootDirectoryResourceId; | 160 return kWapiRootDirectoryResourceId; |
| 161 } | 161 } |
| 162 | 162 |
| 163 // Because GData WAPI support is expected to be gone somehow soon by migration | 163 // Because GData WAPI support is expected to be gone somehow soon by migration |
| 164 // to the Drive API v2, so we'll reuse GetResourceListOperation to implement | 164 // to the Drive API v2, so we'll reuse GetResourceListOperation to implement |
| 165 // following methods, instead of cleaning the operation class. | 165 // following methods, instead of cleaning the operation class. |
| 166 | 166 |
| 167 void GDataWapiService::GetAllResourceList( | 167 void GDataWapiService::GetAllResourceList( |
| 168 const GetResourceListCallback& callback) { | 168 const GetResourceListCallback& callback) { |
| 169 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 169 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 170 DCHECK(!callback.is_null()); | 170 DCHECK(!callback.is_null()); |
| 171 | 171 |
| 172 runner_->StartOperationWithRetry( | 172 runner_->StartOperationWithRetry( |
| 173 new GetResourceListOperation(operation_registry(), | 173 new GetResourceListOperation(runner_.get(), |
| 174 url_request_context_getter_, | 174 url_request_context_getter_, |
| 175 url_generator_, | 175 url_generator_, |
| 176 GURL(), // No override url | 176 GURL(), // No override url |
| 177 0, // start changestamp | 177 0, // start changestamp |
| 178 std::string(), // empty search query | 178 std::string(), // empty search query |
| 179 std::string(), // no directory resource id | 179 std::string(), // no directory resource id |
| 180 callback)); | 180 callback)); |
| 181 } | 181 } |
| 182 | 182 |
| 183 void GDataWapiService::GetResourceListInDirectory( | 183 void GDataWapiService::GetResourceListInDirectory( |
| 184 const std::string& directory_resource_id, | 184 const std::string& directory_resource_id, |
| 185 const GetResourceListCallback& callback) { | 185 const GetResourceListCallback& callback) { |
| 186 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 186 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 187 DCHECK(!directory_resource_id.empty()); | 187 DCHECK(!directory_resource_id.empty()); |
| 188 DCHECK(!callback.is_null()); | 188 DCHECK(!callback.is_null()); |
| 189 | 189 |
| 190 runner_->StartOperationWithRetry( | 190 runner_->StartOperationWithRetry( |
| 191 new GetResourceListOperation(operation_registry(), | 191 new GetResourceListOperation(runner_.get(), |
| 192 url_request_context_getter_, | 192 url_request_context_getter_, |
| 193 url_generator_, | 193 url_generator_, |
| 194 GURL(), // No override url | 194 GURL(), // No override url |
| 195 0, // start changestamp | 195 0, // start changestamp |
| 196 std::string(), // empty search query | 196 std::string(), // empty search query |
| 197 directory_resource_id, | 197 directory_resource_id, |
| 198 callback)); | 198 callback)); |
| 199 } | 199 } |
| 200 | 200 |
| 201 void GDataWapiService::Search(const std::string& search_query, | 201 void GDataWapiService::Search(const std::string& search_query, |
| 202 const GetResourceListCallback& callback) { | 202 const GetResourceListCallback& callback) { |
| 203 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 203 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 204 DCHECK(!search_query.empty()); | 204 DCHECK(!search_query.empty()); |
| 205 DCHECK(!callback.is_null()); | 205 DCHECK(!callback.is_null()); |
| 206 | 206 |
| 207 runner_->StartOperationWithRetry( | 207 runner_->StartOperationWithRetry( |
| 208 new GetResourceListOperation(operation_registry(), | 208 new GetResourceListOperation(runner_.get(), |
| 209 url_request_context_getter_, | 209 url_request_context_getter_, |
| 210 url_generator_, | 210 url_generator_, |
| 211 GURL(), // No override url | 211 GURL(), // No override url |
| 212 0, // start changestamp | 212 0, // start changestamp |
| 213 search_query, | 213 search_query, |
| 214 std::string(), // no directory resource id | 214 std::string(), // no directory resource id |
| 215 callback)); | 215 callback)); |
| 216 } | 216 } |
| 217 | 217 |
| 218 void GDataWapiService::SearchByTitle( | 218 void GDataWapiService::SearchByTitle( |
| 219 const std::string& title, | 219 const std::string& title, |
| 220 const std::string& directory_resource_id, | 220 const std::string& directory_resource_id, |
| 221 const GetResourceListCallback& callback) { | 221 const GetResourceListCallback& callback) { |
| 222 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 222 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 223 DCHECK(!title.empty()); | 223 DCHECK(!title.empty()); |
| 224 DCHECK(!callback.is_null()); | 224 DCHECK(!callback.is_null()); |
| 225 | 225 |
| 226 runner_->StartOperationWithRetry( | 226 runner_->StartOperationWithRetry( |
| 227 new SearchByTitleOperation( | 227 new SearchByTitleOperation( |
| 228 operation_registry(), | 228 runner_.get(), |
| 229 url_request_context_getter_, | 229 url_request_context_getter_, |
| 230 url_generator_, | 230 url_generator_, |
| 231 title, | 231 title, |
| 232 directory_resource_id, | 232 directory_resource_id, |
| 233 callback)); | 233 callback)); |
| 234 } | 234 } |
| 235 | 235 |
| 236 void GDataWapiService::GetChangeList(int64 start_changestamp, | 236 void GDataWapiService::GetChangeList(int64 start_changestamp, |
| 237 const GetResourceListCallback& callback) { | 237 const GetResourceListCallback& callback) { |
| 238 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 238 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 239 DCHECK(!callback.is_null()); | 239 DCHECK(!callback.is_null()); |
| 240 | 240 |
| 241 runner_->StartOperationWithRetry( | 241 runner_->StartOperationWithRetry( |
| 242 new GetResourceListOperation(operation_registry(), | 242 new GetResourceListOperation(runner_.get(), |
| 243 url_request_context_getter_, | 243 url_request_context_getter_, |
| 244 url_generator_, | 244 url_generator_, |
| 245 GURL(), // No override url | 245 GURL(), // No override url |
| 246 start_changestamp, | 246 start_changestamp, |
| 247 std::string(), // empty search query | 247 std::string(), // empty search query |
| 248 std::string(), // no directory resource id | 248 std::string(), // no directory resource id |
| 249 callback)); | 249 callback)); |
| 250 } | 250 } |
| 251 | 251 |
| 252 void GDataWapiService::ContinueGetResourceList( | 252 void GDataWapiService::ContinueGetResourceList( |
| 253 const GURL& override_url, | 253 const GURL& override_url, |
| 254 const GetResourceListCallback& callback) { | 254 const GetResourceListCallback& callback) { |
| 255 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 255 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 256 DCHECK(!override_url.is_empty()); | 256 DCHECK(!override_url.is_empty()); |
| 257 DCHECK(!callback.is_null()); | 257 DCHECK(!callback.is_null()); |
| 258 | 258 |
| 259 runner_->StartOperationWithRetry( | 259 runner_->StartOperationWithRetry( |
| 260 new GetResourceListOperation(operation_registry(), | 260 new GetResourceListOperation(runner_.get(), |
| 261 url_request_context_getter_, | 261 url_request_context_getter_, |
| 262 url_generator_, | 262 url_generator_, |
| 263 override_url, | 263 override_url, |
| 264 0, // start changestamp | 264 0, // start changestamp |
| 265 std::string(), // empty search query | 265 std::string(), // empty search query |
| 266 std::string(), // no directory resource id | 266 std::string(), // no directory resource id |
| 267 callback)); | 267 callback)); |
| 268 } | 268 } |
| 269 | 269 |
| 270 void GDataWapiService::GetResourceEntry( | 270 void GDataWapiService::GetResourceEntry( |
| 271 const std::string& resource_id, | 271 const std::string& resource_id, |
| 272 const GetResourceEntryCallback& callback) { | 272 const GetResourceEntryCallback& callback) { |
| 273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 274 DCHECK(!callback.is_null()); | 274 DCHECK(!callback.is_null()); |
| 275 | 275 |
| 276 runner_->StartOperationWithRetry( | 276 runner_->StartOperationWithRetry( |
| 277 new GetResourceEntryOperation( | 277 new GetResourceEntryOperation( |
| 278 operation_registry(), | 278 runner_.get(), |
| 279 url_request_context_getter_, | 279 url_request_context_getter_, |
| 280 url_generator_, | 280 url_generator_, |
| 281 resource_id, | 281 resource_id, |
| 282 base::Bind(&ParseResourceEntryAndRun, callback))); | 282 base::Bind(&ParseResourceEntryAndRun, callback))); |
| 283 } | 283 } |
| 284 | 284 |
| 285 void GDataWapiService::GetAboutResource( | 285 void GDataWapiService::GetAboutResource( |
| 286 const GetAboutResourceCallback& callback) { | 286 const GetAboutResourceCallback& callback) { |
| 287 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 287 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 288 DCHECK(!callback.is_null()); | 288 DCHECK(!callback.is_null()); |
| 289 | 289 |
| 290 runner_->StartOperationWithRetry( | 290 runner_->StartOperationWithRetry( |
| 291 new GetAccountMetadataOperation( | 291 new GetAccountMetadataOperation( |
| 292 operation_registry(), | 292 runner_.get(), |
| 293 url_request_context_getter_, | 293 url_request_context_getter_, |
| 294 url_generator_, | 294 url_generator_, |
| 295 base::Bind(&ParseAboutResourceAndRun, callback), | 295 base::Bind(&ParseAboutResourceAndRun, callback), |
| 296 false)); // Exclude installed apps. | 296 false)); // Exclude installed apps. |
| 297 } | 297 } |
| 298 | 298 |
| 299 void GDataWapiService::GetAppList(const GetAppListCallback& callback) { | 299 void GDataWapiService::GetAppList(const GetAppListCallback& callback) { |
| 300 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 300 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 301 DCHECK(!callback.is_null()); | 301 DCHECK(!callback.is_null()); |
| 302 | 302 |
| 303 runner_->StartOperationWithRetry( | 303 runner_->StartOperationWithRetry( |
| 304 new GetAccountMetadataOperation( | 304 new GetAccountMetadataOperation( |
| 305 operation_registry(), | 305 runner_.get(), |
| 306 url_request_context_getter_, | 306 url_request_context_getter_, |
| 307 url_generator_, | 307 url_generator_, |
| 308 base::Bind(&ParseAppListAndRun, callback), | 308 base::Bind(&ParseAppListAndRun, callback), |
| 309 true)); // Include installed apps. | 309 true)); // Include installed apps. |
| 310 } | 310 } |
| 311 | 311 |
| 312 void GDataWapiService::DownloadFile( | 312 void GDataWapiService::DownloadFile( |
| 313 const base::FilePath& virtual_path, | 313 const base::FilePath& virtual_path, |
| 314 const base::FilePath& local_cache_path, | 314 const base::FilePath& local_cache_path, |
| 315 const GURL& download_url, | 315 const GURL& download_url, |
| 316 const DownloadActionCallback& download_action_callback, | 316 const DownloadActionCallback& download_action_callback, |
| 317 const GetContentCallback& get_content_callback, | 317 const GetContentCallback& get_content_callback, |
| 318 const ProgressCallback& progress_callback) { | 318 const ProgressCallback& progress_callback) { |
| 319 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 319 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 320 DCHECK(!download_action_callback.is_null()); | 320 DCHECK(!download_action_callback.is_null()); |
| 321 // get_content_callback and progress_callback may be null. | 321 // get_content_callback and progress_callback may be null. |
| 322 | 322 |
| 323 runner_->StartOperationWithRetry( | 323 runner_->StartOperationWithRetry( |
| 324 new DownloadFileOperation(operation_registry(), | 324 new DownloadFileOperation(runner_.get(), |
| 325 url_request_context_getter_, | 325 url_request_context_getter_, |
| 326 download_action_callback, | 326 download_action_callback, |
| 327 get_content_callback, | 327 get_content_callback, |
| 328 progress_callback, | 328 progress_callback, |
| 329 download_url, | 329 download_url, |
| 330 virtual_path, | 330 virtual_path, |
| 331 local_cache_path)); | 331 local_cache_path)); |
| 332 } | 332 } |
| 333 | 333 |
| 334 void GDataWapiService::DeleteResource( | 334 void GDataWapiService::DeleteResource( |
| 335 const std::string& resource_id, | 335 const std::string& resource_id, |
| 336 const std::string& etag, | 336 const std::string& etag, |
| 337 const EntryActionCallback& callback) { | 337 const EntryActionCallback& callback) { |
| 338 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 338 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 339 DCHECK(!callback.is_null()); | 339 DCHECK(!callback.is_null()); |
| 340 | 340 |
| 341 runner_->StartOperationWithRetry( | 341 runner_->StartOperationWithRetry( |
| 342 new DeleteResourceOperation(operation_registry(), | 342 new DeleteResourceOperation(runner_.get(), |
| 343 url_request_context_getter_, | 343 url_request_context_getter_, |
| 344 url_generator_, | 344 url_generator_, |
| 345 callback, | 345 callback, |
| 346 resource_id, | 346 resource_id, |
| 347 etag)); | 347 etag)); |
| 348 } | 348 } |
| 349 | 349 |
| 350 void GDataWapiService::AddNewDirectory( | 350 void GDataWapiService::AddNewDirectory( |
| 351 const std::string& parent_resource_id, | 351 const std::string& parent_resource_id, |
| 352 const std::string& directory_name, | 352 const std::string& directory_name, |
| 353 const GetResourceEntryCallback& callback) { | 353 const GetResourceEntryCallback& callback) { |
| 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 355 DCHECK(!callback.is_null()); | 355 DCHECK(!callback.is_null()); |
| 356 | 356 |
| 357 runner_->StartOperationWithRetry( | 357 runner_->StartOperationWithRetry( |
| 358 new CreateDirectoryOperation(operation_registry(), | 358 new CreateDirectoryOperation(runner_.get(), |
| 359 url_request_context_getter_, | 359 url_request_context_getter_, |
| 360 url_generator_, | 360 url_generator_, |
| 361 base::Bind(&ParseResourceEntryAndRun, | 361 base::Bind(&ParseResourceEntryAndRun, |
| 362 callback), | 362 callback), |
| 363 parent_resource_id, | 363 parent_resource_id, |
| 364 directory_name)); | 364 directory_name)); |
| 365 } | 365 } |
| 366 | 366 |
| 367 void GDataWapiService::CopyResource( | 367 void GDataWapiService::CopyResource( |
| 368 const std::string& resource_id, | 368 const std::string& resource_id, |
| (...skipping 11 matching lines...) Expand all Loading... |
| 380 | 380 |
| 381 void GDataWapiService::CopyHostedDocument( | 381 void GDataWapiService::CopyHostedDocument( |
| 382 const std::string& resource_id, | 382 const std::string& resource_id, |
| 383 const std::string& new_name, | 383 const std::string& new_name, |
| 384 const GetResourceEntryCallback& callback) { | 384 const GetResourceEntryCallback& callback) { |
| 385 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 385 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 386 DCHECK(!callback.is_null()); | 386 DCHECK(!callback.is_null()); |
| 387 | 387 |
| 388 runner_->StartOperationWithRetry( | 388 runner_->StartOperationWithRetry( |
| 389 new CopyHostedDocumentOperation( | 389 new CopyHostedDocumentOperation( |
| 390 operation_registry(), | 390 runner_.get(), |
| 391 url_request_context_getter_, | 391 url_request_context_getter_, |
| 392 url_generator_, | 392 url_generator_, |
| 393 base::Bind(&ParseResourceEntryAndRun, callback), | 393 base::Bind(&ParseResourceEntryAndRun, callback), |
| 394 resource_id, | 394 resource_id, |
| 395 new_name)); | 395 new_name)); |
| 396 } | 396 } |
| 397 | 397 |
| 398 void GDataWapiService::RenameResource( | 398 void GDataWapiService::RenameResource( |
| 399 const std::string& resource_id, | 399 const std::string& resource_id, |
| 400 const std::string& new_name, | 400 const std::string& new_name, |
| 401 const EntryActionCallback& callback) { | 401 const EntryActionCallback& callback) { |
| 402 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 402 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 403 DCHECK(!callback.is_null()); | 403 DCHECK(!callback.is_null()); |
| 404 | 404 |
| 405 runner_->StartOperationWithRetry( | 405 runner_->StartOperationWithRetry( |
| 406 new RenameResourceOperation(operation_registry(), | 406 new RenameResourceOperation(runner_.get(), |
| 407 url_request_context_getter_, | 407 url_request_context_getter_, |
| 408 url_generator_, | 408 url_generator_, |
| 409 callback, | 409 callback, |
| 410 resource_id, | 410 resource_id, |
| 411 new_name)); | 411 new_name)); |
| 412 } | 412 } |
| 413 | 413 |
| 414 void GDataWapiService::AddResourceToDirectory( | 414 void GDataWapiService::AddResourceToDirectory( |
| 415 const std::string& parent_resource_id, | 415 const std::string& parent_resource_id, |
| 416 const std::string& resource_id, | 416 const std::string& resource_id, |
| 417 const EntryActionCallback& callback) { | 417 const EntryActionCallback& callback) { |
| 418 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 418 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 419 DCHECK(!callback.is_null()); | 419 DCHECK(!callback.is_null()); |
| 420 | 420 |
| 421 runner_->StartOperationWithRetry( | 421 runner_->StartOperationWithRetry( |
| 422 new AddResourceToDirectoryOperation(operation_registry(), | 422 new AddResourceToDirectoryOperation(runner_.get(), |
| 423 url_request_context_getter_, | 423 url_request_context_getter_, |
| 424 url_generator_, | 424 url_generator_, |
| 425 callback, | 425 callback, |
| 426 parent_resource_id, | 426 parent_resource_id, |
| 427 resource_id)); | 427 resource_id)); |
| 428 } | 428 } |
| 429 | 429 |
| 430 void GDataWapiService::RemoveResourceFromDirectory( | 430 void GDataWapiService::RemoveResourceFromDirectory( |
| 431 const std::string& parent_resource_id, | 431 const std::string& parent_resource_id, |
| 432 const std::string& resource_id, | 432 const std::string& resource_id, |
| 433 const EntryActionCallback& callback) { | 433 const EntryActionCallback& callback) { |
| 434 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 434 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 435 DCHECK(!callback.is_null()); | 435 DCHECK(!callback.is_null()); |
| 436 | 436 |
| 437 runner_->StartOperationWithRetry( | 437 runner_->StartOperationWithRetry( |
| 438 new RemoveResourceFromDirectoryOperation(operation_registry(), | 438 new RemoveResourceFromDirectoryOperation(runner_.get(), |
| 439 url_request_context_getter_, | 439 url_request_context_getter_, |
| 440 url_generator_, | 440 url_generator_, |
| 441 callback, | 441 callback, |
| 442 parent_resource_id, | 442 parent_resource_id, |
| 443 resource_id)); | 443 resource_id)); |
| 444 } | 444 } |
| 445 | 445 |
| 446 void GDataWapiService::InitiateUploadNewFile( | 446 void GDataWapiService::InitiateUploadNewFile( |
| 447 const base::FilePath& drive_file_path, | 447 const base::FilePath& drive_file_path, |
| 448 const std::string& content_type, | 448 const std::string& content_type, |
| 449 int64 content_length, | 449 int64 content_length, |
| 450 const std::string& parent_resource_id, | 450 const std::string& parent_resource_id, |
| 451 const std::string& title, | 451 const std::string& title, |
| 452 const InitiateUploadCallback& callback) { | 452 const InitiateUploadCallback& callback) { |
| 453 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 453 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 454 DCHECK(!callback.is_null()); | 454 DCHECK(!callback.is_null()); |
| 455 DCHECK(!parent_resource_id.empty()); | 455 DCHECK(!parent_resource_id.empty()); |
| 456 | 456 |
| 457 runner_->StartOperationWithRetry( | 457 runner_->StartOperationWithRetry( |
| 458 new InitiateUploadNewFileOperation(operation_registry(), | 458 new InitiateUploadNewFileOperation(runner_.get(), |
| 459 url_request_context_getter_, | 459 url_request_context_getter_, |
| 460 url_generator_, | 460 url_generator_, |
| 461 callback, | 461 callback, |
| 462 drive_file_path, | 462 drive_file_path, |
| 463 content_type, | 463 content_type, |
| 464 content_length, | 464 content_length, |
| 465 parent_resource_id, | 465 parent_resource_id, |
| 466 title)); | 466 title)); |
| 467 } | 467 } |
| 468 | 468 |
| 469 void GDataWapiService::InitiateUploadExistingFile( | 469 void GDataWapiService::InitiateUploadExistingFile( |
| 470 const base::FilePath& drive_file_path, | 470 const base::FilePath& drive_file_path, |
| 471 const std::string& content_type, | 471 const std::string& content_type, |
| 472 int64 content_length, | 472 int64 content_length, |
| 473 const std::string& resource_id, | 473 const std::string& resource_id, |
| 474 const std::string& etag, | 474 const std::string& etag, |
| 475 const InitiateUploadCallback& callback) { | 475 const InitiateUploadCallback& callback) { |
| 476 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 476 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 477 DCHECK(!callback.is_null()); | 477 DCHECK(!callback.is_null()); |
| 478 DCHECK(!resource_id.empty()); | 478 DCHECK(!resource_id.empty()); |
| 479 | 479 |
| 480 runner_->StartOperationWithRetry( | 480 runner_->StartOperationWithRetry( |
| 481 new InitiateUploadExistingFileOperation(operation_registry(), | 481 new InitiateUploadExistingFileOperation(runner_.get(), |
| 482 url_request_context_getter_, | 482 url_request_context_getter_, |
| 483 url_generator_, | 483 url_generator_, |
| 484 callback, | 484 callback, |
| 485 drive_file_path, | 485 drive_file_path, |
| 486 content_type, | 486 content_type, |
| 487 content_length, | 487 content_length, |
| 488 resource_id, | 488 resource_id, |
| 489 etag)); | 489 etag)); |
| 490 } | 490 } |
| 491 | 491 |
| 492 void GDataWapiService::ResumeUpload( | 492 void GDataWapiService::ResumeUpload( |
| 493 const base::FilePath& drive_file_path, | 493 const base::FilePath& drive_file_path, |
| 494 const GURL& upload_url, | 494 const GURL& upload_url, |
| 495 int64 start_position, | 495 int64 start_position, |
| 496 int64 end_position, | 496 int64 end_position, |
| 497 int64 content_length, | 497 int64 content_length, |
| 498 const std::string& content_type, | 498 const std::string& content_type, |
| 499 const base::FilePath& local_file_path, | 499 const base::FilePath& local_file_path, |
| 500 const UploadRangeCallback& callback, | 500 const UploadRangeCallback& callback, |
| 501 const ProgressCallback& progress_callback) { | 501 const ProgressCallback& progress_callback) { |
| 502 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 502 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 503 DCHECK(!callback.is_null()); | 503 DCHECK(!callback.is_null()); |
| 504 | 504 |
| 505 runner_->StartOperationWithRetry( | 505 runner_->StartOperationWithRetry( |
| 506 new ResumeUploadOperation(operation_registry(), | 506 new ResumeUploadOperation(runner_.get(), |
| 507 url_request_context_getter_, | 507 url_request_context_getter_, |
| 508 callback, | 508 callback, |
| 509 progress_callback, | 509 progress_callback, |
| 510 drive_file_path, | 510 drive_file_path, |
| 511 upload_url, | 511 upload_url, |
| 512 start_position, | 512 start_position, |
| 513 end_position, | 513 end_position, |
| 514 content_length, | 514 content_length, |
| 515 content_type, | 515 content_type, |
| 516 local_file_path)); | 516 local_file_path)); |
| 517 } | 517 } |
| 518 | 518 |
| 519 void GDataWapiService::GetUploadStatus( | 519 void GDataWapiService::GetUploadStatus( |
| 520 const base::FilePath& drive_file_path, | 520 const base::FilePath& drive_file_path, |
| 521 const GURL& upload_url, | 521 const GURL& upload_url, |
| 522 int64 content_length, | 522 int64 content_length, |
| 523 const UploadRangeCallback& callback) { | 523 const UploadRangeCallback& callback) { |
| 524 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 524 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 525 DCHECK(!callback.is_null()); | 525 DCHECK(!callback.is_null()); |
| 526 | 526 |
| 527 runner_->StartOperationWithRetry( | 527 runner_->StartOperationWithRetry( |
| 528 new GetUploadStatusOperation(operation_registry(), | 528 new GetUploadStatusOperation(runner_.get(), |
| 529 url_request_context_getter_, | 529 url_request_context_getter_, |
| 530 callback, | 530 callback, |
| 531 drive_file_path, | 531 drive_file_path, |
| 532 upload_url, | 532 upload_url, |
| 533 content_length)); | 533 content_length)); |
| 534 } | 534 } |
| 535 | 535 |
| 536 void GDataWapiService::AuthorizeApp(const std::string& resource_id, | 536 void GDataWapiService::AuthorizeApp(const std::string& resource_id, |
| 537 const std::string& app_id, | 537 const std::string& app_id, |
| 538 const AuthorizeAppCallback& callback) { | 538 const AuthorizeAppCallback& callback) { |
| 539 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 539 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 540 DCHECK(!callback.is_null()); | 540 DCHECK(!callback.is_null()); |
| 541 | 541 |
| 542 runner_->StartOperationWithRetry( | 542 runner_->StartOperationWithRetry( |
| 543 new AuthorizeAppOperation( | 543 new AuthorizeAppOperation( |
| 544 operation_registry(), | 544 runner_.get(), |
| 545 url_request_context_getter_, | 545 url_request_context_getter_, |
| 546 url_generator_, | 546 url_generator_, |
| 547 callback, | 547 callback, |
| 548 resource_id, | 548 resource_id, |
| 549 app_id)); | 549 app_id)); |
| 550 } | 550 } |
| 551 | 551 |
| 552 bool GDataWapiService::HasAccessToken() const { | 552 bool GDataWapiService::HasAccessToken() const { |
| 553 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 553 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 554 | 554 |
| 555 return runner_->auth_service()->HasAccessToken(); | 555 return runner_->auth_service()->HasAccessToken(); |
| 556 } | 556 } |
| 557 | 557 |
| 558 bool GDataWapiService::HasRefreshToken() const { | 558 bool GDataWapiService::HasRefreshToken() const { |
| 559 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 559 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 560 | 560 |
| 561 return runner_->auth_service()->HasRefreshToken(); | 561 return runner_->auth_service()->HasRefreshToken(); |
| 562 } | 562 } |
| 563 | 563 |
| 564 void GDataWapiService::ClearAccessToken() { | 564 void GDataWapiService::ClearAccessToken() { |
| 565 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 565 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 566 return runner_->auth_service()->ClearAccessToken(); | 566 return runner_->auth_service()->ClearAccessToken(); |
| 567 } | 567 } |
| 568 | 568 |
| 569 void GDataWapiService::ClearRefreshToken() { | 569 void GDataWapiService::ClearRefreshToken() { |
| 570 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 570 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 571 return runner_->auth_service()->ClearRefreshToken(); | 571 return runner_->auth_service()->ClearRefreshToken(); |
| 572 } | 572 } |
| 573 | 573 |
| 574 OperationRegistry* GDataWapiService::operation_registry() const { | |
| 575 return runner_->operation_registry(); | |
| 576 } | |
| 577 | |
| 578 void GDataWapiService::OnOAuth2RefreshTokenChanged() { | 574 void GDataWapiService::OnOAuth2RefreshTokenChanged() { |
| 579 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 575 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 580 if (CanStartOperation()) { | 576 if (CanStartOperation()) { |
| 581 FOR_EACH_OBSERVER( | 577 FOR_EACH_OBSERVER( |
| 582 DriveServiceObserver, observers_, OnReadyToPerformOperations()); | 578 DriveServiceObserver, observers_, OnReadyToPerformOperations()); |
| 583 } else if (!HasRefreshToken()) { | 579 } else if (!HasRefreshToken()) { |
| 584 FOR_EACH_OBSERVER( | 580 FOR_EACH_OBSERVER( |
| 585 DriveServiceObserver, observers_, OnRefreshTokenInvalid()); | 581 DriveServiceObserver, observers_, OnRefreshTokenInvalid()); |
| 586 } | 582 } |
| 587 } | 583 } |
| 588 | 584 |
| 589 } // namespace google_apis | 585 } // namespace google_apis |
| OLD | NEW |