home *** CD-ROM | disk | FTP | other *** search
/ Computer Active Guide 2009 July / CAG7.ISO / Internetas / SafariSetup.exe / AppleApplicationSupport.msi / WebKit.resources_inspector_Settings.js < prev    next >
Encoding:
JavaScript  |  2010-06-03  |  3.8 KB  |  104 lines

  1. /*
  2.  * Copyright (C) 2009 Google Inc. All rights reserved.
  3.  *
  4.  * Redistribution and use in source and binary forms, with or without
  5.  * modification, are permitted provided that the following conditions are
  6.  * met:
  7.  *
  8.  *     * Redistributions of source code must retain the above copyright
  9.  * notice, this list of conditions and the following disclaimer.
  10.  *     * Redistributions in binary form must reproduce the above
  11.  * copyright notice, this list of conditions and the following disclaimer
  12.  * in the documentation and/or other materials provided with the
  13.  * distribution.
  14.  *     * Neither the name of Google Inc. nor the names of its
  15.  * contributors may be used to endorse or promote products derived from
  16.  * this software without specific prior written permission.
  17.  *
  18.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  19.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  20.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  21.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  22.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  24.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  25.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  26.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  28.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29.  */
  30.  
  31.  
  32. var Preferences = {
  33.     maxInlineTextChildLength: 80,
  34.     minConsoleHeight: 75,
  35.     minSidebarWidth: 100,
  36.     minElementsSidebarWidth: 200,
  37.     minScriptsSidebarWidth: 200,
  38.     styleRulesExpandedState: {},
  39.     showMissingLocalizedStrings: false,
  40.     samplingCPUProfiler: false,
  41.     showColorNicknames: true,
  42.     debuggerAlwaysEnabled: false,
  43.     profilerAlwaysEnabled: false,
  44.     auditsPanelEnabled: false
  45. }
  46.  
  47. WebInspector.populateFrontendSettings = function(settingsString)
  48. {
  49.     WebInspector.settings._load(settingsString);
  50. }
  51.  
  52. WebInspector.Settings = function()
  53. {
  54. }
  55.  
  56. WebInspector.Settings.prototype = {
  57.     _load: function(settingsString)
  58.     {
  59.         try {
  60.             this._store = JSON.parse(settingsString);
  61.         } catch (e) {
  62.             // May fail;
  63.             this._store = {};
  64.         }
  65.  
  66.         this._installSetting("eventListenersFilter", "event-listeners-filter", "all");
  67.         this._installSetting("colorFormat", "color-format", "hex");
  68.         this._installSetting("resourcesLargeRows", "resources-large-rows", true);
  69.         this._installSetting("watchExpressions", "watch-expressions", []);
  70.         this._installSetting("lastViewedScriptFile", "last-viewed-script-file");
  71.         this._installSetting("showInheritedComputedStyleProperties", "show-inherited-computed-style-properties", false);
  72.         this._installSetting("showUserAgentStyles", "show-user-agent-styles", true);
  73.         this._installSetting("resourceViewTab", "resource-view-tab", "content");
  74.         this._installSetting("consoleHistory", "console-history", []);
  75.         this.dispatchEventToListeners("loaded");
  76.     },
  77.  
  78.     _installSetting: function(name, propertyName, defaultValue)
  79.     {
  80.         this.__defineGetter__(name, this._get.bind(this, propertyName));
  81.         this.__defineSetter__(name, this._set.bind(this, propertyName));
  82.         if (!(propertyName in this._store)) {
  83.             this._store[propertyName] = defaultValue;
  84.         }
  85.     },
  86.  
  87.     _get: function(propertyName)
  88.     {
  89.         return this._store[propertyName];
  90.     },
  91.  
  92.     _set: function(propertyName, newValue)
  93.     {
  94.         this._store[propertyName] = newValue;
  95.         try {
  96.             InspectorBackend.saveFrontendSettings(JSON.stringify(this._store));
  97.         } catch (e) {
  98.             // May fail;
  99.         }
  100.     }
  101. }
  102.  
  103. WebInspector.Settings.prototype.__proto__ = WebInspector.Object.prototype;
  104.