# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Adding a new metric? We have docs for that!
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html

---
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
$tags:
  - 'Toolkit :: General'

security.doh.neterror:
  load_dohwarning:
    type: event
    description: >
      The DoH warning page is loaded.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.load#dohwarning.
    bugs:
      - https://bugzil.la/1829342
      - https://bugzil.la/2037081
    data_reviews:
      - https://bugzil.la/1829342
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never
    extra_keys:
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      mode:
        description: >
          Current TRR mode
        type: quantity
      provider_key:
        description: >
          TRR provider
        type: string
      skip_reason:
        description: >
          The reason why DoH request is failed
        type: string

  click_try_again_button:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#try_again_button.
    bugs: &security_doh_neterror_click_bugs
      - https://bugzil.la/1829342
      - https://bugzil.la/2037081
    data_reviews: &security_doh_neterror_click_data_reviews
      - https://bugzil.la/1829342
    notification_emails: &security_doh_neterror_click_emails
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never
    extra_keys: &security_doh_neterror_click_extra
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      mode:
        description: >
          Current TRR mode
        type: string
      provider_key:
        description: >
          TRR provider
        type: string
      skip_reason:
        description: >
          The reason why DoH request is failed
        type: string

  click_add_exception_button:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#add_exception_button.
    bugs: *security_doh_neterror_click_bugs
    data_reviews: *security_doh_neterror_click_data_reviews
    notification_emails: *security_doh_neterror_click_emails
    expires: never
    extra_keys: *security_doh_neterror_click_extra

  click_settings_button:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#settings_button.
    bugs: *security_doh_neterror_click_bugs
    data_reviews: *security_doh_neterror_click_data_reviews
    notification_emails: *security_doh_neterror_click_emails
    expires: never
    extra_keys: *security_doh_neterror_click_extra

  click_continue_button:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#continue_button.
    bugs: *security_doh_neterror_click_bugs
    data_reviews: *security_doh_neterror_click_data_reviews
    notification_emails: *security_doh_neterror_click_emails
    expires: never
    extra_keys: *security_doh_neterror_click_extra
    telemetry_mirror: SecurityDohNeterror_Click_ContinueButton

  click_disable_warning:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#disable_warning.
    bugs: *security_doh_neterror_click_bugs
    data_reviews: *security_doh_neterror_click_data_reviews
    notification_emails: *security_doh_neterror_click_emails
    expires: never
    extra_keys: *security_doh_neterror_click_extra
    telemetry_mirror: SecurityDohNeterror_Click_DisableWarning

  click_learn_more_link:
    type: event
    description: >
      User interaction by click buttons on the DoH warning page.
      This event was generated to correspond to the Legacy Telemetry event
      security.doh.neterror.click#learn_more_link.
    bugs: *security_doh_neterror_click_bugs
    data_reviews: *security_doh_neterror_click_data_reviews
    notification_emails: *security_doh_neterror_click_emails
    expires: never
    extra_keys: *security_doh_neterror_click_extra

security.ui.certerror:
  load_aboutcerterror:
    type: event
    description: >
      The about:certerror page is loaded, keyed by error code, see
      https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.load#aboutcerterror.
    bugs:
      - https://bugzil.la/1484255
      - https://bugzil.la/1505310
      - https://bugzil.la/1553181
      - https://bugzil.la/1629826
    data_reviews:
      - https://bugzil.la/1484255
      - https://bugzil.la/1505310
      - https://bugzil.la/1553181
      - https://bugzil.la/1629826
    notification_emails:
      - jhofmann@mozilla.com
      - rtestard@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    extra_keys:
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      is_frame:
        description: >
          If the error page is loaded in an iframe.
        type: boolean
      has_sts:
        description: >
          If the error page is for a site with HSTS headers or with a pinned key.
        type: boolean
      channel_status:
        description: >
          The status of the failed channel, as an nsresult.
        type: quantity
      issued_by_cca:
        description: >
          If trusting the CCA India roots would fix this error.
        type: boolean
      hyphen_compat:
        description: >
          If the error is due to wildcard trying to match reference ID label with hyphen at begin/end
        type: boolean
    telemetry_mirror: SecurityUiCerterror_Load_Aboutcerterror

  click_advanced_button:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#advanced_button.
    bugs: &security_ui_certerror_click_bugs
      - https://bugzil.la/1484255
      - https://bugzil.la/1505310
      - https://bugzil.la/1553181
      - https://bugzil.la/1629826
    data_reviews: &security_ui_certerror_click_data_reviews
      - https://bugzil.la/1484255
      - https://bugzil.la/1505310
      - https://bugzil.la/1553181
      - https://bugzil.la/1629826
    notification_emails: &security_ui_certerror_click_emails
      - jhofmann@mozilla.com
      - rtestard@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    extra_keys: &security_ui_certerror_click_extra
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      is_frame:
        description: >
          If the error page is loaded in an iframe.
        type: boolean
      has_sts:
        description: >
          If the error page is for a site with HSTS headers or with a pinned key.
        type: boolean
    telemetry_mirror: SecurityUiCerterror_Click_AdvancedButton

  click_exception_button:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#exception_button.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ExceptionButton

  click_return_button_top:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#return_button_top.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ReturnButtonTop

  click_return_button_adv:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#return_button_adv.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ReturnButtonAdv

  click_learn_more_link:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#learn_more_link.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_LearnMoreLink

  click_auto_report_cb:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#auto_report_cb.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_AutoReportCb

  click_error_code_link:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#error_code_link.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ErrorCodeLink

  click_clipboard_button_top:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#clipboard_button_top.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ClipboardButtonTop

  click_clipboard_button_bot:
    type: event
    description: >
      User interaction by click events on the cert error page. Keyed by
      error code, see https://searchfox.org/mozilla-
      central/source/security/nss/lib/mozpkix/include/pkix/Result.h
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.certerror.click#clipboard_button_bot.
    bugs: *security_ui_certerror_click_bugs
    data_reviews: *security_ui_certerror_click_data_reviews
    notification_emails: *security_ui_certerror_click_emails
    expires: never
    extra_keys: *security_ui_certerror_click_extra
    telemetry_mirror: SecurityUiCerterror_Click_ClipboardButtonBot

security.ui.tlserror:
  load_abouttlserror:
    type: event
    description: >
      The about:neterror page is loaded with a TLS error or non-
      overridable certificate error, keyed by error code.
      This event was generated to correspond to the Legacy Telemetry event
      security.ui.tlserror.load#abouttlserror.
    bugs:
      - https://bugzil.la/1881335
    data_reviews:
      - https://bugzil.la/1881335
    notification_emails:
      - dkeeler@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    extra_keys:
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      is_frame:
        description: >
          If the error page is loaded in an iframe.
        type: boolean
      channel_status:
        description: >
          The status of the failed channel, as an nsresult.
        type: quantity
    telemetry_mirror: SecurityUiTlserror_Load_Abouttlserror

security.ui.neterror:
  load_aboutneterror:
    type: event
    description: >
      The about:neterror page is loaded with a network error (not a
      certificate error, TLS error, or DoH warning). The error code is
      recorded in the value extra key.
    bugs:
      - https://bugzil.la/2022590
      - https://bugzil.la/2048027
    data_reviews:
      - https://bugzil.la/2022590
      - https://bugzil.la/2048027
    notification_emails:
      - jaws@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    data_sensitivity:
      - technical
    extra_keys:
      value:
        description: >
          The error code string (e.g. dnsNotFound, connectionFailure,
          netTimeout). Truncated to 40 characters.
        type: string
      is_frame:
        description: >
          If the error page is loaded in an iframe.
        type: boolean
      channel_status:
        description: >
          The status of the failed channel, as an nsresult.
        type: quantity
      no_connectivity:
        description: >
          Whether Firefox considers the device offline (OS link bit is down).
          Only true for dnsNotFound when RPMHasConnectivity() returns false.
        type: boolean
      captive_portal_state:
        description: >
          The captive portal service state at page load time: unknown,
          not_captive, unlocked_portal, or locked_portal. not_captive is
          the only value that confirms the user is actually online.
        type: string
      trr_only:
        description: >
          Whether this is a TRR-only (DoH strict mode) DNS failure.
        type: boolean

  click_try_again_button:
    type: event
    description: >
      User clicked the Try Again button on the network error page.
    bugs: &security_ui_neterror_click_bugs
      - https://bugzil.la/2048019
    data_reviews: &security_ui_neterror_click_data_reviews
      - https://bugzil.la/2048019
    notification_emails: &security_ui_neterror_click_emails
      - seceng-telemetry@mozilla.com
    expires: never
    data_sensitivity: &security_ui_neterror_click_sensitivity
      - interaction
    extra_keys: &security_ui_neterror_click_extra
      value:
        description: >
          The error code string (e.g. dnsNotFound, connectionFailure,
          netTimeout). Truncated to 40 characters.
        type: string
      is_frame:
        description: >
          If the error page is loaded in an iframe.
        type: boolean

  click_return_button_adv:
    type: event
    description: >
      User clicked the Go Back button on the network error page.
    bugs: *security_ui_neterror_click_bugs
    data_reviews: *security_ui_neterror_click_data_reviews
    notification_emails: *security_ui_neterror_click_emails
    expires: never
    data_sensitivity: *security_ui_neterror_click_sensitivity
    extra_keys: *security_ui_neterror_click_extra

  click_learn_more_link:
    type: event
    description: >
      User clicked the Learn More link on the network error page.
    bugs: *security_ui_neterror_click_bugs
    data_reviews: *security_ui_neterror_click_data_reviews
    notification_emails: *security_ui_neterror_click_emails
    expires: never
    data_sensitivity: *security_ui_neterror_click_sensitivity
    extra_keys: *security_ui_neterror_click_extra

  click_advanced_button:
    type: event
    description: >
      User clicked the Advanced button on the network error page.
    bugs: *security_ui_neterror_click_bugs
    data_reviews: *security_ui_neterror_click_data_reviews
    notification_emails: *security_ui_neterror_click_emails
    expires: never
    data_sensitivity: *security_ui_neterror_click_sensitivity
    extra_keys: *security_ui_neterror_click_extra

findbar:
  shown:
    type: counter
    description: >
      The count of how many times the "Find toolbar" was shown per
      session.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.shown.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_SHOWN

  find_prev:
    type: counter
    description: >
      The count of how many times the find previous button was used per
      session.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.find_prev.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_FIND_PREV

  find_next:
    type: counter
    description: >
      The count of how many times the find next button was used per
      session.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.find_next.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_FIND_NEXT

  highlight_all:
    type: counter
    description: >
      The count of how many times the "Highlight All" button was used in
      find toolbar.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.highlight_all.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_HIGHLIGHT_ALL

  match_case:
    type: counter
    description: >
      The count of how many times the "Match Case" button was used in find
      toolbar.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.match_case.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_MATCH_CASE

  match_diacritics:
    type: counter
    description: >
      The count of how many times the "Match Diacritics" button was used
      in find toolbar.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.match_diacritics.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_MATCH_DIACRITICS

  whole_words:
    type: counter
    description: >
      The count of how many times the "Whole Words" button was used in
      find toolbar.
      This metric was generated to correspond to the Legacy Telemetry
      scalar findbar.whole_words.
    bugs:
      - https://bugzil.la/1627688
    data_reviews:
      - https://bugzil.la/1627688
    notification_emails:
      - rtestard@mozilla.com
    expires: never
    telemetry_mirror: FINDBAR_WHOLE_WORDS
