// 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; // The searchbox in the lens overlay. CONTEXTUAL_SEARCHBOX = 24; // The searchbox in the search side panel. SEARCH_SIDE_PANEL_SEARCHBOX = 25; // The searchbox in the lens side panel. LENS_SIDE_PANEL_SEARCHBOX = 26; // The user is visiting a search result page using Chrome Custom Tab. // Equivalent of SEARCH_RESULT_PAGE_NO_SEARCH_TERM_REPLACEMENT for CCT. SEARCH_RESULT_PAGE_ON_CCT = 27; // The user is visiting a non DSE web page using Chrome Custom Tab. // Equivalent of OTHER for CCT. OTHER_ON_CCT = 28; // 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; // Featured search that includes the starter pack and search engines created // by the SiteSearchSettings Enterprise policy and marked as "featured" by // an administrator. FEATURED_SEARCH = 25; } // 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 // gcomanici@chromium.org. 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; COMPANY_ENTITY_ADJUSTMENT = 11; } // 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; }