| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module mojom; |
| |
| // The structures here roughly mirror those from autocomplete. |
| |
| struct AutocompleteAdditionalInfo { |
| string key; |
| string value; |
| }; |
| |
| struct AutocompleteMatch { |
| string? provider_name; |
| // Only meaningful if |provider_name| is valid. |
| bool provider_done; |
| int32 relevance; |
| bool deletable; |
| string fill_into_edit; |
| string inline_autocompletion; |
| string destination_url; |
| string contents; |
| string description; |
| int32 transition; |
| bool allowed_to_be_default_match; |
| string type; |
| string? associated_keyword; |
| string keyword; |
| bool starred; |
| int32 duplicates; |
| bool from_previous; |
| array<AutocompleteAdditionalInfo> additional_info; |
| }; |
| |
| struct AutocompleteResultsForProvider { |
| string provider_name; |
| array<AutocompleteMatch> results; |
| }; |
| |
| struct OmniboxResult { |
| bool done; |
| // Time delta since the request was started, in milliseconds. |
| int32 time_since_omnibox_started_ms; |
| string host; |
| bool is_typed_host; |
| array<AutocompleteMatch> combined_results; |
| array<AutocompleteResultsForProvider> results_by_provider; |
| }; |
| |
| interface OmniboxPageHandler { |
| SetClientPage(OmniboxPage page); |
| StartOmniboxQuery(string input_string, |
| int32 cursor_position, |
| bool prevent_inline_autocomplete, |
| bool prefer_keyword, |
| int32 page_classification); |
| }; |
| |
| interface OmniboxPage { |
| HandleNewAutocompleteResult(OmniboxResult result); |
| }; |