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 |