B2G/gecko/browser/devtools/styleinspector/CssLogic.jsm
/**
   * Process the CssSelector object that do not match the highlighted elements,
   * nor its parents. Your callback function is invoked for every such
   * CssSelector object. You receive one argument: the CssSelector object.
   *
   * The list of unmatched selectors is cached.
   *
   * @param {function} aCallback the function you want to execute for each of
   * the unmatched selectors.
   * @param {object} aScope the scope you want for the callback function. aScope
   * will be the this object when aCallback executes.
   */
Process the CssSelector object that do not match the highlighted elements,
nor its parents. Your callback function is invoked for every such
CssSelector object. You receive one argument: the CssSelector object.

The list of unmatched selectors is cached.

@param {function} aCallback the function you want to execute for each of
the unmatched selectors.
@param {object} aScope the scope you want for the callback function. aScope
will be the this object when aCallback executes.
Process the CssSelector object that do not match the highlighted elements nor its parents . Your callback function is invoked for every such CssSelector object . You receive one argument : the CssSelector object . The list of unmatched selectors is cached . @param { function } aCallback the function you want to execute for each of the unmatched selectors . @param { object } aScope the scope you want for the callback function . aScope will be the this object when aCallback executes .
function CL_processUnmatchedSelectors(aCallback, aScope)
  {
    if (this._unmatchedSelectors) {
      if (aCallback) {
        this._unmatchedSelectors.forEach(aCallback, aScope);
      }
      return;
    }
    if (!this._matchedSelectors) {
      this.processMatchedSelectors();
    }
    this._unmatchedSelectors = [];
    this.forEachSheet(function (aSheet) {
      if (!aSheet.contentSheet || aSheet.disabled || !aSheet.mediaMatches) {
        return;
      }
      aSheet.forEachRule(function (aRule) {
        aRule.selectors.forEach(function (aSelector) {
          if (aSelector._matchId !== this._matchId) {
            this._unmatchedSelectors.push(aSelector);
            if (aCallback) {
              aCallback.call(aScope, aSelector);
            }
          }
        }, this);
      }, this);
    }, this);
  }
function CL_processUnmatchedSelectors ( aCallback , aScope ) { if ( this . _unmatchedSelectors ) { if ( aCallback ) { this . _unmatchedSelectors . forEach ( aCallback , aScope ) ; } return ; } if ( ! this . _matchedSelectors ) { this . processMatchedSelectors ( ) ; } this . _unmatchedSelectors = [ ] ; this . forEachSheet ( function ( aSheet ) { if ( ! aSheet . contentSheet || aSheet . disabled || ! aSheet . mediaMatches ) { return ; } aSheet . forEachRule ( function ( aRule ) { aRule . selectors . forEach ( function ( aSelector ) { if ( aSelector . _matchId !== this . _matchId ) { this . _unmatchedSelectors . push ( aSelector ) ; if ( aCallback ) { aCallback . call ( aScope , aSelector ) ; } } } , this ) ; } , this ) ; } , this ) ; }
Process the CssSelector object that do not match the highlighted elements,
 nor its parents.
Process the CssSelector object that do not match the highlighted elements nor its parents .
// We do not show unmatched selectors from system stylesheets