Backed out 5 changesets (bug 1630228) for bc failures on browser_startup_images.js . CLOSED TREE
authorNarcis Beleuzu <nbeleuzu@mozilla.com>
Wed, 29 Apr 2020 02:20:52 +0300
changeset 526598 bc7658646927718a3c7b7174cb0e6df7130afec3
parent 526597 5690715ef70efb9e6c835e0e0ae63371af1475f7
child 526599 f61aa96e84f558d825bc7b3c5bb653695ef09519
push id114375
push usernbeleuzu@mozilla.com
push dateTue, 28 Apr 2020 23:21:44 +0000
treeherderautoland@bc7658646927 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1630228
milestone77.0a1
backs out92172b9cef6b88934c7d54beb7e3d311a69df127
8a9c309238471368ab4d7b17b04119eb9f12ed31
11f6beab6bdfc33f122bbe54b818bd390ad51da2
f9e6d07f3a9056e6600e789df49bdc56791efddd
ae64b5ffc3b5908449007132500fb0bc56b838a2
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 5 changesets (bug 1630228) for bc failures on browser_startup_images.js . CLOSED TREE Backed out changeset 92172b9cef6b (bug 1630228) Backed out changeset 8a9c30923847 (bug 1630228) Backed out changeset 11f6beab6bdf (bug 1630228) Backed out changeset f9e6d07f3a90 (bug 1630228) Backed out changeset ae64b5ffc3b5 (bug 1630228)
browser/base/content/browser.xhtml
browser/locales/en-US/browser/browser.ftl
browser/themes/shared/browser.inc.css
devtools/client/framework/devtools-browser.js
devtools/client/framework/enable-devtools-popup.js
devtools/client/framework/moz.build
devtools/client/framework/test/browser-enable-popup-devtools-user.ini
devtools/client/framework/test/browser-enable-popup-new-user.ini
devtools/client/framework/test/browser.ini
devtools/client/framework/test/browser_enable_devtools_popup.js
devtools/client/framework/test/browser_enable_devtools_popup_devtools_user.js
devtools/client/framework/test/browser_enable_devtools_popup_new_user.js
devtools/client/framework/test/helper_enable_devtools_popup.js
devtools/client/framework/toolbox.js
devtools/startup/DevToolsStartup.jsm
devtools/startup/enableDevToolsPopup.inc.xhtml
modules/libpref/init/all.js
toolkit/components/telemetry/Events.yaml
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -613,17 +613,16 @@
     </tooltip>
 
 #include popup-notifications.inc
 
 #include ../../components/customizableui/content/panelUI.inc.xhtml
 #include ../../components/controlcenter/content/identityPanel.inc.xhtml
 #include ../../components/controlcenter/content/protectionsPanel.inc.xhtml
 #include ../../components/downloads/content/downloadsPanel.inc.xhtml
-#include ../../../devtools/startup/enableDevToolsPopup.inc.xhtml
 #include browser-allTabsMenu.inc.xhtml
 
     <hbox id="downloads-animation-container">
       <vbox id="downloads-notification-anchor" hidden="true">
         <vbox id="downloads-indicator-notification"/>
       </vbox>
     </hbox>
 
--- a/browser/locales/en-US/browser/browser.ftl
+++ b/browser/locales/en-US/browser/browser.ftl
@@ -223,13 +223,8 @@ browser-window-close-button =
 
 popup-select-camera =
     .value = Camera to share:
     .accesskey = C
 popup-select-microphone =
     .value = Microphone to share:
     .accesskey = M
 popup-all-windows-shared = All visible windows on your screen will be shared.
-
-## DevTools F12 popup
-
-enable-devtools-popup-description = To use the F12 shortcut, first open DevTools via the Web Developer menu.
-
--- a/browser/themes/shared/browser.inc.css
+++ b/browser/themes/shared/browser.inc.css
@@ -582,18 +582,8 @@ menupopup::part(drop-indicator) {
 /* nhnt11: Workaround to insert a linebreak after the DoH doorhanger's title.
  * The title uses the inline html|b that usually contains the hostname for
  * permission prompts to achieve bold formatting. This is always the 2nd child.
  */
 .popup-notification-description[popupid="doh-first-time"] > html|b:first-of-type {
   display: block;
   margin-bottom: 4px; /* matches the margin-bottom on description elements */
 }
-
-/* ENABLE DEVTOOLS POPUP */
-
-#enable-devtools-popup {
-  font-size: 13px;
-}
-
-.enable-devtools-description {
-  margin: 8px 12px;
-}
--- a/devtools/client/framework/devtools-browser.js
+++ b/devtools/client/framework/devtools-browser.js
@@ -52,39 +52,29 @@ loader.lazyRequireGetter(
   "devtools/client/shared/stylesheet-utils",
   true
 );
 loader.lazyRequireGetter(
   this,
   "ResponsiveUIManager",
   "devtools/client/responsive/manager"
 );
-loader.lazyRequireGetter(
-  this,
-  "toggleEnableDevToolsPopup",
-  "devtools/client/framework/enable-devtools-popup",
-  true
-);
 loader.lazyImporter(
   this,
   "BrowserToolboxLauncher",
   "resource://devtools/client/framework/browser-toolbox/Launcher.jsm"
 );
 
 const { LocalizationHelper } = require("devtools/shared/l10n");
 const L10N = new LocalizationHelper(
   "devtools/client/locales/toolbox.properties"
 );
 
 const BROWSER_STYLESHEET_URL = "chrome://devtools/skin/devtools-browser.css";
 
-// XXX: This could also be moved to DevToolsStartup, which is the first
-// "entry point" for DevTools shortcuts and forwards the events
-// devtools-browser.
-const DEVTOOLS_F12_DISABLED_PREF = "devtools.experiment.f12.shortcut_disabled";
 /**
  * gDevToolsBrowser exposes functions to connect the gDevTools instance with a
  * Firefox instance.
  */
 var gDevToolsBrowser = (exports.gDevToolsBrowser = {
   /**
    * A record of the windows whose menus we altered, so we can undo the changes
    * as the window is closed
@@ -304,36 +294,19 @@ var gDevToolsBrowser = (exports.gDevTool
     // If this is a toolbox's panel key shortcut, delegate to selectToolCommand
     if (key.toolId) {
       await gDevToolsBrowser.selectToolCommand(window, key.toolId, startTime);
       return;
     }
     // Otherwise implement all other key shortcuts individually here
     switch (key.id) {
       case "toggleToolbox":
+      case "toggleToolboxF12":
         await gDevToolsBrowser.toggleToolboxCommand(window.gBrowser, startTime);
         break;
-      case "toggleToolboxF12":
-        // See Bug 1630228. F12 is responsible for most of the accidental usage
-        // of DevTools. The preference here is used as part of an experiment to
-        // disable the F12 shortcut by default.
-        const isF12Disabled = Services.prefs.getBoolPref(
-          DEVTOOLS_F12_DISABLED_PREF,
-          false
-        );
-
-        if (isF12Disabled) {
-          toggleEnableDevToolsPopup(window.document, startTime);
-        } else {
-          await gDevToolsBrowser.toggleToolboxCommand(
-            window.gBrowser,
-            startTime
-          );
-        }
-        break;
       case "browserToolbox":
         BrowserToolboxLauncher.init();
         break;
       case "browserConsole":
         const {
           BrowserConsoleManager,
         } = require("devtools/client/webconsole/browser-console-manager");
         BrowserConsoleManager.openBrowserConsoleOrFocus();
deleted file mode 100644
--- a/devtools/client/framework/enable-devtools-popup.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/* 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/. */
-
-"use strict";
-
-loader.lazyGetter(this, "telemetry", () => {
-  const Telemetry = require("devtools/client/shared/telemetry");
-  return new Telemetry();
-});
-
-// This session id will be initialized the first time the popup is displayed.
-let telemetrySessionId = null;
-
-/**
- * Helper dedicated to toggle a popup triggered by pressing F12 if DevTools have
- * never been opened by the user.
- *
- * This popup should be anchored below the main hamburger menu of Firefox,
- * which contains the Web Developer menu.
- *
- * This is part of the OFF12 experiment which tries to disable F12 by default to
- * reduce accidental usage of DevTools and increase retention of non DevTools
- * users.
- */
-exports.toggleEnableDevToolsPopup = function(doc) {
-  const popup = doc.getElementById("enable-devtools-popup");
-
-  // Use the icon of the Firefox menu in order to be aligned with the
-  // position of the hamburger menu.
-  const anchor = doc
-    .getElementById("PanelUI-menu-button")
-    .querySelector(".toolbarbutton-icon");
-
-  const isVisible = popup.state === "open";
-  if (isVisible) {
-    popup.hidePopup();
-  } else {
-    if (!telemetrySessionId) {
-      telemetrySessionId = parseInt(telemetry.msSinceProcessStart(), 10);
-    }
-    popup.openPopup(anchor, "bottomcenter topright");
-    telemetry.recordEvent("f12_popup_displayed", "tools", null, {
-      session_id: telemetrySessionId,
-    });
-  }
-};
-
-/**
- * If a session id was already generated here for telemetry, expose it so that
- * the toolbox can use it as its own session id.
- */
-exports.getF12SessionId = function() {
-  return telemetrySessionId;
-};
--- a/devtools/client/framework/moz.build
+++ b/devtools/client/framework/moz.build
@@ -1,18 +1,16 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 BROWSER_CHROME_MANIFESTS += [
     'test/allocations/browser_allocations_target.ini',
-    'test/browser-enable-popup-devtools-user.ini',
-    'test/browser-enable-popup-new-user.ini',
     'test/browser-telemetry-startup.ini',
     'test/browser.ini',
     'test/metrics/browser_metrics_debugger.ini',
     'test/metrics/browser_metrics_inspector.ini',
     'test/metrics/browser_metrics_netmonitor.ini',
     'test/metrics/browser_metrics_webconsole.ini',
 ]
 XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell/xpcshell.ini']
@@ -23,17 +21,16 @@ DIRS += [
     'components',
     'reducers',
 ]
 
 DevToolsModules(
     'browser-menus.js',
     'devtools-browser.js',
     'devtools.js',
-    'enable-devtools-popup.js',
     'menu-item.js',
     'menu.js',
     'selection.js',
     'source-map-url-service.js',
     'store-provider.js',
     'store.js',
     'target-from-url.js',
     'target.js',
deleted file mode 100644
--- a/devtools/client/framework/test/browser-enable-popup-devtools-user.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-[DEFAULT]
-tags = devtools
-subsuite = devtools
-support-files =
-  head.js
-  helper_enable_devtools_popup.js
-  !/devtools/client/shared/test/shared-head.js
-  !/devtools/client/shared/test/telemetry-test-helpers.js
-prefs =
-  devtools.experiment.f12.shortcut_disabled=true
-  devtools.selfxss.count=5
-
-# This test checks the interaction between devtools.selfxss.count and
-# devtools.experiment.f12.shortcut_disabled which is handled by DevToolsStartup
-# and therefore needs to run in isolation, with preferences set before starting
-# the browser.
-[browser_enable_devtools_popup_devtools_user.js]
-skip-if = verify # This test is only valid with a new browser instance.
deleted file mode 100644
--- a/devtools/client/framework/test/browser-enable-popup-new-user.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-[DEFAULT]
-tags = devtools
-subsuite = devtools
-support-files =
-  head.js
-  helper_enable_devtools_popup.js
-  !/devtools/client/shared/test/shared-head.js
-  !/devtools/client/shared/test/telemetry-test-helpers.js
-prefs =
-  devtools.experiment.f12.shortcut_disabled=true
-  devtools.selfxss.count=0
-
-# This test checks the interaction between devtools.selfxss.count and
-# devtools.experiment.f12.shortcut_disabled which is handled by DevToolsStartup
-# and therefore needs to run in isolation, with preferences set before starting
-# the browser.
-[browser_enable_devtools_popup_new_user.js]
--- a/devtools/client/framework/test/browser.ini
+++ b/devtools/client/framework/test/browser.ini
@@ -29,17 +29,16 @@ support-files =
   code_math.js
   code_no_race.js
   code_reload_1.js
   code_reload_2.js
   doc_empty-tab-01.html
   doc_reload.html
   head.js
   helper_disable_cache.js
-  helper_enable_devtools_popup.js
   doc_theme.css
   doc_viewsource.html
   browser_toolbox_options_enable_serviceworkers_testing_frame_script.js
   browser_toolbox_options_enable_serviceworkers_testing.html
   serviceworker.js
   sjs_code_reload.sjs
   sjs_code_bundle_reload_map.sjs
   test_chrome_page.html
@@ -54,17 +53,16 @@ support-files =
 # covers removing this pref flip.
 prefs =
   security.allow_unsafe_parent_loads=true
 
 [browser_about-devtools-toolbox_load.js]
 [browser_about-devtools-toolbox_reload.js]
 [browser_devtools_api_destroy.js]
 [browser_dynamic_tool_enabling.js]
-[browser_enable_devtools_popup.js]
 [browser_front_parentFront.js]
 [browser_ignore_toolbox_network_requests.js]
 [browser_keybindings_01.js]
 [browser_keybindings_02.js]
 [browser_keybindings_03.js]
 [browser_menu_api.js]
 [browser_new_activation_workflow.js]
 [browser_source_map-01.js]
deleted file mode 100644
--- a/devtools/client/framework/test/browser_enable_devtools_popup.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/* import-globals-from helper_enable_devtools_popup.js */
-loadHelperScript("helper_enable_devtools_popup.js");
-
-const TEST_URL =
-  "data:text/html,<html><head><title>Test Disable F12 experiment</title></head><body>" +
-  "<h1>Disable F12 experiment</h1></body></html>";
-
-// Test the basic behavior of the enable devtools popup depending on the value
-// of the devtools.experiment.f12.shortcut_disabled preference
-add_task(async function testWithF12Disabled() {
-  await pushPref("devtools.experiment.f12.shortcut_disabled", true);
-
-  const tab = await addTab(TEST_URL);
-  await new Promise(done => waitForFocus(done));
-
-  await checkF12IsDisabled(tab);
-  const toolbox = await openDevToolsWithInspectorKey(tab);
-  await closeDevToolsWithF12(tab, toolbox);
-  await checkF12IsEnabled(tab);
-});
-
-add_task(async function testWithF12Enabled() {
-  await pushPref("devtools.experiment.f12.shortcut_disabled", false);
-
-  const tab = await addTab(TEST_URL);
-  await new Promise(done => waitForFocus(done));
-
-  await checkF12IsEnabled(tab);
-});
deleted file mode 100644
--- a/devtools/client/framework/test/browser_enable_devtools_popup_devtools_user.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/* import-globals-from helper_enable_devtools_popup.js */
-loadHelperScript("helper_enable_devtools_popup.js");
-
-const TEST_URL =
-  "data:text/html,<html><head><title>Test Disable F12 experiment</title></head><body>" +
-  "<h1>Disable F12 experiment</h1></body></html>";
-
-// See the corresponding browser-enable-popup-devtools-user.ini for the
-// initialization of the prefs:
-// - devtools.experiment.f12.shortcut_disabled -> true
-// - devtools.selfxss.count -> 5
-//
-// Those prefs are set in the browser ini to run before DevToolsStartup.jsm init
-// logic. We expect devtools.selfxss.count to force shortcut_disabled to false.
-add_task(async function() {
-  const tab = await addTab(TEST_URL);
-  await new Promise(done => waitForFocus(done));
-
-  // With the shortcut initially disabled and the selfxss pref at 5, we expect
-  // the user to be considered as a devtools user and F12 to be immediately
-  // enabled.
-  await checkF12IsEnabled(tab);
-
-  const isF12Disabled = Services.prefs.getBoolPref(
-    "devtools.experiment.f12.shortcut_disabled"
-  );
-  ok(!isF12Disabled, "The F12 disabled preference has been correctly flipped");
-});
deleted file mode 100644
--- a/devtools/client/framework/test/browser_enable_devtools_popup_new_user.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/* import-globals-from helper_enable_devtools_popup.js */
-loadHelperScript("helper_enable_devtools_popup.js");
-
-const TEST_URL =
-  "data:text/html,<html><head><title>Test Disable F12 experiment</title></head><body>" +
-  "<h1>Disable F12 experiment</h1></body></html>";
-
-// See the corresponding browser-enable-popup-devtools-user.ini for the
-// initialization of the prefs:
-// - devtools.experiment.f12.shortcut_disabled -> true
-// - devtools.selfxss.count -> 0
-//
-// Those prefs are set in the browser ini to run before DevToolsStartup.jsm init
-// logic. We expect devtools.selfxss.count to force shortcut_disabled to false.
-add_task(async function() {
-  const tab = await addTab(TEST_URL);
-  await new Promise(done => waitForFocus(done));
-
-  // With the shortcut initially disabled and the selfxss pref at 0, we expect
-  // the shortcut to be effectively disabled.
-  await checkF12IsDisabled(tab);
-  const toolbox = await openDevToolsWithInspectorKey(tab);
-  await closeDevToolsWithF12(tab, toolbox);
-  await checkF12IsEnabled(tab);
-});
deleted file mode 100644
--- a/devtools/client/framework/test/helper_enable_devtools_popup.js
+++ /dev/null
@@ -1,133 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-const { listenOnce } = require("devtools/shared/async-utils");
-
-/**
- * Helpers dedicated to the browser_enable_devtools_popup* tests.
- * Those tests usually test the same exact things, but using different
- * configurations.
- */
-
-function openDevToolsWithKey(key, modifiers) {
-  const onToolboxReady = gDevTools.once("toolbox-ready");
-  EventUtils.synthesizeKey(key, modifiers);
-  return onToolboxReady;
-}
-/* exported openDevToolsWithKey */
-
-function closeDevToolsWithKey(toolbox, key, modifiers) {
-  const onToolboxDestroyed = toolbox.once("destroyed");
-  EventUtils.synthesizeKey(key, modifiers);
-  return onToolboxDestroyed;
-}
-/* exported closeDevToolsWithKey */
-
-/**
- * Test if F12 is currently disabled:
- * - press F12 -> popup is displayed
- * - press F12 again -> popup is hidden
- * - no toolbox was opened during the process
- */
-async function checkF12IsDisabled(tab) {
-  const popup = tab.ownerDocument.getElementById("enable-devtools-popup");
-  is(popup.state, "closed", "The enable devtools popup is initially hidden");
-
-  const failOnToolboxReady = () => {
-    ok(false, "The devtools toolbox should not open");
-  };
-  gDevTools.on("toolbox-ready", failOnToolboxReady);
-
-  info("Press F12 and wait for the enable devtools popup to be displayed");
-  const onPopupShown = listenOnce(popup, "popupshown");
-  EventUtils.synthesizeKey("VK_F12");
-  await onPopupShown;
-  is(popup.state, "open", "The enable devtools popup is now visible");
-
-  info("Press F12 again and wait for the enable devtools popup to hide");
-  const onPopupHidden = listenOnce(popup, "popuphidden");
-  EventUtils.synthesizeKey("VK_F12");
-  await onPopupHidden;
-  is(popup.state, "closed", "The enable devtools popup is hidden again");
-
-  gDevTools.off("toolbox-ready", failOnToolboxReady);
-}
-/* exported checkF12IsDisabled */
-
-/**
- * Test that DevTools can be open with another keyboard shortcut than F12.
- * The enable-devtools popup should not be displayed.
- */
-async function openDevToolsWithInspectorKey(tab) {
-  info("Open DevTools via another shortcut (only F12 should be disabled)");
-  const popup = tab.ownerDocument.getElementById("enable-devtools-popup");
-
-  // We are going to use F12 but the popup should never show up.
-  const failOnPopupShown = () => {
-    ok(false, "The enable devtools popup should not be displayed");
-  };
-  popup.addEventListener("popupshown", failOnPopupShown);
-
-  const toolbox = await openDevToolsWithKey("I", {
-    accelKey: true,
-    shiftKey: !navigator.userAgent.match(/Mac/),
-    altKey: navigator.userAgent.match(/Mac/),
-  });
-
-  is(popup.state, "closed", "The enable devtools popup is still hidden");
-  popup.removeEventListener("popupshown", failOnPopupShown);
-
-  return toolbox;
-}
-/* exported openDevToolsWithInspectorKey */
-
-/**
- * Test that the toolbox can be closed with F12, without triggering the popup.
- */
-async function closeDevToolsWithF12(tab, toolbox) {
-  const popup = tab.ownerDocument.getElementById("enable-devtools-popup");
-
-  // We are going to use F12 but the popup should never show up.
-  const failOnPopupShown = () => {
-    ok(false, "The enable devtools popup should not be displayed");
-  };
-  popup.addEventListener("popupshown", failOnPopupShown);
-
-  info("Press F12 and wait for the toolbox to be destroyed");
-  await closeDevToolsWithKey(toolbox, "VK_F12");
-  is(popup.state, "closed", "The enable devtools popup is still hidden");
-
-  popup.removeEventListener("popupshown", failOnPopupShown);
-}
-/* exported closeDevToolsWithF12 */
-
-/**
- * Test if F12 is enabled:
- * - press F12 -> toolbox opens
- * - press F12 -> toolbox closes
- * - no enable devtools popup was opened during the process
- */
-async function checkF12IsEnabled(tab) {
-  const popup = tab.ownerDocument.getElementById("enable-devtools-popup");
-
-  // We are going to use F12 several times, but the popup should never show up.
-  // Add a listener on popupshown to make sure this doesn't happen
-  const failOnPopupShown = () => {
-    ok(false, "The enable devtools popup should not be displayed");
-  };
-  popup.addEventListener("popupshown", failOnPopupShown);
-
-  info("Check that F12 can now open the toolbox.");
-  const toolbox = await openDevToolsWithKey("VK_F12");
-  is(popup.state, "closed", "The enable devtools popup is still hidden");
-
-  info("Press F12 and wait for the toolbox to be destroyed");
-  await closeDevToolsWithKey(toolbox, "VK_F12");
-  is(popup.state, "closed", "The enable devtools popup is still hidden");
-
-  // cleanup
-  popup.removeEventListener("popupshown", failOnPopupShown);
-}
-/* exported checkF12IsEnabled */
--- a/devtools/client/framework/toolbox.js
+++ b/devtools/client/framework/toolbox.js
@@ -207,25 +207,16 @@ loader.lazyRequireGetter(
 );
 
 loader.lazyRequireGetter(
   this,
   "PICKER_TYPES",
   "devtools/shared/picker-constants"
 );
 
-loader.lazyRequireGetter(
-  this,
-  "getF12SessionId",
-  "devtools/client/framework/enable-devtools-popup",
-  true
-);
-
-const DEVTOOLS_F12_DISABLED_PREF = "devtools.experiment.f12.shortcut_disabled";
-
 /**
  * A "Toolbox" is the component that holds all the tools for one specific
  * target. Visually, it's a document that includes the tools tabs and all
  * the iframes where the tool panels will be living in.
  *
  * @param {object} target
  *        The object the toolbox is debugging.
  * @param {string} selectedTool
@@ -257,35 +248,16 @@ function Toolbox(
   this.targetList = new TargetList(target.client.mainRoot, target);
   this.resourceWatcher = new ResourceWatcher(this.targetList);
 
   // The session ID is used to determine which telemetry events belong to which
   // toolbox session. Because we use Amplitude to analyse the telemetry data we
   // must use the time since the system wide epoch as the session ID.
   this.sessionId = msSinceProcessStart;
 
-  // If the user opened the toolbox, we can now enable the F12 shortcut.
-  if (Services.prefs.getBoolPref(DEVTOOLS_F12_DISABLED_PREF, false)) {
-    // If the toolbox is opening while F12 was disabled, the user might have
-    // pressed F12 and seen the "enable devtools" notification.
-    // A telemetry session_id was generated for the f12_popup_displayed event.
-    // Reuse it here in order to link the toolbox session to the
-    // f12_popup_displayed events.
-    // getF12SessionId() might return null if the popup was never displayed.
-    // In this case, fallback on the provided `msSinceProcessStart`.
-    this.sessionId = getF12SessionId() || msSinceProcessStart;
-
-    this.telemetry.recordEvent("f12_enabled", "tools", null, {
-      session_id: this.sessionId,
-    });
-
-    // Flip the preference.
-    Services.prefs.setBoolPref(DEVTOOLS_F12_DISABLED_PREF, false);
-  }
-
   // Map of the available DevTools WebExtensions:
   //   Map<extensionUUID, extensionName>
   this._webExtensions = new Map();
 
   this._toolPanels = new Map();
   // Map of tool startup components for given tool id.
   this._toolStartups = new Map();
   this._inspectorExtensionSidebars = new Map();
@@ -1471,17 +1443,16 @@ Toolbox.prototype = {
 
     // Log current theme. The question we want to answer is:
     // "What proportion of users use which themes?"
     const currentTheme = Services.prefs.getCharPref("devtools.theme");
     this.telemetry.keyedScalarAdd(CURRENT_THEME_SCALAR, currentTheme, 1);
 
     const browserWin = this.topWindow;
     this.telemetry.preparePendingEvent(browserWin, "open", "tools", null, [
-      "enable_f12",
       "entrypoint",
       "first_panel",
       "host",
       "shortcut",
       "splitconsole",
       "width",
       "session_id",
     ]);
--- a/devtools/startup/DevToolsStartup.jsm
+++ b/devtools/startup/DevToolsStartup.jsm
@@ -23,17 +23,16 @@
 "use strict";
 
 const kDebuggerPrefs = [
   "devtools.debugger.remote-enabled",
   "devtools.chrome.enabled",
 ];
 
 const DEVTOOLS_ENABLED_PREF = "devtools.enabled";
-const DEVTOOLS_F12_DISABLED_PREF = "devtools.experiment.f12.shortcut_disabled";
 
 const DEVTOOLS_POLICY_DISABLED_PREF = "devtools.policy.disabled";
 
 const { XPCOMUtils } = ChromeUtils.import(
   "resource://gre/modules/XPCOMUtils.jsm"
 );
 
 ChromeUtils.defineModuleGetter(
@@ -360,23 +359,16 @@ DevToolsStartup.prototype = {
       cmdLine.state == Ci.nsICommandLine.STATE_INITIAL_LAUNCH;
     if (isInitialLaunch) {
       this._registerDevToolsJsWindowActors();
 
       // Enable devtools for all users on startup (onboarding experiment from Bug 1408969
       // is over).
       Services.prefs.setBoolPref(DEVTOOLS_ENABLED_PREF, true);
 
-      // The F12 shortcut might be disabled to avoid accidental usage.
-      // Users who are already considered as devtools users should not be
-      // impacted.
-      if (this.isDevToolsUser()) {
-        Services.prefs.setBoolPref(DEVTOOLS_F12_DISABLED_PREF, false);
-      }
-
       // Store devtoolsFlag to check it later in onWindowReady.
       this.devtoolsFlag = flags.devtools;
 
       /* eslint-disable mozilla/balanced-observers */
       // We are not expecting to remove those listeners until Firefox closes.
 
       // Only top level Firefox Windows fire a browser-delayed-startup-finished event
       Services.obs.addObserver(
deleted file mode 100644
--- a/devtools/startup/enableDevToolsPopup.inc.xhtml
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- 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/. -->
-
-<panel id="enable-devtools-popup"
-       class="panel-no-padding"
-       type="arrow"
-       role="alert"
-       noautofocus="true"
-       orient="vertical">
-  <description class="enable-devtools-description" data-l10n-id="enable-devtools-popup-description"></description>
-</panel>
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4906,19 +4906,16 @@ pref("devtools.remote.adb.extensionID", 
 pref("devtools.remote.adb.extensionURL", "https://ftp.mozilla.org/pub/mozilla.org/labs/devtools/adb-extension/#OS#/adb-extension-latest-#OS#.xpi");
 
 // URL of the remote JSON catalog used for device simulation.
 pref("devtools.devices.url", "https://code.cdn.mozilla.net/devices/devices.json");
 
 // Enable Inactive CSS detection; used both by the client and the server.
 pref("devtools.inspector.inactive.css.enabled", true);
 
-// The F12 experiment aims at disabling f12 on selected profiles.
-pref("devtools.experiment.f12.shortcut_disabled", false);
-
 #if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION)
 // Define in StaticPrefList.yaml and override here since StaticPrefList.yaml
 // doesn't provide a way to lock the pref
 pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false);
 #else
 pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", false, locked);
 #endif
 
--- a/toolkit/components/telemetry/Events.yaml
+++ b/toolkit/components/telemetry/Events.yaml
@@ -1202,40 +1202,16 @@ devtools.main:
     expiry_version: never
     extra_keys:
       host: "Toolbox host (positioning): bottom, side, window or other."
       width: Toolbox width rounded up to the nearest 50px.
       next_panel: The name of the panel closed or other.
       panel_name: The name of the panel opened or other
       reason: debuggerStatement, breakpoint, exception, tab_switch, toolbox_show, initial_panel, toggle_settings_off, toggle_settings_on, key_shortcut, select_next_key, select_prev_key, tool_unloaded, inspect_dom, toolbox_closed, unknown etc.
       session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
-  f12_enabled:
-    objects: ["tools"]
-    bug_numbers: [1630228]
-    notification_emails: ["dev-developer-tools@lists.mozilla.org", "hkirschner@mozilla.com"]
-    products:
-      - "firefox"
-    record_in_processes: ["main"]
-    description: User opened DevTools for the first time, which enables the F12 shortcut.
-    release_channel_collection: opt-out
-    expiry_version: "80"
-    extra_keys:
-      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
-  f12_popup_displayed:
-    objects: ["tools"]
-    bug_numbers: [1630228]
-    notification_emails: ["dev-developer-tools@lists.mozilla.org", "hkirschner@mozilla.com"]
-    products:
-      - "firefox"
-    record_in_processes: ["main"]
-    description: User triggered the "enable devtools" notification after pressing F12.
-    release_channel_collection: opt-out
-    expiry_version: "80"
-    extra_keys:
-      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
   filters_changed:
     objects: ["netmonitor", "webconsole"]
     bug_numbers: [1463144, 1463095]
     notification_emails: ["dev-developer-tools@lists.mozilla.org", "hkirschner@mozilla.com"]
     products:
       - "firefox"
       - "fennec"
       - "geckoview"
@@ -1671,25 +1647,25 @@ security.ui.protections:
     products:
       - firefox
     extra_keys:
       category: The category of protections the user is in, standard, strict or custom.
 
 security.ui.app_menu:
   click:
     bug_numbers:
-      - 1603545
+      - 1603545 
       - 1616229
     description: >
       Privacy and Security click events on app menu.
     objects: [
       "open_full_report",
     ]
     expiry_version: "80"
-    record_in_processes:
+    record_in_processes: 
       - main
     release_channel_collection: opt-out
     notification_emails:
       - chsiang@mozilla.com
       - ewright@mozilla.com
       - seceng-telemetry@mozilla.com
     products:
       - firefox