| Index: chrome/browser/autocomplete/search_provider.cc
|
| diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc
|
| index b073aa6e637b153eb29de97891698196d9555852..6d3016c3f8a6720f12603a5240e2f0c30a9a8258 100644
|
| --- a/chrome/browser/autocomplete/search_provider.cc
|
| +++ b/chrome/browser/autocomplete/search_provider.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/callback.h"
|
| #include "base/i18n/icu_string_conversions.h"
|
| #include "base/message_loop.h"
|
| +#include "base/string16.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/browser/autocomplete/keyword_provider.h"
|
| #include "chrome/browser/browser_process.h"
|
| @@ -396,10 +397,11 @@ bool SearchProvider::ParseSuggestResults(Value* root_val,
|
| ListValue* root_list = static_cast<ListValue*>(root_val);
|
|
|
| Value* query_val;
|
| - std::wstring query_str;
|
| + string16 query_str;
|
| Value* result_val;
|
| if ((root_list->GetSize() < 2) || !root_list->Get(0, &query_val) ||
|
| - !query_val->GetAsString(&query_str) || (query_str != input_text) ||
|
| + !query_val->GetAsString(&query_str) ||
|
| + (query_str != WideToUTF16Hack(input_text)) ||
|
| !root_list->Get(1, &result_val) || !result_val->IsType(Value::TYPE_LIST))
|
| return false;
|
|
|
| @@ -436,17 +438,17 @@ bool SearchProvider::ParseSuggestResults(Value* root_val,
|
| ListValue* result_list = static_cast<ListValue*>(result_val);
|
| for (size_t i = 0; i < result_list->GetSize(); ++i) {
|
| Value* suggestion_val;
|
| - std::wstring suggestion_str;
|
| + string16 suggestion_str;
|
| if (!result_list->Get(i, &suggestion_val) ||
|
| !suggestion_val->GetAsString(&suggestion_str))
|
| return false;
|
|
|
| Value* type_val;
|
| - std::wstring type_str;
|
| + std::string type_str;
|
| if (type_list && type_list->Get(i, &type_val) &&
|
| - type_val->GetAsString(&type_str) && (type_str == L"NAVIGATION")) {
|
| + type_val->GetAsString(&type_str) && (type_str == "NAVIGATION")) {
|
| Value* site_val;
|
| - std::wstring site_name;
|
| + string16 site_name;
|
| NavigationResults& navigation_results =
|
| is_keyword ? keyword_navigation_results_ :
|
| default_navigation_results_;
|
| @@ -455,16 +457,18 @@ bool SearchProvider::ParseSuggestResults(Value* root_val,
|
| site_val->IsType(Value::TYPE_STRING) &&
|
| site_val->GetAsString(&site_name)) {
|
| // We can't blindly trust the URL coming from the server to be valid.
|
| - GURL result_url(URLFixerUpper::FixupURL(WideToUTF8(suggestion_str),
|
| + GURL result_url(URLFixerUpper::FixupURL(UTF16ToUTF8(suggestion_str),
|
| std::string()));
|
| - if (result_url.is_valid())
|
| - navigation_results.push_back(NavigationResult(result_url, site_name));
|
| + if (result_url.is_valid()) {
|
| + navigation_results.push_back(NavigationResult(result_url,
|
| + UTF16ToWideHack(site_name)));
|
| + }
|
| }
|
| } else {
|
| // TODO(kochi): Currently we treat a calculator result as a query, but it
|
| // is better to have better presentation for caluculator results.
|
| if (suggest_results->size() < kMaxMatches)
|
| - suggest_results->push_back(suggestion_str);
|
| + suggest_results->push_back(UTF16ToWideHack(suggestion_str));
|
| }
|
| }
|
|
|
|
|