| 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/drive_api_service.h" | 5 #include "chrome/browser/google_apis/drive_api_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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 81 |
| 82 PostTaskAndReplyWithResult( | 82 PostTaskAndReplyWithResult( |
| 83 BrowserThread::GetBlockingPool(), | 83 BrowserThread::GetBlockingPool(), |
| 84 FROM_HERE, | 84 FROM_HERE, |
| 85 base::Bind(&ParseResourceListOnBlockingPool, | 85 base::Bind(&ParseResourceListOnBlockingPool, |
| 86 base::Passed(&value), error), | 86 base::Passed(&value), error), |
| 87 base::Bind(&DidParseResourceListOnBlockingPool, | 87 base::Bind(&DidParseResourceListOnBlockingPool, |
| 88 callback, base::Owned(error))); | 88 callback, base::Owned(error))); |
| 89 } | 89 } |
| 90 | 90 |
| 91 // Parses the JSON value to ResourceEntry runs |callback|. | 91 // Parses the FileResource value to ResourceEntry and runs |callback|. |
| 92 void ParseResourceEntryAndRun( | 92 void ParseResourceEntryAndRun( |
| 93 const GetResourceEntryCallback& callback, | 93 const GetResourceEntryCallback& callback, |
| 94 GDataErrorCode error, | 94 GDataErrorCode error, |
| 95 scoped_ptr<base::Value> value) { | 95 scoped_ptr<FileResource> value) { |
| 96 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI)); | 96 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 97 | 97 |
| 98 if (!value) { | 98 if (!value) { |
| 99 callback.Run(error, scoped_ptr<ResourceEntry>()); | 99 callback.Run(error, scoped_ptr<ResourceEntry>()); |
| 100 return; | 100 return; |
| 101 } | 101 } |
| 102 | 102 |
| 103 // Parsing FileResource is cheap enough to do on UI thread. | |
| 104 scoped_ptr<FileResource> file_resource = FileResource::CreateFrom(*value); | |
| 105 if (!file_resource) { | |
| 106 callback.Run(GDATA_PARSE_ERROR, scoped_ptr<ResourceEntry>()); | |
| 107 return; | |
| 108 } | |
| 109 | |
| 110 // Converting to ResourceEntry is cheap enough to do on UI thread. | 103 // Converting to ResourceEntry is cheap enough to do on UI thread. |
| 111 scoped_ptr<ResourceEntry> entry = | 104 scoped_ptr<ResourceEntry> entry = |
| 112 ResourceEntry::CreateFromFileResource(*file_resource); | 105 ResourceEntry::CreateFromFileResource(*value); |
| 113 if (!entry) { | 106 if (!entry) { |
| 114 callback.Run(GDATA_PARSE_ERROR, scoped_ptr<ResourceEntry>()); | 107 callback.Run(GDATA_PARSE_ERROR, scoped_ptr<ResourceEntry>()); |
| 115 return; | 108 return; |
| 116 } | 109 } |
| 117 | 110 |
| 118 callback.Run(error, entry.Pass()); | 111 callback.Run(error, entry.Pass()); |
| 119 } | 112 } |
| 120 | 113 |
| 121 // Parses the AboutResource value to AccountMetadataFeed and runs |callback| | 114 // Parses the AboutResource value to AccountMetadataFeed and runs |callback| |
| 122 // on the UI thread once parsing is done. | 115 // on the UI thread once parsing is done. |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 } | 557 } |
| 565 | 558 |
| 566 void DriveAPIService::OnProgressUpdate( | 559 void DriveAPIService::OnProgressUpdate( |
| 567 const OperationProgressStatusList& list) { | 560 const OperationProgressStatusList& list) { |
| 568 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 561 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 569 FOR_EACH_OBSERVER( | 562 FOR_EACH_OBSERVER( |
| 570 DriveServiceObserver, observers_, OnProgressUpdate(list)); | 563 DriveServiceObserver, observers_, OnProgressUpdate(list)); |
| 571 } | 564 } |
| 572 | 565 |
| 573 } // namespace google_apis | 566 } // namespace google_apis |
| OLD | NEW |