Index: chrome/browser/google_apis/drive_api_service.cc |
diff --git a/chrome/browser/google_apis/drive_api_service.cc b/chrome/browser/google_apis/drive_api_service.cc |
index f10c130afb75e7820aeaa998e85c7893de7928bd..547931580bd00f57d4660b088bd524b723fd2713 100644 |
--- a/chrome/browser/google_apis/drive_api_service.cc |
+++ b/chrome/browser/google_apis/drive_api_service.cc |
@@ -349,25 +349,30 @@ void DriveAPIService::Search(const std::string& search_query, |
base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); |
} |
-void DriveAPIService::SearchInDirectory( |
- const std::string& search_query, |
+void DriveAPIService::SearchByTitle( |
+ const std::string& title, |
const std::string& directory_resource_id, |
const GetResourceListCallback& callback) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK(!search_query.empty()); |
- DCHECK(!directory_resource_id.empty()); |
+ DCHECK(!title.empty()); |
DCHECK(!callback.is_null()); |
+ std::string query; |
+ base::StringAppendF(&query, "title contains '%s'", |
+ drive::util::EscapeQueryStringValue(title).c_str()); |
+ if (!directory_resource_id.empty()) { |
+ base::StringAppendF( |
+ &query, " and '%s' in parents", |
+ drive::util::EscapeQueryStringValue(directory_resource_id).c_str()); |
+ } |
+ query += " and trashed = false"; |
+ |
runner_->StartOperationWithRetry( |
new GetFilelistOperation( |
operation_registry(), |
url_request_context_getter_, |
url_generator_, |
- base::StringPrintf( |
- "%s and '%s' in parents and trashed = false", |
- search_query.c_str(), |
- drive::util::EscapeQueryStringValue( |
- directory_resource_id).c_str()), |
+ query, |
kMaxNumFilesResourcePerRequest, |
base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); |
} |