| OLD | NEW |
| 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/search_operation.h" | 5 #include "chrome/browser/chromeos/drive/file_system/search_operation.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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 loader_controller_(loader_controller), | 91 loader_controller_(loader_controller), |
| 92 weak_ptr_factory_(this) { | 92 weak_ptr_factory_(this) { |
| 93 } | 93 } |
| 94 | 94 |
| 95 SearchOperation::~SearchOperation() { | 95 SearchOperation::~SearchOperation() { |
| 96 } | 96 } |
| 97 | 97 |
| 98 void SearchOperation::Search(const std::string& search_query, | 98 void SearchOperation::Search(const std::string& search_query, |
| 99 const GURL& next_link, | 99 const GURL& next_link, |
| 100 const SearchCallback& callback) { | 100 const SearchCallback& callback) { |
| 101 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 101 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 102 DCHECK(!callback.is_null()); | 102 DCHECK(!callback.is_null()); |
| 103 | 103 |
| 104 if (next_link.is_empty()) { | 104 if (next_link.is_empty()) { |
| 105 // This is first request for the |search_query|. | 105 // This is first request for the |search_query|. |
| 106 scheduler_->Search( | 106 scheduler_->Search( |
| 107 search_query, | 107 search_query, |
| 108 base::Bind(&SearchOperation::SearchAfterGetFileList, | 108 base::Bind(&SearchOperation::SearchAfterGetFileList, |
| 109 weak_ptr_factory_.GetWeakPtr(), callback)); | 109 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 110 } else { | 110 } else { |
| 111 // There is the remaining result so fetch it. | 111 // There is the remaining result so fetch it. |
| 112 scheduler_->GetRemainingFileList( | 112 scheduler_->GetRemainingFileList( |
| 113 next_link, | 113 next_link, |
| 114 base::Bind(&SearchOperation::SearchAfterGetFileList, | 114 base::Bind(&SearchOperation::SearchAfterGetFileList, |
| 115 weak_ptr_factory_.GetWeakPtr(), callback)); | 115 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 | 118 |
| 119 void SearchOperation::SearchAfterGetFileList( | 119 void SearchOperation::SearchAfterGetFileList( |
| 120 const SearchCallback& callback, | 120 const SearchCallback& callback, |
| 121 google_apis::DriveApiErrorCode gdata_error, | 121 google_apis::DriveApiErrorCode gdata_error, |
| 122 scoped_ptr<google_apis::FileList> file_list) { | 122 scoped_ptr<google_apis::FileList> file_list) { |
| 123 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 123 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 124 DCHECK(!callback.is_null()); | 124 DCHECK(!callback.is_null()); |
| 125 | 125 |
| 126 FileError error = GDataToFileError(gdata_error); | 126 FileError error = GDataToFileError(gdata_error); |
| 127 if (error != FILE_ERROR_OK) { | 127 if (error != FILE_ERROR_OK) { |
| 128 callback.Run(error, GURL(), scoped_ptr<std::vector<SearchResultInfo> >()); | 128 callback.Run(error, GURL(), scoped_ptr<std::vector<SearchResultInfo> >()); |
| 129 return; | 129 return; |
| 130 } | 130 } |
| 131 | 131 |
| 132 DCHECK(file_list); | 132 DCHECK(file_list); |
| 133 | 133 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 160 callback, | 160 callback, |
| 161 next_url, | 161 next_url, |
| 162 base::Passed(&result)))); | 162 base::Passed(&result)))); |
| 163 } | 163 } |
| 164 | 164 |
| 165 void SearchOperation::SearchAfterResolveSearchResult( | 165 void SearchOperation::SearchAfterResolveSearchResult( |
| 166 const SearchCallback& callback, | 166 const SearchCallback& callback, |
| 167 const GURL& next_link, | 167 const GURL& next_link, |
| 168 scoped_ptr<std::vector<SearchResultInfo> > result, | 168 scoped_ptr<std::vector<SearchResultInfo> > result, |
| 169 FileError error) { | 169 FileError error) { |
| 170 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 170 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 171 DCHECK(!callback.is_null()); | 171 DCHECK(!callback.is_null()); |
| 172 DCHECK(result); | 172 DCHECK(result); |
| 173 | 173 |
| 174 if (error != FILE_ERROR_OK) { | 174 if (error != FILE_ERROR_OK) { |
| 175 callback.Run(error, GURL(), scoped_ptr<std::vector<SearchResultInfo> >()); | 175 callback.Run(error, GURL(), scoped_ptr<std::vector<SearchResultInfo> >()); |
| 176 return; | 176 return; |
| 177 } | 177 } |
| 178 | 178 |
| 179 callback.Run(error, next_link, result.Pass()); | 179 callback.Run(error, next_link, result.Pass()); |
| 180 } | 180 } |
| 181 | 181 |
| 182 } // namespace file_system | 182 } // namespace file_system |
| 183 } // namespace drive | 183 } // namespace drive |
| OLD | NEW |