Home | History | Annotate | Download | only in omnibox
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // The structures here roughly mirror those from autocomplete.
      6 
      7 struct AutocompleteAdditionalInfo {
      8   string key;
      9   string value;
     10 };
     11 
     12 struct AutocompleteMatchMojo {
     13   string? provider_name;
     14   // Only meaningful if |provider_name| is valid.
     15   bool provider_done;
     16   int32 relevance;
     17   bool deletable;
     18   string fill_into_edit;
     19   string inline_autocompletion;
     20   string destination_url;
     21   string contents;
     22   string description;
     23   int32 transition;
     24   bool is_history_what_you_typed_match;
     25   bool allowed_to_be_default_match;
     26   string type;
     27   string? associated_keyword;
     28   string keyword;
     29   bool starred;
     30   int32 duplicates;
     31   bool from_previous;
     32   AutocompleteAdditionalInfo[] additional_info;
     33 };
     34 
     35 struct AutocompleteResultsForProviderMojo {
     36   string provider_name;
     37   AutocompleteMatchMojo[] results;
     38 };
     39 
     40 struct OmniboxResultMojo {
     41   bool done;
     42   // Time delta since the request was started, in milliseconds.
     43   int32 time_since_omnibox_started_ms;
     44   string host;
     45   bool is_typed_host;
     46   AutocompleteMatchMojo[] combined_results;
     47   AutocompleteResultsForProviderMojo[] results_by_provider;
     48 };
     49 
     50 [Client=OmniboxPage]
     51 interface OmniboxUIHandlerMojo {
     52   StartOmniboxQuery(string input_string,
     53                     int32 cursor_position,
     54                     bool prevent_inline_autocomplete,
     55                     bool prefer_keyword,
     56                     int32 page_classification);
     57 };
     58 
     59 interface OmniboxPage {
     60   HandleNewAutocompleteResult(OmniboxResultMojo result);
     61 };
     62