Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 5 users
Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2010
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature
M-6

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment
Omnibox API (previously - URL dropdown API)
Reported by dro...@gmail.com, Mar 22 2010 Back to list
Do you know the dropdown you get when you type things into URL field? 
http://i43.tinypic.com/2jfb1xl.jpg 

When writing a chrome extension:
1. Is it possible to detect when this even happens (user enters info 
into url bar)? 
2. Modify the search results? For example say I want to add search 
results from various sources. 
 
Labels: -Type-Bug -Area-Undefined Type-Feature Area-UI Feature-Extensions
Status: Untriaged
Summary: Omnibox API (previously - URL dropdown API) (was: NULL)
Should be based on this proposal -
http://dev.chromium.org/developers/design-documents/extensions/omnibox-api
Labels: Mstone-6
Status: Available
Marking this M6 so that it can revisited sooner.
Status: Assigned
Current proposal is here: http://docs.google.com/Doc?
docid=0AYUOdFfLVYFRZGZqNnQ2N2RfODFnMzg2a2NmZA&hl=en
Comment 5 by bugdro...@gmail.com, May 28 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=48503 

------------------------------------------------------------------------
r48503 | mpcomplete@chromium.org | 2010-05-28 10:45:33 -0700 (Fri, 28 May 2010) | 10 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/generated_resources.grd?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/autocomplete/autocomplete_edit.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/autocomplete/keyword_provider.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/autocomplete/keyword_provider.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/cocoa/location_bar_view_mac.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/cocoa/location_bar_view_mac.mm?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/cocoa/location_bar_view_mac_unittest.mm?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_function_dispatcher.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_message_service.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_message_service.h?r1=48503&r2=48502
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_omnibox_api.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_omnibox_api.h
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extension_omnibox_apitest.cc
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extensions_service.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/extensions_service.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gtk/location_bar_view_gtk.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/search_engines/template_url.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/search_engines/template_url.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/search_engines/template_url_model.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/search_engines/template_url_model.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/search_engines/template_url_table_model.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/location_bar/keyword_hint_view.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/location_bar/keyword_hint_view.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/location_bar/selected_keyword_view.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/extension_api.json?r1=48503&r2=48502
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/omnibox
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/omnibox/background.html
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/omnibox/manifest.json
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/experimental.html?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_constants.cc?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_constants.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/notification_type.h?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/extension_apitest.js?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/extension_process_bindings.js?r1=48503&r2=48502
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/renderer_extension_bindings.js?r1=48503&r2=48502
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/omnibox
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/omnibox/manifest.json
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/api_test/omnibox/test.html

First pass at experimental omnibox API. There are plenty of rough edges and features to work on, but it's in a usable state.

When an extension is installed that specifies an omnibox keyword in its manifest, we add that keyword to the user's list of Search Engines. The user can then edit this keyword later.

I'm leveraging most of the original search engine keyword code. An extension keyword has a special URL that identifies it as an extension keyword. There is some special case code to treat these keywords slightly differently throughout
the omnibox code.

BUG= 38884 

Review URL: http://codereview.chromium.org/2078021
------------------------------------------------------------------------

Comment 6 by dro...@gmail.com, May 28 2010
This is completely different from what I expected omni box api to provide.
What I really want is to intercept ANY text typed into url bar and show a custom set 
of results. 

One example of usefulness of such functionality is allowing the user to search not 
only his History, but also his bookmarks when he enters anything into URL bar.

An extension could provide this as follows:
1. User enters something into url
2. Extension intercepts the words typed
3. Extension searches History, Bookmarks and any other related places.
4. The results are displayed in groups in the URL drop down bar

PS: Now that I actually tried the steps above - I see that Chrome already does this 
(it searches web, history and bookmarks). Marvelous!
Comment 7 by aa@chromium.org, May 28 2010
@drozzy: The only difference between your suggestion and what is currently implemented is that we currently 
require a keyword to enter search mode. This is hardly "completely different".

The current design is more conservative. The omnibox has a very small results space. I'm hesitant to get into a 
situation where a bunch of extensions are fighting to make their results the most relevant. Let's try this out and 
see what devs can do with it.
@6, I understand that your use case would be valuable for extensions. The problem is 
that it's much more tricky to implement and make it work nicely with the rest of the 
autocomplete system (ordering of suggest results, for example).

The API as designed supports a different use case, but I think it has value on its own. 
Status: Fixed
I'm going to mark this fixed. Bugs and feature improvements are filed separately.
Project Member Comment 10 by bugdroid1@chromium.org, Oct 12 2012
Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member Comment 11 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-UI -Feature-Extensions -Mstone-6 Cr-Platform-Extensions M-6 Cr-UI
Project Member Comment 12 by bugdroid1@chromium.org, Mar 13 2013
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Sign in to add a comment