Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7060)

Unified Diff: chrome/renderer/searchbox/searchbox_extension.cc

Issue 12498002: InstantExtended: Adding InstantRestrictedIDCache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/searchbox/searchbox_extension.cc
diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
index cb745307fa252eaa6305c240237af0ab196bfa9b..5ad13600bfc2174d55e8311cb9740e07eeb6efdb 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -509,25 +509,25 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetAutocompleteResults(
if (!render_view) return v8::Undefined();
DVLOG(1) << render_view << " GetAutocompleteResults";
- const std::vector<InstantAutocompleteResult>& results =
- SearchBox::Get(render_view)->GetAutocompleteResults();
- size_t results_base = SearchBox::Get(render_view)->results_base();
+ std::vector<std::pair<size_t, InstantAutocompleteResult> > results;
+ SearchBox::Get(render_view)->GetAutocompleteResults(&results);
v8::Handle<v8::Array> results_array = v8::Array::New(results.size());
for (size_t i = 0; i < results.size(); ++i) {
v8::Handle<v8::Object> result = v8::Object::New();
result->Set(v8::String::New("provider"),
- UTF16ToV8String(results[i].provider));
- result->Set(v8::String::New("type"), UTF16ToV8String(results[i].type));
+ UTF16ToV8String(results[i].second.provider));
+ result->Set(v8::String::New("type"),
+ UTF16ToV8String(results[i].second.type));
result->Set(v8::String::New("contents"),
- UTF16ToV8String(results[i].description));
+ UTF16ToV8String(results[i].second.description));
result->Set(v8::String::New("destination_url"),
- UTF16ToV8String(results[i].destination_url));
- result->Set(v8::String::New("rid"), v8::Uint32::New(results_base + i));
+ UTF16ToV8String(results[i].second.destination_url));
+ result->Set(v8::String::New("rid"), v8::Uint32::New(results[i].first));
v8::Handle<v8::Object> ranking_data = v8::Object::New();
ranking_data->Set(v8::String::New("relevance"),
- v8::Int32::New(results[i].relevance));
+ v8::Int32::New(results[i].second.relevance));
result->Set(v8::String::New("rankingData"), ranking_data);
results_array->Set(i, result);
@@ -684,11 +684,11 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateContentWindow(
GURL destination_url;
content::PageTransition transition = content::PAGE_TRANSITION_TYPED;
if (args[0]->IsNumber()) {
- const InstantAutocompleteResult* result = SearchBox::Get(render_view)->
- GetAutocompleteResultWithId(args[0]->Uint32Value());
- if (result) {
- destination_url = GURL(result->destination_url);
- transition = result->transition;
+ InstantAutocompleteResult result;
+ if (SearchBox::Get(render_view)->GetAutocompleteResultWithId(
+ args[0]->Uint32Value(), &result)) {
+ destination_url = GURL(result.destination_url);
+ transition = result.transition;
}
} else {
destination_url = GURL(V8ValueToUTF16(args[0]));
@@ -775,12 +775,14 @@ v8::Handle<v8::Value>
if (!render_view || !args.Length()) return v8::Undefined();
DVLOG(1) << render_view << " SetQuerySuggestionFromAutocompleteResult";
- const InstantAutocompleteResult* result = SearchBox::Get(render_view)->
- GetAutocompleteResultWithId(args[0]->Uint32Value());
- if (!result) return v8::Undefined();
+ InstantAutocompleteResult result;
+ if (!SearchBox::Get(render_view)->GetAutocompleteResultWithId(
+ args[0]->Uint32Value(), &result)) {
+ return v8::Undefined();
+ }
// We only support selecting autocomplete results that are URLs.
- string16 text = result->destination_url;
+ string16 text = result.destination_url;
InstantCompleteBehavior behavior = INSTANT_COMPLETE_NOW;
InstantSuggestionType type = INSTANT_SUGGESTION_URL;
@@ -819,12 +821,14 @@ v8::Handle<v8::Value>
if (!render_view || !args.Length()) return v8::Undefined();
DVLOG(1) << render_view << " SetQueryFromAutocompleteResult";
- const InstantAutocompleteResult* result = SearchBox::Get(render_view)->
- GetAutocompleteResultWithId(args[0]->Uint32Value());
- if (!result) return v8::Undefined();
+ InstantAutocompleteResult result;
+ if (!SearchBox::Get(render_view)->GetAutocompleteResultWithId(
+ args[0]->Uint32Value(), &result)) {
+ return v8::Undefined();
+ }
// We only support selecting autocomplete results that are URLs.
- string16 text = result->destination_url;
+ string16 text = result.destination_url;
InstantCompleteBehavior behavior = INSTANT_COMPLETE_REPLACE;
// TODO(jered): Distinguish between history URLs and search provider
// navsuggest URLs so that we can do proper accounting on history URLs.

Powered by Google App Engine
This is Rietveld 408576698