chromium/chrome/browser/profile_resetter/profile_reset_report.proto

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol for sending reset reports.

syntax = "proto2";

package reset_report;

// Chrome requires this.
option optimize_for = LITE_RUNTIME;

// A Chrome reset report.
message ChromeResetReport {
  // A random ID to de-duplicate reports that are sent to multiple backends
  // during a transition period.
  optional string guid = 10;

  // What tabs Chrome should show on startup. See SessionStartupPref in Chrome.
  enum SessionStartupType {
    // Indicates the user wants to open the New Tab page.
    DEFAULT = 0;

    // // Deprecated. See comment in session_startup_pref.cc
    HOMEPAGE = 1;

    // Indicates the user wants to restore the last session.
    LAST = 2;

    // Indicates the user wants to restore a specific set of URLs. The URLs
    // are contained in urls.
    URLS = 3;

    // Indicates the user wants to restore the last session and a specific set
    // of URLs. The URLs are contained in urls.
    LAST_AND_URLS = 4;
  }

  optional SessionStartupType startup_type = 11;

  // URLs to be shown by Chrome on startup, only activated in the browser if
  // startup_type == 4.
  repeated string startup_url_path = 12;

  // Whether to show the home button in Chrome's UI.
  optional bool show_home_button = 13;

  // Whether the homepage corresponds to the New Tab Page instead of
  // homepage_path.
  optional bool homepage_is_new_tab_page = 14;

  // Homepage URL, only used if homepage_is_new_tab_page == false.
  optional string homepage_path = 15;

  // URL of the default search engine.
  optional string default_search_engine_path = 16;

  message Extension {
    optional string extension_id = 1;
    optional string extension_name = 2;
  }

  repeated Extension enabled_extensions = 17;

  // Full command line (executable and parameters) of shotcuts to start Chrome.
  repeated string shortcuts = 18;

  // Specifies where the request for the settings reset came from. If
  // you add new enumerators, also update
  // "ProfileResetRequestOriginEnum" in tools/metrics/histograms/histograms.xml.
  enum ResetRequestOrigin {
    RESET_REQUEST_ORIGIN_UNSPECIFIED = 0;
    // None of the other cases. Possibly by navigating to
    // chrome://settings/resetProfileSettings directly or launching
    // chrome with that URL as an argument.
    RESET_REQUEST_ORIGIN_UNKNOWN = 1;
    // User clicked on the reset button on the settings page.
    RESET_REQUEST_ORIGIN_USER_CLICK = 2;
    // Deprecated: RESET_REQUEST_ORIGIN_CCT
    reserved 3;
    // The triggered settings reset API was used.
    RESET_REQUEST_ORIGIN_TRIGGERED_RESET = 4;
  }

  optional ResetRequestOrigin reset_request_origin = 19;

  // next available tag number: 20.
}