15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright 2014 The Chromium Authors. All rights reserved. 25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Use of this source code is governed by a BSD-style license that can be 35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// found in the LICENSE file. 45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// The structures here roughly mirror those from autocomplete. 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustruct AutocompleteAdditionalInfo { 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string key; 95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string value; 105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustruct AutocompleteMatchMojo { 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci string? provider_name; 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // Only meaningful if |provider_name| is valid. 155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool provider_done; 165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 relevance; 175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool deletable; 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string fill_into_edit; 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string inline_autocompletion; 205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string destination_url; 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string contents; 225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string description; 235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 transition; 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool is_history_what_you_typed_match; 255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool allowed_to_be_default_match; 265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string type; 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci string? associated_keyword; 285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string keyword; 295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool starred; 305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 duplicates; 315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool from_previous; 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu AutocompleteAdditionalInfo[] additional_info; 335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 355c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustruct AutocompleteResultsForProviderMojo { 365c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string provider_name; 375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu AutocompleteMatchMojo[] results; 385c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 395c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 405c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustruct OmniboxResultMojo { 415c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool done; 425c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // Time delta since the request was started, in milliseconds. 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 time_since_omnibox_started_ms; 445c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu string host; 455c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool is_typed_host; 465c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu AutocompleteMatchMojo[] combined_results; 475c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu AutocompleteResultsForProviderMojo[] results_by_provider; 485c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 495c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 500de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)[Client=OmniboxPage] 515c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuinterface OmniboxUIHandlerMojo { 525c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu StartOmniboxQuery(string input_string, 535c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 cursor_position, 545c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool prevent_inline_autocomplete, 555c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool prefer_keyword, 565c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu int32 page_classification); 575c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 585c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 595c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuinterface OmniboxPage { 605c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu HandleNewAutocompleteResult(OmniboxResultMojo result); 615c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 62