// 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; bool has_tab_match; string? associated_keyword; string keyword; bool starred; int32 duplicates; bool from_previous; array additional_info; }; struct AutocompleteResultsForProvider { string provider_name; array results; }; struct OmniboxResult { bool done; // Time delta since the request was started, in milliseconds. int32 time_since_omnibox_started_ms; // The inferred metrics::OmniboxInputType of the request represented as a // string. string type; string host; bool is_typed_host; array combined_results; array 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); };