| 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 6112532ae904292bc85956c675a4d4c9c1f6c2fe..90623372cad4a0218802a4a070be126f88ca1065 100644
|
| --- a/chrome/browser/google_apis/drive_api_service.cc
|
| +++ b/chrome/browser/google_apis/drive_api_service.cc
|
| @@ -340,25 +340,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,
|
| base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
|
| }
|
|
|
|
|