| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). | 3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). |
| 4 * Copyright (C) 2009 Joseph Pecoraro | 4 * Copyright (C) 2009 Joseph Pecoraro |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 } | 110 } |
| 111 } | 111 } |
| 112 }, | 112 }, |
| 113 | 113 |
| 114 _loaded: function() | 114 _loaded: function() |
| 115 { | 115 { |
| 116 console.timeStamp("Main._loaded"); | 116 console.timeStamp("Main._loaded"); |
| 117 | 117 |
| 118 if (InspectorFrontendHost.isUnderTest()) | 118 if (InspectorFrontendHost.isUnderTest()) |
| 119 self.runtime.useTestBase(); | 119 self.runtime.useTestBase(); |
| 120 this._createSettings(); | 120 InspectorFrontendHost.getPreferences(this._createSettings.bind(this)); |
| 121 }, |
| 122 |
| 123 /** |
| 124 * @param {!Object<string, string>} prefs |
| 125 */ |
| 126 _createSettings: function(prefs) |
| 127 { |
| 128 // Patch settings from the URL param (for tests). |
| 129 var settingsParam = Runtime.queryParam("settings"); |
| 130 if (settingsParam) { |
| 131 try { |
| 132 var settings = JSON.parse(window.decodeURI(settingsParam)); |
| 133 for (var key in settings) |
| 134 prefs[key] = settings[key]; |
| 135 } catch(e) { |
| 136 // Ignore malformed settings. |
| 137 } |
| 138 } |
| 139 |
| 140 this._initializeExperiments(prefs); |
| 141 |
| 142 /** |
| 143 * @param {!Array<{name: string}>} changes |
| 144 */ |
| 145 function trackPrefsObject(changes) |
| 146 { |
| 147 if (!Object.keys(prefs).length) { |
| 148 InspectorFrontendHost.clearPreferences(); |
| 149 return; |
| 150 } |
| 151 |
| 152 for (var change of changes) { |
| 153 var name = change.name; |
| 154 if (name in prefs) |
| 155 InspectorFrontendHost.setPreference(name, prefs[name]); |
| 156 else |
| 157 InspectorFrontendHost.removePreference(name); |
| 158 } |
| 159 } |
| 160 |
| 161 Object.observe(prefs, trackPrefsObject); |
| 162 WebInspector.settings = new WebInspector.Settings(prefs); |
| 163 |
| 164 if (!InspectorFrontendHost.isUnderTest()) { |
| 165 // This setting is needed for backwards compatibility with Devtools
CodeSchool extension. DO NOT REMOVE |
| 166 WebInspector.settings.pauseOnExceptionStateString = new WebInspector
.PauseOnExceptionStateSetting(); |
| 167 new WebInspector.VersionController().updateVersion(); |
| 168 } |
| 169 |
| 121 this._createAppUI(); | 170 this._createAppUI(); |
| 122 }, | 171 }, |
| 123 | 172 |
| 124 _createSettings: function() | 173 /** |
| 125 { | 174 * @param {!Object<string, string>} prefs |
| 126 this._initializeExperiments(); | 175 */ |
| 127 WebInspector.settings = new WebInspector.Settings(); | 176 _initializeExperiments: function(prefs) |
| 128 | |
| 129 // This setting is needed for backwards compatibility with Devtools Code
School extension. DO NOT REMOVE | |
| 130 WebInspector.settings.pauseOnExceptionStateString = new WebInspector.Pau
seOnExceptionStateSetting(); | |
| 131 new WebInspector.VersionController().updateVersion(); | |
| 132 }, | |
| 133 | |
| 134 _initializeExperiments: function() | |
| 135 { | 177 { |
| 136 Runtime.experiments.register("accessibilityInspection", "Accessibility I
nspection", true); | 178 Runtime.experiments.register("accessibilityInspection", "Accessibility I
nspection", true); |
| 137 Runtime.experiments.register("animationInspection", "Animation Inspectio
n"); | 179 Runtime.experiments.register("animationInspection", "Animation Inspectio
n"); |
| 138 Runtime.experiments.register("applyCustomStylesheet", "Allow custom UI t
hemes"); | 180 Runtime.experiments.register("applyCustomStylesheet", "Allow custom UI t
hemes"); |
| 139 Runtime.experiments.register("blackboxJSFramesOnTimeline", "Blackbox Jav
aScript frames on Timeline"); | 181 Runtime.experiments.register("blackboxJSFramesOnTimeline", "Blackbox Jav
aScript frames on Timeline"); |
| 140 Runtime.experiments.register("timelineDetailsChart", "Costly functions v
iew in Timeline details", true); | 182 Runtime.experiments.register("timelineDetailsChart", "Costly functions v
iew in Timeline details", true); |
| 141 Runtime.experiments.register("customObjectFormatters", "Custom object fo
rmatters", true); | 183 Runtime.experiments.register("customObjectFormatters", "Custom object fo
rmatters", true); |
| 142 Runtime.experiments.register("externalDeviceList", "External device list
", true); | 184 Runtime.experiments.register("externalDeviceList", "External device list
", true); |
| 143 Runtime.experiments.register("fileSystemInspection", "FileSystem inspect
ion"); | 185 Runtime.experiments.register("fileSystemInspection", "FileSystem inspect
ion"); |
| 144 Runtime.experiments.register("gpuTimeline", "GPU data on timeline", true
); | 186 Runtime.experiments.register("gpuTimeline", "GPU data on timeline", true
); |
| 145 Runtime.experiments.register("inputEventsOnTimelineOverview", "Input eve
nts on Timeline overview", true) | 187 Runtime.experiments.register("inputEventsOnTimelineOverview", "Input eve
nts on Timeline overview", true) |
| 146 Runtime.experiments.register("layersPanel", "Layers panel"); | 188 Runtime.experiments.register("layersPanel", "Layers panel"); |
| 147 Runtime.experiments.register("networkRequestHeadersFilterInDetailsView",
"Network request headers filter in details view", true); | 189 Runtime.experiments.register("networkRequestHeadersFilterInDetailsView",
"Network request headers filter in details view", true); |
| 148 Runtime.experiments.register("networkRequestsOnTimeline", "Network reque
sts on Timeline"); | 190 Runtime.experiments.register("networkRequestsOnTimeline", "Network reque
sts on Timeline"); |
| 149 Runtime.experiments.register("privateScriptInspection", "Private script
inspection"); | 191 Runtime.experiments.register("privateScriptInspection", "Private script
inspection"); |
| 150 Runtime.experiments.register("promiseTracker", "Promise inspector"); | 192 Runtime.experiments.register("promiseTracker", "Promise inspector"); |
| 151 Runtime.experiments.register("recordFilmStrimInNetworkPanel", "Record Fi
lmstrip in Network Panel", true); | 193 Runtime.experiments.register("recordFilmStrimInNetworkPanel", "Record Fi
lmstrip in Network Panel", true); |
| 152 Runtime.experiments.register("serviceWorkersInPageFrontend", "Service wo
rkers in DevTools for page"); | 194 Runtime.experiments.register("serviceWorkersInPageFrontend", "Service wo
rkers in DevTools for page"); |
| 153 Runtime.experiments.register("serviceWorkersInResources", "Service worke
rs in Resources panel", true); | 195 Runtime.experiments.register("serviceWorkersInResources", "Service worke
rs in Resources panel", true); |
| 154 Runtime.experiments.register("showPrimaryLoadWaterfallInNetworkTimeline"
, "Show primary load waterfall in Network timeline", true); | 196 Runtime.experiments.register("showPrimaryLoadWaterfallInNetworkTimeline"
, "Show primary load waterfall in Network timeline", true); |
| 155 Runtime.experiments.register("stepIntoAsync", "Step into async"); | 197 Runtime.experiments.register("stepIntoAsync", "Step into async"); |
| 156 Runtime.experiments.register("timelineInvalidationTracking", "Timeline i
nvalidation tracking", true); | 198 Runtime.experiments.register("timelineInvalidationTracking", "Timeline i
nvalidation tracking", true); |
| 157 Runtime.experiments.register("timelineTracingJSProfile", "Timeline traci
ng based JS profiler", true); | 199 Runtime.experiments.register("timelineTracingJSProfile", "Timeline traci
ng based JS profiler", true); |
| 158 Runtime.experiments.register("timelineFlowEvents", "Timeline flow events
", true); | 200 Runtime.experiments.register("timelineFlowEvents", "Timeline flow events
", true); |
| 159 Runtime.experiments.register("inlineVariableValues", "Display variable v
alues inline while debugging"); | 201 Runtime.experiments.register("inlineVariableValues", "Display variable v
alues inline while debugging"); |
| 160 | 202 |
| 161 Runtime.experiments.cleanUpStaleExperiments(); | 203 Runtime.experiments.cleanUpStaleExperiments(); |
| 162 | 204 |
| 163 if (InspectorFrontendHost.isUnderTest()) { | 205 if (InspectorFrontendHost.isUnderTest()) { |
| 206 var testPath = JSON.parse(prefs["testPath"] || "\"\""); |
| 164 // Enable experiments for testing. | 207 // Enable experiments for testing. |
| 165 var testPath = self.localStorage ? self.localStorage["testPath"] ||
"" : ""; | |
| 166 if (testPath.indexOf("debugger/promise") !== -1) | 208 if (testPath.indexOf("debugger/promise") !== -1) |
| 167 Runtime.experiments.enableForTest("promiseTracker"); | 209 Runtime.experiments.enableForTest("promiseTracker"); |
| 168 if (testPath.indexOf("elements/") !== -1) | 210 if (testPath.indexOf("elements/") !== -1) |
| 169 Runtime.experiments.enableForTest("animationInspection"); | 211 Runtime.experiments.enableForTest("animationInspection"); |
| 170 if (testPath.indexOf("layers/") !== -1) | 212 if (testPath.indexOf("layers/") !== -1) |
| 171 Runtime.experiments.enableForTest("layersPanel"); | 213 Runtime.experiments.enableForTest("layersPanel"); |
| 172 if (testPath.indexOf("service-workers/") !== -1) | 214 if (testPath.indexOf("service-workers/") !== -1) |
| 173 Runtime.experiments.enableForTest("serviceWorkersInResources"); | 215 Runtime.experiments.enableForTest("serviceWorkersInResources"); |
| 174 if (testPath.indexOf("timeline/") !== -1 || testPath.indexOf("layers
/") !== -1) | 216 if (testPath.indexOf("timeline/") !== -1 || testPath.indexOf("layers
/") !== -1) |
| 175 Runtime.experiments.enableForTest("layersPanel"); | 217 Runtime.experiments.enableForTest("layersPanel"); |
| (...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 _settingChanged: function(event) | 939 _settingChanged: function(event) |
| 898 { | 940 { |
| 899 var value = this._setting.get(); | 941 var value = this._setting.get(); |
| 900 var targets = WebInspector.OverridesSupport.targetsSupportingEmulation()
; | 942 var targets = WebInspector.OverridesSupport.targetsSupportingEmulation()
; |
| 901 for (var i = 0; i < targets.length; ++i) | 943 for (var i = 0; i < targets.length; ++i) |
| 902 targets[i].emulationAgent().setScriptExecutionDisabled(value); | 944 targets[i].emulationAgent().setScriptExecutionDisabled(value); |
| 903 } | 945 } |
| 904 } | 946 } |
| 905 | 947 |
| 906 new WebInspector.Main(); | 948 new WebInspector.Main(); |
| OLD | NEW |