| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| option java_package = "org.chromium.components.metrics"; |
| |
| option java_outer_classname = "OmniboxEventProtos"; |
| |
| package metrics; |
| |
| import "omnibox_input_type.proto"; |
| |
| // Stores information about an omnibox interaction. |
| // Next tag: 28 |
| message OmniboxEventProto { |
| // The timestamp for the event, in seconds. |
| // This value comes from Chromium's TimeTicks::Now(), which is an abstract |
| // time value that is guaranteed to always be non-decreasing (regardless of |
| // Daylight Saving Time or any other changes to the system clock). |
| // These numbers are only comparable within a session. To sequence events |
| // across sessions, order by the |session_id| from the |
| // ChromeUserMetricsExtension message. |
| optional int64 time_sec = 1; |
| |
| // The id of the originating tab for this omnibox interaction. |
| // This is the current tab *unless* the user opened the target in a new tab. |
| // In those cases, this is unset. Tab ids are unique for a given session_id |
| // (in the containing protocol buffer ChromeUserMetricsExtensionProto). |
| optional int32 tab_id = 2; |
| |
| // The number of characters the user had typed before autocompleting. |
| optional int32 typed_length = 3; |
| |
| // Whether the user deleted text immediately before selecting an omnibox |
| // suggestion. This is usually the result of pressing backspace or delete. |
| optional bool just_deleted_text = 11; |
| |
| // The number of terms that the user typed in the omnibox. |
| optional int32 num_typed_terms = 4; |
| |
| // The index of the item that the user selected in the omnibox popup list. |
| // This corresponds the index of the |suggestion| below. |
| optional int32 selected_index = 5; |
| |
| // Whether the user selected the option to switch tabs (or ignored it |
| // and navigated). If true, one or more |Suggestions| will have |
| // |has_tab_match| set as well, which must include the |selected_index|. |
| optional bool selected_tab_match = 17; |
| |
| // DEPRECATED. Whether or not the top match was hidden in the omnibox |
| // suggestions dropdown. |
| optional bool DEPRECATED_is_top_result_hidden_in_dropdown = 14 |
| [deprecated = true]; |
| |
| // Whether the omnibox popup is open. It can be closed if, for instance, |
| // the user clicks in the omnibox and hits return to reload the same page. |
| // If the popup is closed, the suggestion list will contain only one item |
| // and selected_index will be 0 (pointing to that single item). Because |
| // paste-and-search/paste-and-go actions ignore the current content of the |
| // omnibox dropdown (if it is open) when they happen, we pretend the |
| // dropdown is closed when logging these. |
| optional bool is_popup_open = 15; |
| |
| // True if this is a paste-and-search or paste-and-go action. (The codebase |
| // refers to both these types as paste-and-go.) |
| optional bool is_paste_and_go = 16; |
| |
| // The length of the inline autocomplete text in the omnibox. |
| // The sum |typed_length| + |completed_length| gives the full length of the |
| // user-visible text in the omnibox. |
| // This field is only set for suggestions that are allowed to be the default |
| // match and omitted otherwise. The first suggestion is always allowed to |
| // be the default match. (This is an enforced constraint.) Hence, if |
| // |selected_index| == 0, then this field will always be set. |
| optional int32 completed_length = 6; |
| |
| // The amount of time, in milliseconds, since the user first began modifying |
| // the text in the omnibox. If at some point after modifying the text, the |
| // user reverts the modifications (thus seeing the current web page's URL |
| // again), then writes in the omnibox again, this elapsed time should start |
| // from the time of the second series of modification. |
| optional int64 typing_duration_ms = 7; |
| |
| // The amount of time, in milliseconds, since the last time the default |
| // (inline) match changed. This may be longer than the time since the |
| // last keystroke. (The last keystroke may not have changed the default |
| // match.) It may also be shorter than the time since the last keystroke |
| // because the default match might have come from an asynchronous |
| // provider. Regardless, it should always be less than or equal to |
| // the field |typing_duration_ms|. |
| optional int64 duration_since_last_default_match_update_ms = 13; |
| |
| // The type of page the user was on when they used the omnibox. Or the type of |
| // page for which suggestions were prefetched from the server. |
| enum PageClassification { |
| // An invalid URL; shouldn't happen. |
| INVALID_SPEC = 0; |
| |
| // chrome://newtab/. For modern versions of Chrome, this is only reported |
| // when an extension is replacing the new tab page. Otherwise, new tab |
| // page interactions will be reported as NTP_REALBOX, |
| // INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS or |
| // INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS. |
| // For old versions of Chrome, this was reported for the default New Tab |
| // Page. |
| NTP = 1; |
| |
| // about:blank. |
| BLANK = 2; |
| |
| // The user's home page. Note that if the home page is set to any |
| // of the new tab page versions or to about:blank, then we'll |
| // classify the page into those categories, not HOME_PAGE. |
| HOME_PAGE = 3; |
| |
| // The catch-all entry of everything not included somewhere else |
| // on this list. |
| OTHER = 4; |
| |
| // The instant new tab page. |
| OBSOLETE_INSTANT_NTP = 5; // DEPRECATED on August 2, 2013. |
| |
| // The user is on a search result page that does search term replacement. |
| // This means the search terms are shown in the omnibox instead of the URL. |
| // In other words: Query in Omnibox is Active for this SRP. |
| SEARCH_RESULT_PAGE_DOING_SEARCH_TERM_REPLACEMENT = 6; |
| |
| // The new tab page in which this omnibox interaction first started |
| // with the user having focus in the omnibox. |
| INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS = 7; |
| |
| // The new tab page in which this omnibox interaction first started with the |
| // user having focus in the fakebox. This is replaced by NTP_REALBOX. |
| // DEPRECATED on Aug 17, 2020. |
| INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS = 8; |
| |
| // The user is on a search result page that does not do search term |
| // replacement. This means the URL of the SRP is shown in the omnibox. |
| // In other words: Query in Omnibox is Inactive for this SRP. |
| SEARCH_RESULT_PAGE_NO_SEARCH_TERM_REPLACEMENT = 9; |
| |
| // The user is on the home screen. |
| APP_HOME = 10; |
| |
| // The user is in the search app. |
| APP_SEARCH = 11; |
| |
| // The user is in the maps app. |
| APP_MAPS = 12; |
| |
| // This omnibox interaction started with the user tapping the search button. |
| SEARCH_BUTTON_AS_STARTING_FOCUS = 13; |
| |
| // This interaction started with the user focusing or typing in the search |
| // box of the ChromeOS app list (a.k.a., launcher). |
| CHROMEOS_APP_LIST = 14; |
| |
| // The new tab page in which this omnibox interaction started with the user |
| // having focus in the realbox. |
| NTP_REALBOX = 15; |
| |
| // Android's Search Widget started directly from Launcher. |
| ANDROID_SEARCH_WIDGET = 16; |
| |
| // Android's Start surface homepage. |
| START_SURFACE_HOMEPAGE = 17; // DEPRECATED on Jun 17, 2022. |
| // New Tab with Omnibox focused with Android's start surface finale enabled. |
| START_SURFACE_NEW_TAB = 18; // DEPRECATED on Jun 17, 2022. |
| |
| // Android's improved Search Widget with new suggestions. |
| ANDROID_SHORTCUTS_WIDGET = 19; |
| |
| // The New Tab Page zero-prefix suggestion prefetch. |
| // Used for prefetching suggestions and should never appear in an |
| // OmniboxEventProto or any of its derived histograms. (PageClassification |
| // enum is used in other places too, and not only OmniboxEventProto.) |
| NTP_ZPS_PREFETCH = 20; |
| |
| // Used for Journeys requests in its landing page, side Panel or the NTP. |
| // Should never appear in an OmniboxEventProto or any of its derived |
| // histograms. (PageClassification enum is used in other places too, and not |
| // only OmniboxEventProto.) |
| JOURNEYS = 21; |
| |
| // The Search Results Page zero-prefix suggestion prefetch. |
| // Used for prefetching suggestions and should never appear in an |
| // OmniboxEventProto or any of its derived histograms. (PageClassification |
| // enum is used in other places too, and not only OmniboxEventProto.) |
| SRP_ZPS_PREFETCH = 22; |
| |
| // The catch-all zero-prefix suggestion prefetch for everything other than |
| // NTP and SRP. |
| // Used for prefetching suggestions and should never appear in an |
| // OmniboxEventProto or any of its derived histograms. (PageClassification |
| // enum is used in other places too, and not only OmniboxEventProto.) |
| OTHER_ZPS_PREFETCH = 23; |
| |
| // When adding new classifications, please consider adding them in |
| // chromium's chrome/browser/resources/omnibox/omnibox.html |
| // so that these new options are displayed on about:omnibox. |
| } |
| optional PageClassification current_page_classification = 10; |
| |
| enum ModeType { |
| // Unknown type (should not be reported). |
| UNKNOWN_MODE = 0; |
| // This user is in web mode when looking for suggestions. |
| WEB_MODE = 1; |
| // This user is in image mode when looking for suggestions. |
| IMAGE_MODE = 2; |
| } |
| optional ModeType mode_type = 18; |
| |
| optional OmniboxInputType input_type = 8; |
| |
| // An enum used in multiple places below. |
| enum ProviderType { |
| UNKNOWN_PROVIDER = 0; // Unknown provider (should not reach here) |
| HISTORY_URL = 1; // URLs in history, or user-typed URLs |
| HISTORY_CONTENTS = 2; // Matches for page contents of pages in history |
| HISTORY_QUICK = 3; // Matches for recently or frequently visited pages |
| // in history |
| SEARCH = 4; // Search suggestions for the default search engine |
| KEYWORD = 5; // Keyword-triggered searches |
| BUILTIN = 6; // Built-in URLs, such as chrome://version |
| SHORTCUTS = 7; // Recently selected omnibox suggestions |
| EXTENSION_APPS = 8; // DEPRECATED. Suggestions from extensions or apps |
| CONTACT = 9; // DEPRECATED. The user's contacts |
| BOOKMARK = 10; // The user's bookmarks |
| ZERO_SUGGEST = 11; // Suggestions based on the current page |
| // This enum value is currently only used by Android GSA. It represents |
| // a suggestion from the phone powered by go/icing. |
| ON_DEVICE = 12; |
| // This enum value is currently only used by Android GSA. It represents |
| // a suggestion powered by a Chrome content provider. |
| ON_DEVICE_CHROME = 13; |
| CLIPBOARD = 14; // Suggestion coming from clipboard. |
| PHYSICAL_WEB = 15; // DEPRECATED. Suggestions triggered by URLs broadcast |
| // by nearby devices. |
| DOCUMENT = 16; // Suggestions for documents in a cloud corpus. |
| // Non personalized query suggestions generated from a lightweight on device |
| // head model. |
| ON_DEVICE_HEAD = 17; |
| // Zero-prefix query suggestions based on device local history. |
| ZERO_SUGGEST_LOCAL_HISTORY = 18; |
| // Only used by Android Chrome. Represents a suggestion showing query tiles |
| // that users can tap on for bulding queries. |
| QUERY_TILE = 19; |
| // Clusters generated on-device from the user's Chrome history. |
| HISTORY_CLUSTER = 20; |
| // Suggestions from history derived from input with automatic corrections. |
| HISTORY_FUZZY = 21; |
| // URLs amongst the user's currently open tabs. These are not separately |
| // attached TAB_SWITCH actions; they're full dedicated suggestions produced |
| // by the OpenTabProvider (used by @tabs keyword scope and CrOS launcher). |
| OPEN_TAB = 22; |
| // Tab switch actions that attach to matches when the URL is equivalent |
| // to a URL in another open tab. Note this is distinct from OPEN_TAB above. |
| // This is a pseudo-provider for a TabSwitchAction attached to a suggestion |
| // when AutocompleteResult::ConvertOpenTabMatches finds matching open tabs. |
| TAB_SWITCH = 23; |
| // Omnibox Pedals: specialized actions that may be attached to matches. |
| // This is a pseudo-provider for actions produced by OmniboxPedalProvider |
| // and attached to suggestions by AutocompleteResult::AttachPedalsToMatches. |
| PEDALS = 24; |
| } |
| |
| // The result set displayed on the completion popup |
| // Next tag: 11 |
| message Suggestion { |
| // Where does this result come from? |
| optional ProviderType provider = 1; |
| |
| // What kind of result this is. |
| // This corresponds to the AutocompleteMatch::Type enumeration in |
| // components/omnibox/autocomplete_match.h |
| // (except for Android GSA result types). |
| enum ResultType { |
| UNKNOWN_RESULT_TYPE = 0; // Unknown type (should not reach here) |
| URL_WHAT_YOU_TYPED = 1; // The input as a URL |
| HISTORY_URL = 2; // A past page whose URL contains the input |
| HISTORY_TITLE = 3; // A past page whose title contains the input |
| HISTORY_BODY = 4; // DEPRECATED. A past page whose body |
| // contains the input |
| HISTORY_KEYWORD = 5; // A past page whose keyword contains the |
| // input |
| NAVSUGGEST = 6; // A suggested URL |
| // |
| // result_subtype_identifier is currently used |
| // for contextual zero-suggest suggestions |
| // provided by the experimental service (note |
| // that not all NAVSUUGGEST suggestions come |
| // from the experimental service). |
| // For subtype definitions, please contact |
| // [email protected]. |
| SEARCH_WHAT_YOU_TYPED = 7; // The input as a search query (with the |
| // default engine) |
| SEARCH_HISTORY = 8; // A past search (with the default engine) |
| // containing the input |
| SEARCH_SUGGEST = 9; // A suggested search (with the default |
| // engine) for a query. |
| SEARCH_OTHER_ENGINE = 10; // A search with a non-default engine |
| EXTENSION_APP = 11; // DEPRECATED. An Extension App with a |
| // title/url that contains the input. |
| CONTACT = 12; // One of the user's contacts |
| BOOKMARK_TITLE = 13; // A bookmark with a title/url that contains |
| // the input. |
| SEARCH_SUGGEST_ENTITY = 14; // A suggested search for an entity. |
| SEARCH_SUGGEST_TAIL = 15; // A suggested search to complete the tail of |
| // the query. |
| SEARCH_SUGGEST_PERSONALIZED = 16; // A personalized suggested search. |
| SEARCH_SUGGEST_PROFILE = 17; // A personalized suggested search for a |
| // Google+ profile. |
| APP_RESULT = 18; // Result from an installed app |
| // (eg: a gmail email). |
| // Used by Android GSA for on-device |
| // suggestion logging. |
| APP = 19; // An app result (eg: the gmail app). |
| // Used by Android GSA for on-device |
| // suggestion logging. |
| LEGACY_ON_DEVICE = 20; // An on-device result from a legacy |
| // provider. That is, this result is not |
| // from the on-device suggestion provider |
| // (go/icing). This field is |
| // used by Android GSA for on-device |
| // suggestion logging. |
| NAVSUGGEST_PERSONALIZED = 21; // A personalized url. |
| SEARCH_SUGGEST_ANSWER = 22; // DEPRECATED. Answers no longer have their |
| // own type but instead can be attached to |
| // suggestions of any type. |
| CALCULATOR = 23; // A calculator answer. |
| CLIPBOARD_URL = 24; // An URL based on the clipboard. |
| PHYSICAL_WEB = 25; // DEPRECATED. A Physical Web nearby URL. |
| PHYSICAL_WEB_OVERFLOW = 26; // DEPRECATED. An item representing multiple |
| // Physical Web nearby URLs. |
| DOCUMENT = 27; // An item representing a cloud document |
| // suggestion. |
| CLIPBOARD_TEXT = 28; // Text based on the clipboard. |
| CLIPBOARD_IMAGE = 29; // An image based on the clipboard. |
| TILE_SUGGESTION = 30; // A search query from Chrome Query Tiles |
| // feature. Only used by Android. |
| HISTORY_CLUSTER = 31; // A past page that is a member of a cluster |
| // (an aggregation of related searches and |
| // URLs from the user's history) that |
| // contains the input (the input might or |
| // might not also match the title or URL of |
| // this page). |
| OPEN_TAB = 32; // A currently open tab whose URL contains the input. |
| // Note: This is for dedicated matches produced by |
| // OpenTabProvider, not a general TAB_SWITCH action. |
| STARTER_PACK = 33; // A built-in URL suggestion specifically created for |
| // the starter pack keyword mode chip to attach to. |
| TAB_SWITCH = 34; // A tab-switch action (distinct from OPEN_TAB). |
| PEDAL = 35; // A pedal action. |
| } |
| optional ResultType result_type = 2; |
| |
| // The relevance score for this suggestion. |
| optional int32 relevance = 3; |
| |
| // How many times this result was typed in / selected from the omnibox |
| // in this profile. |
| // Only set for some providers and result_types. At the time of |
| // writing this comment, it is only set for HistoryURL and |
| // HistoryQuickProvider matches. |
| optional int32 typed_count = 5; |
| |
| // Whether this item is starred (bookmarked) in this profile. |
| optional bool is_starred = 4 [deprecated = true]; |
| |
| // Whether this item is disabled in the UI (not clickable). |
| optional bool is_disabled = 6; |
| |
| // Used to identify the specific source / type for suggestions by the |
| // suggest server. The meaning of individual values is determined by the |
| // provider of each suggestion type and is different for every suggestion |
| // type. See enum ResultType above for more details. |
| optional int32 result_subtype_identifier = 7; |
| |
| // Whether the suggestion presented in the match, regardless of type, |
| // matched an open tab. |
| optional bool has_tab_match = 8; |
| |
| // Whether this suggestion came associated with a keyword. Does not include |
| // suggestions that came from the default search engine unless the search |
| // engine was explicitly invoked. As two common examples, |
| // |is_keyword_suggestion| will be true for suggestions from explicitly- |
| // invoked suggestions (whether from a search engine or an extension). It |
| // will also be true for suggestions from a keyword that wasn't explicitly |
| // requested. For example, if a user has Google as their default search |
| // engine, the input "bing testing" will often show a suggestion to "Search |
| // Bing for testing" in the dropdown. This suggestion will be marked as |
| // |is_keyword_suggestion|. |
| optional bool is_keyword_suggestion = 9; |
| |
| // Signals for machine learning scoring. |
| // See details: http://shortn/_B21YgmkLs9. |
| // Currently, this message is only populated for URL suggestions |
| // (excluding Navsuggest and Document URLs) and only when there is a click |
| // on a URL suggestion. |
| // Only recorded on desktop platforms (Windows, Mac, Linux, ChromeOS). |
| // Next tag: 25 |
| message ScoringSignals { |
| // Number of times the URL was navigated to using the Omnibox for this |
| // profile on this device, and all other devices syncing with this |
| // profile. Only include typed visits from the last 90 days. Discounted by |
| // a time-decaying factor with a 30-day half-life based on the last visit |
| // timestamp. |
| optional int32 typed_count = 1; |
| // Number of times the URL was visited in general for this profile on this |
| // device. Note that this will soon be across syncing devices with the |
| // rollout of full history sync in 2023. Only include visits from the last |
| // 90 days. Discounted by a time-decaying factor with a 30-day half-life |
| // based on the last visit timestamp. |
| optional int32 visit_count = 2; |
| // Elapsed time since last visit for this profile on this device. Uses the |
| // local client-side timestamps. Can be unreliable as local times can |
| // change in between different runs of Chrome. |
| optional int64 elapsed_time_last_visit_secs = 3; |
| // Number of times the suggestion was visited with the current input or |
| // prefix of it for this profile on this device. |
| // Discounted by a time-decaying factor with a 1-week half-life based on |
| // the last visit timestamp. |
| optional int32 shortcut_visit_count = 4; |
| // Length of the shortest shortcut text. |
| // Useful in comparison with |typed_length|. |
| optional int32 shortest_shortcut_len = 5; |
| // Elapsed time since last shortcut visit for this profile on this device. |
| // Uses the local client-side timestamps. Can be unreliable as local times |
| // can change in between different runs of Chrome. |
| optional int64 elapsed_time_last_shortcut_visit_sec = 6; |
| // URL points to the root page of a website, i.e., no query, path words, |
| // or references after "/". |
| optional bool is_host_only = 7; |
| // Number of bookmarks for this profile with this URL. |
| optional int32 num_bookmarks_of_url = 8; |
| // Position of the first matched bookmark title term. |
| // E.g. 4 for input 'x' and title "0123x56". |
| // Not set when there is no match in the bookmark title. |
| optional int32 first_bookmark_title_match_position = 9; |
| // Total length of matched strings in the bookmark title. Can be larger |
| // than the input text length. The input text is split by whitespaces, and |
| // each input word is matched against the title separately. Their matching |
| // lengths are summed. Similarly for other text matching signals below. |
| // E.g. 9 for input "[abc] ijk [xyz]" and title "[abc] def [xyz] - [xyz]". |
| // Set to 0 when there is no match in the title. |
| optional int32 total_bookmark_title_match_length = 10; |
| // Number of input terms matched by bookmark title. Take the maximum when |
| // there are multiple matching bookmarks of this URL. |
| // E.g., 1 for input "[a] b" and bookmark title "[a] book title". |
| // Not set when the user does not have this URL bookmarked. |
| optional int32 num_input_terms_matched_by_bookmark_title = 11; |
| // Position of the first matched URL substring. |
| // URL scheme or TLD matches are excluded, though those characters are |
| // counted when assessing match position. E.g., 11 for 't' in |
| // "https://hos[t].com" Not set when there is no URL match. |
| optional int32 first_url_match_position = 12; |
| // Total length of the matched URL strings. Can be longer than the input |
| // string. E.g., Given input "ab abc" and url "abc.com/ab", total is 7 (4 |
| // for "ab" in "[ab]c.com/[ab]" and 3 for "abc" in |
| // "[abc].com"). Set to 0 when there is no URL string match. |
| optional int32 total_url_match_length = 13; |
| // One word matches host at a word boundary. E.g., true for input "[h] a" |
| // and "[h].com", Set to false when there are matches in the host but none |
| // at word boundaries. E.g., false for input "a" and "h[a].com". Not set |
| // when there is no host match. |
| optional bool host_match_at_word_boundary = 14; |
| // Total length of the matched host substrings. |
| // Can be larger than the input text. |
| // E.g., 3 for input "h a" and "[h]ost[aa].com". |
| // Set to 0 when there is no host match. |
| optional int32 total_host_match_length = 15; |
| // Total length of the matched substrings in the path at word boundaries. |
| // Can be larger than the input text. E.g. 3 for 'p' in |
| // 'a.com/[p]ath_[p]ath/[p]ath'. Set to 0 when there are no such matches. |
| optional int32 total_path_match_length = 16; |
| // Total length of the matched substrings in the query_or_ref at word |
| // boundaries. Can be larger than the input text. |
| // E.g., 3 for input '[qu] [a]' and 'a.com/a?[qu]ery_[a]'. |
| // Set to 0 when there are no such matches. |
| optional int32 total_query_or_ref_match_length = 17; |
| // Total length of the matched substrings in the page title at word |
| // boundaries. Can be larger than the input text. |
| // E.g., 2 for input "[a] [t] x" and page title "[a]bc [t]itle". |
| // Set to 0 when there is no title match. |
| optional int32 total_title_match_length = 18; |
| // Has matches that are not in schemes (e.g., "https") or "www". |
| optional bool has_non_scheme_www_match = 19; |
| // Number of input terms matched by title. |
| // E.g., 1 for input "[a] b" and title "[a] title [a]". |
| // Useful in comparison with |num_typed_terms|. |
| optional int32 num_input_terms_matched_by_title = 20; |
| // Number of input terms matched by url. |
| // Useful in comparison with |num_typed_terms|. |
| // E.g., 1 for input "[a] b" and url "[a].com". |
| optional int32 num_input_terms_matched_by_url = 21; |
| // Length of url. E.g., 22 for "https://www.host.com/p". |
| optional int32 length_of_url = 22; |
| // Site engagement score for the site the URL is on. See |
| // https://www.chromium.org/developers/design-documents/site-engagement/ |
| optional float site_engagement = 23; |
| // True if url can be default match. |
| // Currently, this requires single-term input, and match needs to begin |
| // immediately after '', scheme, or 'http://www' in the URL, e.g., given |
| // input 'w', true for "https://www.[w]sj.com" or "[w]ww.a.com", false for |
| // "host[w].com". ref: |
| // https://source.chromium.org/chromium/chromium/src/+/main:components/omnibox/browser/scored_history_match.cc;l=187?q=inline%20autocomplete |
| optional bool allowed_to_be_default_match = 24; |
| } |
| optional ScoringSignals scoring_signals = 10; |
| } |
| repeated Suggestion suggestion = 9; |
| |
| // A data structure that holds per-provider information, general information |
| // not associated with a particular result. |
| // Next tag: 6 |
| message ProviderInfo { |
| // Which provider generated this ProviderInfo entry. |
| optional ProviderType provider = 1; |
| |
| // The provider's done() value, i.e., whether it's completed processing |
| // the query. Providers which don't do any asynchronous processing |
| // will always be done. |
| optional bool provider_done = 2; |
| |
| // The set of field trials that have triggered in the most recent query, |
| // possibly affecting the shown suggestions. Each element is a hash |
| // of the corresponding field trial name. |
| // See chrome/browser/autocomplete/search_provider.cc for a specific usage |
| // DEPRECATED with crrev.com/c/4126664 1/4/23; replaced by |
| // `feature_triggered`. |
| // example. |
| repeated fixed32 field_trial_triggered = 3 [deprecated = true]; |
| |
| // Same as above except that the set of field trials is a union of all field |
| // trials that have triggered within the current omnibox session including |
| // the most recent query. |
| // See AutocompleteController::ResetSession() for more details on the |
| // definition of a session. |
| // See chrome/browser/autocomplete/search_provider.cc for a specific usage |
| // example. |
| // DEPRECATED with crrev.com/c/4126664 1/4/23; replaced by |
| // `feature_triggered_in_session`. |
| repeated fixed32 field_trial_triggered_in_session = 4 [deprecated = true]; |
| |
| // The number of times this provider returned a non-zero number of |
| // suggestions during this omnibox session. |
| // Note that each provider may define a session differently for its |
| // purposes. |
| optional int32 times_returned_results_in_session = 5; |
| } |
| // A list of diagnostic information about each provider. Providers |
| // will appear at most once in this list. |
| repeated ProviderInfo provider_info = 12; |
| |
| // Whether the Omnibox was in keyword mode, however it was entered. |
| optional bool in_keyword_mode = 19; |
| |
| // How the Omnibox got into keyword mode. Not present if not in keyword |
| // mode. |
| enum KeywordModeEntryMethod { |
| INVALID = 0; |
| TAB = 1; // Select a suggestion that provides a keyword hint |
| // and press Tab. |
| SPACE_AT_END = 2; // Type a complete keyword and press Space. |
| SPACE_IN_MIDDLE = 3; // Press Space in the middle of an input in order to |
| // separate it into a keyword and other text. |
| KEYBOARD_SHORTCUT = 4; // Press ^K. |
| QUESTION_MARK = 5; // Press Question-mark without any other input. |
| CLICK_HINT_VIEW = 6; // Select a suggestion that provides a keyword hint |
| // and click the reminder that one can press Tab. |
| TAP_HINT_VIEW = 7; // Select a suggestion that provides a keyword hint |
| // and touch the reminder that one can press Tab. |
| SELECT_SUGGESTION = 8; // Select a keyword suggestion, such as by arrowing |
| // or tabbing to it. |
| } |
| optional KeywordModeEntryMethod keyword_mode_entry_method = 20; |
| |
| // Whether the omnibox input is a search query that is started |
| // by clicking on a image tile. |
| optional bool is_query_started_from_tile = 21; |
| |
| enum Feature { |
| RICH_AUTOCOMPLETION = 0; |
| SHORT_BOOKMARK_SUGGESTIONS_BY_TOTAL_INPUT_LENGTH = 2; |
| FUZZY_URL_SUGGESTIONS = 3; |
| HISTORY_CLUSTER_SUGGESTION = 4; |
| DOMAIN_SUGGESTIONS = 5; |
| // Whether the `SearchProvider` response included: |
| // '"google:fieldtrialtriggered":true'. |
| REMOTE_SEARCH_FEATURE = 6; |
| // Like `REMOTE_SEARCH_FEATURE`, but for the `ZeroSearchProvider`. |
| REMOTE_ZERO_SUGGEST_FEATURE = 7; |
| SHORTCUT_BOOST = 8; |
| REMOTE_SECONDARY_ZERO_SUGGEST = 9; |
| ML_URL_SCORING = 10; |
| } |
| // The set of features triggered in the most recent query. Each element is a |
| // value of `Features` enum. |
| repeated int32 legacy_feature_triggered = 24 [deprecated = true]; |
| |
| // Like above except that the set of features is a union of all features that |
| // triggered within the current omnibox session including the most recent |
| // query. See `AutocompleteController::ResetSession()` for more details on the |
| // definition of a session. |
| repeated int32 legacy_feature_triggered_in_session = 22 [deprecated = true]; |
| |
| // The set of features triggered in the most recent query. |
| repeated Feature feature_triggered = 25; |
| |
| // Like above except that the set of features is a union of all features that |
| // triggered within the current omnibox session including the most recent |
| // query. See `AutocompleteController::ResetSession()` for more details on the |
| // definition of a session. |
| repeated Feature feature_triggered_in_session = 26; |
| |
| // Profile data of the user. Currently, only logged when there is a URL click. |
| message ProfileData { |
| // Total number of bookmarks in the profile this omnibox interaction took |
| // place in. |
| optional int32 total_num_bookmarks = 1; |
| // Total number of URLs stored in the history database in the profile this |
| // omnibox interaction took place in. |
| optional int32 total_num_history_urls = 2; |
| // Is signed into the browser. Set to false for Guest and Incognito |
| // profiles. Not set when signed-in status is unknown. |
| optional bool is_signed_into_browser = 3; |
| // Is sync-enabled. |
| optional bool is_sync_enabled = 4; |
| } |
| optional ProfileData profile_data = 23; |
| |
| // The position of the omnibox. |
| enum OmniboxPosition { |
| // Unknown position (should not be reported). |
| UNKNOWN_POSITION = 0; |
| // The omnibox is on the top edge of the screen. |
| TOP_POSITION = 1; |
| // The omnibox is on the bottom edge of the screen. |
| BOTTOM_POSITION = 2; |
| } |
| // The position of the steady state (unfocused) omnibox. Logged on iOS only; |
| // will be set on iOS with the BottomOmniboxSteadyStateIOS experiment. |
| // TODO(christianxu): Update this on experiment cleanup. |
| optional OmniboxPosition steady_state_omnibox_position = 27; |
| } |