extensions/wtf-injector-chrome/options.js
function() {
  /**
   * Whether to show the page-action 'inject' icon.
   * @type {boolean}
   */
  this.showPageAction = true;

  /**
   * Whether to show the context menu items.
   * @type {boolean}
   */
  this.showContextMenu = false;

  /**
   * Whether to show the devtools panel.
   * @type {boolean}
   */
  this.showDevPanel = false;

  /**
   * A list of all added extensions, mapped by URL.
   * @type {!Object.<!Object>}
   * @private
   */
  this.addons_ = {};

  /**
   * A map of instrumented tab IDs to their instrumentation options.
   * If a tab has an entry in this map it is considered instrumented and
   * that superceeds other whitelisting options.
   * This is not saved (yet), as it's usually a one-off thing.
   * @type {!Object.<number, Object>}
   */
  this.instrumentedTabs_ = {};

  /**
   * A list of page match patterns that will have tracing on.
   * @type {!Array.<string>}
   * @private
   */
  this.pageWhitelist_ = [];

  /**
   * A list of page match patterns that will have tracing off.
   * @type {!Array.<string>}
   * @private
   */
  this.pageBlacklist_ = [];

  /**
   * A map of URLs to page options objects.
   * @type {!Object.<!Object>}
   * @private
   */
  this.pageOptions_ = {};

  /**
   * Default endpoint to use for pages.
   * @type {{mode: string, endpoint: string}}
   * @private
   */
  this.defaultEndpoint_ = {
    mode: 'page',
    endpoint: chrome.extension.getURL('app/maindisplay.html')
  };
}
function() {
  /**
   * Whether to show the page-action 'inject' icon.
   * @type {boolean}
   */
  this.showPageAction = true;

  /**
   * Whether to show the context menu items.
   * @type {boolean}
   */
  this.showContextMenu = false;

  /**
   * Whether to show the devtools panel.
   * @type {boolean}
   */
  this.showDevPanel = false;

  /**
   * A list of all added extensions, mapped by URL.
   * @type {!Object.<!Object>}
   * @private
   */
  this.addons_ = {};

  /**
   * A map of instrumented tab IDs to their instrumentation options.
   * If a tab has an entry in this map it is considered instrumented and
   * that superceeds other whitelisting options.
   * This is not saved (yet), as it's usually a one-off thing.
   * @type {!Object.<number, Object>}
   */
  this.instrumentedTabs_ = {};

  /**
   * A list of page match patterns that will have tracing on.
   * @type {!Array.<string>}
   * @private
   */
  this.pageWhitelist_ = [];

  /**
   * A list of page match patterns that will have tracing off.
   * @type {!Array.<string>}
   * @private
   */
  this.pageBlacklist_ = [];

  /**
   * A map of URLs to page options objects.
   * @type {!Object.<!Object>}
   * @private
   */
  this.pageOptions_ = {};

  /**
   * Default endpoint to use for pages.
   * @type {{mode: string, endpoint: string}}
   * @private
   */
  this.defaultEndpoint_ = {
    mode: 'page',
    endpoint: chrome.extension.getURL('app/maindisplay.html')
  };
}
function ( ) { /**
   * Whether to show the page-action 'inject' icon.
   * @type {boolean}
   */ this . showPageAction = true ; /**
   * Whether to show the context menu items.
   * @type {boolean}
   */ this . showContextMenu = false ; /**
   * Whether to show the devtools panel.
   * @type {boolean}
   */ this . showDevPanel = false ; /**
   * A list of all added extensions, mapped by URL.
   * @type {!Object.<!Object>}
   * @private
   */ this . addons_ = { } ; /**
   * A map of instrumented tab IDs to their instrumentation options.
   * If a tab has an entry in this map it is considered instrumented and
   * that superceeds other whitelisting options.
   * This is not saved (yet), as it's usually a one-off thing.
   * @type {!Object.<number, Object>}
   */ this . instrumentedTabs_ = { } ; /**
   * A list of page match patterns that will have tracing on.
   * @type {!Array.<string>}
   * @private
   */ this . pageWhitelist_ = [ ] ; /**
   * A list of page match patterns that will have tracing off.
   * @type {!Array.<string>}
   * @private
   */ this . pageBlacklist_ = [ ] ; /**
   * A map of URLs to page options objects.
   * @type {!Object.<!Object>}
   * @private
   */ this . pageOptions_ = { } ; /**
   * Default endpoint to use for pages.
   * @type {{mode: string, endpoint: string}}
   * @private
   */ this . defaultEndpoint_ = { mode : 'page' , endpoint : chrome . extension . getURL ( 'app/maindisplay.html' ) } ; }
Options wrapper.
Saves settings with the Chrome settings store.
Settings are saved as a big blob to enable syncrhonous access to values.

@constructor
Options wrapper . Saves settings with the Chrome settings store . Settings are saved as a big blob to enable syncrhonous access to values .