code: 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')
    };
  }
docs: Options wrapper.
  Saves settings with the Chrome settings store.
  Settings are saved as a big blob to enable syncrhonous access to values.
  
  @constructor