 Chromium Code Reviews
 Chromium Code Reviews Issue 12771013:
  Instant: Make clicks on Most Visited items work.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 12771013:
  Instant: Make clicks on Most Visited items work.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| Index: chrome/renderer/searchbox/searchbox_extension.cc | 
| diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc | 
| index 62b8397536d177b9dbba5cf96dc8cbf9c50aec6a..691da246488d45ff1d0a6e2adef50f6bef6c07b6 100644 | 
| --- a/chrome/renderer/searchbox/searchbox_extension.cc | 
| +++ b/chrome/renderer/searchbox/searchbox_extension.cc | 
| @@ -294,7 +294,11 @@ class SearchBoxExtensionWrapper : public v8::Extension { | 
| static v8::Handle<v8::Value> GetFontSize(const v8::Arguments& args); | 
| // Navigates the window to a URL represented by either a URL string or a | 
| - // restricted ID. | 
| + // restricted ID. The two variants handle restricted IDs in their | 
| + // respective namespaces. | 
| + static v8::Handle<v8::Value> NavigateSearchBox(const v8::Arguments& args); | 
| + static v8::Handle<v8::Value> NavigateNewTabPage(const v8::Arguments& args); | 
| + // DEPRECATED: TODO(sreeram): Remove when google.com no longer uses this. | 
| static v8::Handle<v8::Value> NavigateContentWindow(const v8::Arguments& args); | 
| // Sets ordered suggestions. Valid for current |value|. | 
| @@ -383,6 +387,10 @@ v8::Handle<v8::FunctionTemplate> SearchBoxExtensionWrapper::GetNativeFunction( | 
| return v8::FunctionTemplate::New(GetFont); | 
| if (name->Equals(v8::String::New("GetFontSize"))) | 
| return v8::FunctionTemplate::New(GetFontSize); | 
| + if (name->Equals(v8::String::New("NavigateSearchBox"))) | 
| + return v8::FunctionTemplate::New(NavigateSearchBox); | 
| + if (name->Equals(v8::String::New("NavigateNewTabPage"))) | 
| + return v8::FunctionTemplate::New(NavigateNewTabPage); | 
| if (name->Equals(v8::String::New("NavigateContentWindow"))) | 
| return v8::FunctionTemplate::New(NavigateContentWindow); | 
| if (name->Equals(v8::String::New("SetSuggestions"))) | 
| @@ -680,7 +688,7 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::GetFontSize( | 
| } | 
| // static | 
| -v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateContentWindow( | 
| +v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateSearchBox( | 
| const v8::Arguments& args) { | 
| content::RenderView* render_view = GetRenderView(); | 
| if (!render_view || !args.Length()) return v8::Undefined(); | 
| @@ -698,6 +706,8 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateContentWindow( | 
| destination_url = GURL(V8ValueToUTF16(args[0])); | 
| } | 
| + DVLOG(1) << render_view << " NavigateSearchBox: " << destination_url; | 
| + | 
| // Navigate the main frame. | 
| if (destination_url.is_valid()) { | 
| WindowOpenDisposition disposition = CURRENT_TAB; | 
| @@ -710,6 +720,49 @@ v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateContentWindow( | 
| } | 
| // static | 
| +v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateNewTabPage( | 
| + const v8::Arguments& args) { | 
| + content::RenderView* render_view = GetRenderView(); | 
| + if (!render_view || !args.Length()) return v8::Undefined(); | 
| + | 
| + GURL destination_url; | 
| + content::PageTransition transition = content::PAGE_TRANSITION_TYPED; | 
| + if (args[0]->IsNumber()) { | 
| + destination_url = GURL(SearchBox::Get(render_view)->RestrictedIdToURL( | 
| + args[0]->Uint32Value())); | 
| + } else { | 
| + destination_url = GURL(V8ValueToUTF16(args[0])); | 
| + } | 
| + | 
| + DVLOG(1) << render_view << " NavigateNewTabPage: " << destination_url; | 
| + | 
| + // Navigate the main frame. | 
| + if (destination_url.is_valid()) { | 
| + WindowOpenDisposition disposition = CURRENT_TAB; | 
| + if (args[1]->Uint32Value() == 2) | 
| + disposition = NEW_BACKGROUND_TAB; | 
| + SearchBox::Get(render_view)->NavigateToURL( | 
| + destination_url, transition, disposition); | 
| + } | 
| + return v8::Undefined(); | 
| +} | 
| + | 
| +// static | 
| +v8::Handle<v8::Value> SearchBoxExtensionWrapper::NavigateContentWindow( | 
| + const v8::Arguments& args) { | 
| + content::RenderView* render_view = GetRenderView(); | 
| + if (!render_view || !args.Length()) return v8::Undefined(); | 
| + | 
| + DVLOG(1) << render_view << " NavigateContentWindow; query=" | 
| + << SearchBox::Get(render_view)->query(); | 
| + | 
| + if (SearchBox::Get(render_view)->query().empty() && | 
| 
David Black
2013/03/11 20:44:46
Oh geez this is hacky.  I guess it's going away as
 
sreeram
2013/03/11 21:14:04
Done.
 | 
| + !SearchBox::Get(render_view)->verbatim()) | 
| + return NavigateNewTabPage(args); | 
| + return NavigateSearchBox(args); | 
| +} | 
| + | 
| +// static | 
| v8::Handle<v8::Value> SearchBoxExtensionWrapper::SetSuggestions( | 
| const v8::Arguments& args) { | 
| content::RenderView* render_view = GetRenderView(); |