michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: [scriptable, uuid(f7259bf4-1f2b-4e9e-8983-1978cc076fa1)] michael@0: michael@0: interface nsISecurityUITelemetry : nsISupports { michael@0: michael@0: /* michael@0: * Addon installation warnings michael@0: */ michael@0: michael@0: // Firefox prevented this site from asking you to install addon michael@0: const uint32_t WARNING_ADDON_ASKING_PREVENTED = 1; michael@0: // User clicks through and allows site to ask to install addons michael@0: const uint32_t WARNING_ADDON_ASKING_PREVENTED_CLICK_THROUGH = 2; michael@0: // Are you sure you want to install this addon? Only install addons you trust michael@0: const uint32_t WARNING_CONFIRM_ADDON_INSTALL = 3; michael@0: // User clicked she is sure after waiting 3secs michael@0: const uint32_t WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH = 4; michael@0: michael@0: michael@0: /* michael@0: * modal dialogs/warnings michael@0: */ michael@0: michael@0: // removed WARNING_ENTERING_SECURE_SITE = 5; michael@0: // removed WARNING_ENTERING_WEAK_SITE = 6; michael@0: // removed WARNING_LEAVING_SECURE_SITE = 7; michael@0: // removed WARNING_MIXED_CONTENT = 8; michael@0: michael@0: // For confirmation dialogs, the clickthrough constant needs to be 1 michael@0: // more than the dialog constant so that michael@0: // WARNING_CONFIRM_ + 1 == WARNING_CONFIRM__CLICK_THROUGH michael@0: const uint32_t WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE = 9; michael@0: const uint32_t WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE_CLICK_THROUGH = 10; michael@0: // removed WARNING_CONFIRM_POST_TO_INSECURE_FROM_INSECURE = 11; michael@0: // removed WARNING_CONFIRM_POST_TO_INSECURE_FROM_INSECURE_CLICK_THROUGH = 12; michael@0: michael@0: /* michael@0: * Phishing / Malware page warnings michael@0: * deprecated: we use the _TOP and _FRAME versions below michael@0: */ michael@0: michael@0: const uint32_t WARNING_MALWARE_PAGE = 13; michael@0: const uint32_t WARNING_MALWARE_PAGE_WHY_BLOCKED = 14; michael@0: const uint32_t WARNING_MALWARE_PAGE_GET_ME_OUT_OF_HERE = 15; michael@0: const uint32_t WARNING_MALWARE_PAGE_IGNORE_WARNING = 16; michael@0: michael@0: const uint32_t WARNING_PHISHING_PAGE = 17; michael@0: const uint32_t WARNING_PHISHING_PAGE_WHY_BLOCKED = 18; michael@0: const uint32_t WARNING_PHISHING_PAGE_GET_ME_OUT_OF_HERE = 19; michael@0: const uint32_t WARNING_PHISHING_PAGE_IGNORE_WARNING = 20; michael@0: michael@0: /* michael@0: * SSL Error dialogs michael@0: * deprecated: we use the _TOP versions below michael@0: */ michael@0: michael@0: const uint32_t WARNING_BAD_CERT = 21; michael@0: const uint32_t WARNING_BAD_CERT_STS = 22; michael@0: const uint32_t WARNING_BAD_CERT_CLICK_ADD_EXCEPTION = 23; michael@0: const uint32_t WARNING_BAD_CERT_CLICK_VIEW_CERT = 24; michael@0: const uint32_t WARNING_BAD_CERT_DONT_REMEMBER_EXCEPTION = 25; michael@0: const uint32_t WARNING_BAD_CERT_GET_ME_OUT_OF_HERE = 27; michael@0: const uint32_t WARNING_BAD_CERT_UNDERSTAND_RISKS = 28; michael@0: const uint32_t WARNING_BAD_CERT_TECHINICAL_DETAILS = 29; michael@0: michael@0: /* michael@0: * Note that if we add more possibilities in the warning dialogs, michael@0: * it is a new experiment and we shouldn't reuse these buckets. michael@0: */ michael@0: const uint32_t WARNING_BAD_CERT_ADD_EXCEPTION_BASE = 30; michael@0: const uint32_t WARNING_BAD_CERT_ADD_EXCEPTION_FLAG_UNTRUSTED = 1; michael@0: const uint32_t WARNING_BAD_CERT_ADD_EXCEPTION_FLAG_DOMAIN = 2; michael@0: const uint32_t WARNING_BAD_CERT_ADD_EXCEPTION_FLAG_TIME = 4; michael@0: michael@0: const uint32_t WARNING_BAD_CERT_CONFIRM_ADD_EXCEPTION_BASE = 38; michael@0: const uint32_t WARNING_BAD_CERT_CONFIRM_ADD_EXCEPTION_FLAG_UNTRUSTED = 1; michael@0: const uint32_t WARNING_BAD_CERT_CONFIRM_ADD_EXCEPTION_FLAG_DOMAIN = 2; michael@0: const uint32_t WARNING_BAD_CERT_CONFIRM_ADD_EXCEPTION_FLAG_TIME = 4; michael@0: // This uses up buckets till 45 michael@0: michael@0: /* michael@0: * Geolocation Popup Telemetry michael@0: */ michael@0: michael@0: const uint32_t WARNING_GEOLOCATION_REQUEST = 46; michael@0: const uint32_t WARNING_GEOLOCATION_REQUEST_SHARE_LOCATION = 47; michael@0: const uint32_t WARNING_GEOLOCATION_REQUEST_ALWAYS_SHARE = 48; michael@0: const uint32_t WARNING_GEOLOCATION_REQUEST_NEVER_SHARE = 49; michael@0: // It would be nice to measure the two cases of user clicking michael@0: // "not now", and user closing the popup. This is currently not implemented. michael@0: michael@0: /* michael@0: * Firefox Update Errors: UI is only thrown after michael@0: * repeated errors. We only measure when the UI is shown. michael@0: */ michael@0: const uint32_t WARNING_INSECURE_UPDATE = 50; michael@0: const uint32_t WARNING_NO_SECURE_UPDATE = 51; michael@0: michael@0: const uint32_t WARNING_MALWARE_PAGE_TOP = 52; michael@0: const uint32_t WARNING_MALWARE_PAGE_TOP_WHY_BLOCKED = 53; michael@0: const uint32_t WARNING_MALWARE_PAGE_TOP_GET_ME_OUT_OF_HERE = 54; michael@0: const uint32_t WARNING_MALWARE_PAGE_TOP_IGNORE_WARNING = 55; michael@0: michael@0: const uint32_t WARNING_PHISHING_PAGE_TOP = 56; michael@0: const uint32_t WARNING_PHISHING_PAGE_TOP_WHY_BLOCKED = 57; michael@0: const uint32_t WARNING_PHISHING_PAGE_TOP_GET_ME_OUT_OF_HERE = 58; michael@0: const uint32_t WARNING_PHISHING_PAGE_TOP_IGNORE_WARNING = 59; michael@0: michael@0: const uint32_t WARNING_MALWARE_PAGE_FRAME = 60; michael@0: const uint32_t WARNING_MALWARE_PAGE_FRAME_WHY_BLOCKED = 61; michael@0: const uint32_t WARNING_MALWARE_PAGE_FRAME_GET_ME_OUT_OF_HERE = 62; michael@0: const uint32_t WARNING_MALWARE_PAGE_FRAME_IGNORE_WARNING = 63; michael@0: michael@0: const uint32_t WARNING_PHISHING_PAGE_FRAME = 64; michael@0: const uint32_t WARNING_PHISHING_PAGE_FRAME_WHY_BLOCKED = 65; michael@0: const uint32_t WARNING_PHISHING_PAGE_FRAME_GET_ME_OUT_OF_HERE = 66; michael@0: const uint32_t WARNING_PHISHING_PAGE_FRAME_IGNORE_WARNING = 67; michael@0: michael@0: const uint32_t WARNING_BAD_CERT_TOP = 68; michael@0: const uint32_t WARNING_BAD_CERT_TOP_STS = 69; michael@0: const uint32_t WARNING_BAD_CERT_TOP_CLICK_ADD_EXCEPTION = 70; michael@0: const uint32_t WARNING_BAD_CERT_TOP_CLICK_VIEW_CERT = 71; michael@0: const uint32_t WARNING_BAD_CERT_TOP_DONT_REMEMBER_EXCEPTION = 72; michael@0: const uint32_t WARNING_BAD_CERT_TOP_GET_ME_OUT_OF_HERE = 73; michael@0: const uint32_t WARNING_BAD_CERT_TOP_UNDERSTAND_RISKS = 74; michael@0: const uint32_t WARNING_BAD_CERT_TOP_TECHNICAL_DETAILS = 75; michael@0: michael@0: const uint32_t WARNING_BAD_CERT_TOP_ADD_EXCEPTION_BASE = 76; michael@0: const uint32_t WARNING_BAD_CERT_TOP_ADD_EXCEPTION_FLAG_UNTRUSTED = 1; michael@0: const uint32_t WARNING_BAD_CERT_TOP_ADD_EXCEPTION_FLAG_DOMAIN = 2; michael@0: const uint32_t WARNING_BAD_CERT_TOP_ADD_EXCEPTION_FLAG_TIME = 4; michael@0: michael@0: const uint32_t WARNING_BAD_CERT_TOP_CONFIRM_ADD_EXCEPTION_BASE = 84; michael@0: const uint32_t WARNING_BAD_CERT_TOP_CONFIRM_ADD_EXCEPTION_FLAG_UNTRUSTED = 1; michael@0: const uint32_t WARNING_BAD_CERT_TOP_CONFIRM_ADD_EXCEPTION_FLAG_DOMAIN = 2; michael@0: const uint32_t WARNING_BAD_CERT_TOP_CONFIRM_ADD_EXCEPTION_FLAG_TIME = 4; michael@0: // This uses up buckets till 91 (including) michael@0: // We only have buckets up to 100. michael@0: };