Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  flags.js   Sprache: JAVA

 
/* 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";

/**
 * This module controls various global flags that can be toggled on and off.
 * These flags are generally used to change the behavior of the code during
 * testing. They are tracked by preferences so that they are propagated
 * between the parent and content processes. The flags are exposed via a module
 * as a conveniene and to stop from littering preference names throughout the
 * code ase.
 *
 * Each of the flags is documented where it is defined.
 */


/**
 * We cannot make a normal property writeable on `exports` because
 * the module system freezes it. This function observes a preference
 * and provides the latest value through a getter.
 */

function makePrefTrackedFlag(exports, name, pref) {
  let flag;
  // We don't have access to pref in worker, so disable all logs by default
  if (isWorker) {
    flag = false;
  } else {
    flag = Services.prefs.getBoolPref(pref, false);
    const prefObserver = () => {
      flag = Services.prefs.getBoolPref(pref, false);
    };
    Services.prefs.addObserver(pref, prefObserver);

    // Also listen for Loader unload to unregister the pref observer and prevent leaking
    const unloadObserver = function (subject) {
      if (subject.wrappedJSObject == require("@loader/unload")) {
        Services.prefs.removeObserver(pref, prefObserver);
        Services.obs.removeObserver(unloadObserver, "devtools:loader:destroy");
      }
    };
    Services.obs.addObserver(unloadObserver, "devtools:loader:destroy");
  }
  Object.defineProperty(exports, name, {
    get() {
      return flag;
    },
  });
}

/**
 * Setting the "devtools.debugger.log" preference to true will enable logging of
 * the RDP calls to the devtools server.
 */

makePrefTrackedFlag(exports, "wantLogging""devtools.debugger.log");

/**
 * Setting the "devtools.debugger.log.verbose" preference to true will enable a
 * more verbose logging of the the RDP. The "devtools.debugger.log" preference
 * must be set to true as well for this to have any effect.
 */

makePrefTrackedFlag(exports, "wantVerbose""devtools.debugger.log.verbose");

/**
 * Setting the "devtools.testing" preference to true will toggle on certain
 * behaviors that can differ from the production version of the code. These
 * behaviors typically enable easier testing or enhanced debugging features.
 */

makePrefTrackedFlag(exports, "testing""devtools.testing");

100%


¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge