1 2017-08-03 Devin Rousso <drousso@apple.com>
3 Web Inspector: add button to open Inspector^2
4 https://bugs.webkit.org/show_bug.cgi?id=175108
6 Reviewed by Brian Burg.
8 * UserInterface/Debug/Bootstrap.js:
10 (WI.runBootstrapOperations):
12 * UserInterface/Views/ButtonToolbarItem.js:
13 (WI.ButtonToolbarItem):
14 (WI.ButtonToolbarItem.prototype.get label): Deleted.
15 (WI.ButtonToolbarItem.prototype.set label): Deleted.
16 * UserInterface/Views/ButtonToolbarItem.css:
17 (.toolbar .item.button):
18 (.toolbar .item.button:not(.disabled):active):
19 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
20 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
21 (.toolbar .item.button > .glyph):
22 (.toolbar .item.button:not(.disabled):active > .glyph): Deleted.
23 (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph): Deleted.
24 (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph): Deleted.
25 (.toolbar .item.button > .label): Deleted.
26 * UserInterface/Views/ActivateButtonToolbarItem.js:
27 (WI.ActivateButtonToolbarItem):
28 (WI.ActivateButtonToolbarItem.prototype.get label): Deleted.
29 (WI.ActivateButtonToolbarItem.prototype.set label): Deleted.
30 * UserInterface/Base/Main.js:
32 Remove unused `label` parameter from Toolbar objects.
34 2017-08-03 Matt Baker <mattbaker@apple.com>
36 Web Inspector: Instrument WebGLProgram created/deleted
37 https://bugs.webkit.org/show_bug.cgi?id=175059
39 Reviewed by Devin Rousso.
41 This patch adds frontend support for shader program instrumentation.
42 The frontend creates a ShaderProgram model object for each WebGLProgram.
43 Since only canvases with a WebGL context have programs, the Canvas model
44 object does not contain any logic specific to programs. CanvasManager
45 dispatches program added/removed events, and the parent Canvas can be
46 accessed from ShaderProgram but not the other way around.
48 * UserInterface/Controllers/CanvasManager.js:
50 (WI.CanvasManager.prototype.get shaderPrograms):
51 (WI.CanvasManager.prototype.canvasRemoved):
52 (WI.CanvasManager.prototype.programCreated):
53 (WI.CanvasManager.prototype.programDeleted):
54 (WI.CanvasManager.prototype._mainResourceDidChange):
55 (WI.CanvasManager.prototype._dispatchShaderProgramRemoved):
57 * UserInterface/Main.html:
59 * UserInterface/Models/Canvas.js:
60 (WI.Canvas.prototype.nextShaderProgramDisplayNumber):
63 * UserInterface/Models/ShaderProgram.js: Added.
65 (WI.ShaderProgram.prototype.get identifier):
66 (WI.ShaderProgram.prototype.get canvas):
67 (WI.ShaderProgram.prototype.get displayName):
69 * UserInterface/Protocol/CanvasObserver.js:
70 (WI.CanvasObserver.prototype.programCreated):
71 (WI.CanvasObserver.prototype.programDeleted):
74 * UserInterface/Test.html:
76 2017-08-03 Joseph Pecoraro <pecoraro@apple.com>
78 JSContext Inspector: Recording tab should not be available in New Tab picker
79 https://bugs.webkit.org/show_bug.cgi?id=175155
81 Reviewed by Brian Burg.
83 * UserInterface/Views/RecordingTabContentView.js:
84 (WI.RecordingTabContentView.isTabAllowed):
85 Only allow the Recording Tab if we have a CanvasAgent.
87 2017-08-02 Devin Rousso <drousso@apple.com>
89 Web Inspector: add stack trace information for each RecordingAction
90 https://bugs.webkit.org/show_bug.cgi?id=174663
92 Reviewed by Joseph Pecoraro.
94 * Localizations/en.lproj/localizedStrings.js:
95 * UserInterface/Main.html:
97 * UserInterface/Models/Recording.js:
98 (WI.Recording.prototype.swizzle):
99 Add Array type for swizzling array values.
101 * UserInterface/Models/RecordingAction.js:
102 (WI.RecordingAction):
103 (WI.RecordingAction.fromPayload):
104 (WI.RecordingAction.prototype.get trace):
105 (WI.RecordingAction.prototype.swizzle):
106 (WI.RecordingAction.prototype.toJSON):
108 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js: Added.
109 (WI.RecordingTraceDetailsSidebarPanel):
110 (WI.RecordingTraceDetailsSidebarPanel.disallowInstanceForClass):
111 (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
112 (WI.RecordingTraceDetailsSidebarPanel.prototype.set recording):
113 (WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex):
114 * UserInterface/Views/RecordingTraceDetailsSidebarPanel.css: Added.
115 (.sidebar > .panel.details.recording-trace > .content > .call-frame):
116 (.sidebar > .details.recording-trace > .content > .no-trace-data):
117 (.sidebar > .details.recording-trace > .content > .no-trace-data > .message):
119 * UserInterface/Views/RecordingTabContentView.js:
120 (WI.RecordingTabContentView):
122 * UserInterface/Views/RecordingActionTreeElement.js:
123 (WI.RecordingActionTreeElement.prototype.populateContextMenu):
125 * UserInterface/Views/CallFrameView.css:
127 (body[dir=ltr] .call-frame .icon):
128 (body[dir=rtl] .call-frame .icon):
129 Apply the same trailing margin for CallFrameView icons as TreeElement.
131 2017-08-02 Devin Rousso <drousso@apple.com>
133 Web Inspector: add TreeElement virtualization for the Recording tab
134 https://bugs.webkit.org/show_bug.cgi?id=174968
136 Reviewed by Joseph Pecoraro.
138 * UserInterface/Views/RecordingNavigationSidebarPanel.js:
139 (WI.RecordingNavigationSidebarPanel):
141 * UserInterface/Views/TreeOutline.js:
143 (WI.TreeOutline.prototype.get virtualized):
144 (WI.TreeOutline.prototype.registerScrollVirtualizer):
145 (WI.TreeOutline.prototype.updateVirtualizedElements.walk):
146 (WI.TreeOutline.prototype.updateVirtualizedElements):
147 Add spacer elements before and after the TreeOutline element that will size to ensure that
148 the TreeOutline node still takes up the same amount of space after some of the TreeElements
149 are removed. Whenever the scroll of the container view changes, recalculate the visible area
150 and add/remove TreeElements based on whether they would be in that. This is only possible if
151 every TreeElement has the same vertical height, which is given when setting up the scroll
152 listener on the container view.
154 * UserInterface/Views/TreeElement.js:
155 (WI.TreeElement.prototype.set hidden):
156 (WI.TreeElement.prototype._attach):
157 (WI.TreeElement.prototype.collapse):
158 (WI.TreeElement.prototype.expand):
159 (WI.TreeElement.prototype.reveal):
160 If the TreeOutline is being virtualized, don't add each TreeElement's node to the DOM. They
161 will be added at the end of the frame (via setTimeout) if they are within the visible + padding
162 area of the TreeOutline.
164 2017-08-01 Devin Rousso <drousso@apple.com>
166 Web Inspector: simplify WebInspector with WI
167 https://bugs.webkit.org/show_bug.cgi?id=175058
169 Reviewed by Joseph Pecoraro.
173 * Tools/PrettyPrinting/FormatterDebug.js:
174 * Tools/PrettyPrinting/index.html:
176 * UserInterface/Main.html:
177 * UserInterface/Test.html:
179 * UserInterface/Base/*.js:
180 * UserInterface/Controllers/*.js:
181 * UserInterface/Debug/*.js:
182 * UserInterface/Models/*.js:
183 * UserInterface/Protocol/*.js:
184 * UserInterface/Proxies/*.js:
185 * UserInterface/Test/*.js:
186 * UserInterface/Views/*.js:
188 2017-08-01 Devin Rousso <drousso@apple.com>
190 Web Inspector: create Recording tab for displaying recordings
191 https://bugs.webkit.org/show_bug.cgi?id=174484
193 Reviewed by Joseph Pecoraro.
195 * Localizations/en.lproj/localizedStrings.js:
196 * UserInterface/Main.html:
197 * UserInterface/Test.html:
199 * UserInterface/Controllers/CanvasManager.js:
200 (WebInspector.CanvasManager.prototype.recordingFinished):
201 * UserInterface/Models/Canvas.js:
202 (WebInspector.Canvas.prototype.toggleRecording):
204 * UserInterface/Models/Recording.js:
205 (WebInspector.Recording):
206 (WebInspector.Recording.synthesizeError):
207 (WebInspector.Recording.prototype.get actions):
208 (WebInspector.Recording.prototype.get source):
209 (WebInspector.Recording.prototype.set source):
210 (WebInspector.Recording.prototype.swizzle):
212 * UserInterface/Models/RecordingAction.js:
213 (WebInspector.RecordingAction):
214 (WebInspector.RecordingAction.isFunctionForType):
215 (WebInspector.RecordingAction.get name):
216 (WebInspector.RecordingAction.get parameters):
217 (WebInspector.RecordingAction.prototype.get valid):
218 (WebInspector.RecordingAction.prototype.set valid):
219 (WebInspector.RecordingAction.get isFunction):
220 (WebInspector.RecordingAction.get isGetter):
221 (WebInspector.RecordingAction.get isVisual):
222 (WebInspector.RecordingAction.get stateModifiers):
223 (WebInspector.RecordingAction.prototype.swizzle):
224 (WebInspector.RecordingAction.prototype.parameterSwizzleTypeForTypeAtIndex):
226 * UserInterface/Models/RecordingInitialStateAction.js: Added.
227 (WebInspector.RecordingInitialStateAction):
229 * UserInterface/Views/RecordingTabContentView.js: Added.
230 (WebInspector.RecordingTabContentView):
231 (WebInspector.RecordingTabContentView.tabInfo):
232 (WebInspector.RecordingTabContentView.prototype.get type):
233 (WebInspector.RecordingTabContentView.prototype.canShowRepresentedObject):
234 (WebInspector.RecordingTabContentView.prototype.showRepresentedObject):
235 (WebInspector.RecordingTabContentView.prototype.restoreStateFromCookie):
236 (WebInspector.RecordingTabContentView.prototype.saveStateToCookie):
237 (WebInspector.RecordingTabContentView.prototype.closed):
238 (WebInspector.RecordingTabContentView.prototype._updateActionIndex):
239 (WebInspector.RecordingTabContentView.prototype._scrubberNavigationItemValueChanged):
240 (WebInspector.RecordingTabContentView.prototype._navigationSidebarImport):
241 (WebInspector.RecordingTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
243 * UserInterface/Views/RecordingContentView.js: Added.
244 (WebInspector.RecordingContentView):
245 (WebInspector.RecordingContentView.prototype.get navigationItems):
246 (WebInspector.RecordingContentView.prototype.updateActionIndex):
247 (WebInspector.RecordingContentView.prototype.shown):
248 (WebInspector.RecordingContentView.prototype.get supplementalRepresentedObjects):
249 (WebInspector.RecordingContentView.prototype._generateContentCanvas2D):
250 (WebInspector.RecordingContentView.prototype._applyAction):
251 (WebInspector.RecordingContentView.prototype._updateImageGrid):
252 (WebInspector.RecordingContentView.prototype._showGridButtonClicked):
253 * UserInterface/Views/RecordingContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/CanvasContentView.css.
254 (.content-view:not(.tab).recording):
255 (.content-view:not(.tab).recording > .preview-container):
256 (.content-view:not(.tab).recording canvas):
258 * UserInterface/Views/RecordingNavigationSidebarPanel.js: Added.
259 (WebInspector.RecordingNavigationSidebarPanel):
260 (WebInspector.RecordingNavigationSidebarPanel.disallowInstanceForClass):
261 (WebInspector.RecordingNavigationSidebarPanel.prototype.set recording):
262 (WebInspector.RecordingNavigationSidebarPanel.prototype.updateActionIndex):
263 (WebInspector.RecordingNavigationSidebarPanel.prototype.initialLayout):
264 (WebInspector.RecordingNavigationSidebarPanel.prototype._importNavigationItemClicked):
265 (WebInspector.RecordingNavigationSidebarPanel.prototype._exportNavigationItemClicked):
266 * UserInterface/Views/RecordingNavigationSidebarPanel.css: Added.
267 (.sidebar > .panel.navigation.recording > :matches(.content, .empty-content-placeholder)):
268 (.sidebar > .panel.navigation.recording > .content > .tree-outline):
269 (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action, .selected).expanded):
270 (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
271 (body[dir=ltr] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
272 (body[dir=rtl] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
273 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="2"] .item.action:not(.initial-state)::before):
274 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="3"] .item.action:not(.initial-state)::before):
275 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="4"] .item.action:not(.initial-state)::before):
276 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="5"] .item.action:not(.initial-state)::before):
277 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="6"] .item.action:not(.initial-state)::before):
278 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="7"] .item.action:not(.initial-state)::before):
279 (.sidebar > .panel.navigation.recording > .content .action > .icon):
280 (.sidebar > .panel.navigation.recording > .content .action.function > .icon):
281 (.sidebar > .panel.navigation.recording > .content .action.attribute.getter > .icon):
282 (.sidebar > .panel.navigation.recording > .content .tree-outline:matches(:focus, .force-focus) .action.attribute.getter.selected > .icon):
283 (.sidebar > .panel.navigation.recording > .content .action.attribute.boolean > .icon):
284 (.sidebar > .panel.navigation.recording > .content .action.attribute.number > .icon):
285 (.sidebar > .panel.navigation.recording > .content .action.attribute.object > .icon):
286 (.sidebar > .panel.navigation.recording > .content .action.attribute.string > .icon):
287 (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action) > .icon):
288 (.sidebar > .panel.navigation.recording > .content .action:matches(.invalid, .missing) > .icon):
289 (body[dir=ltr] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon):
290 (body[dir=rtl] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon):
291 (.sidebar > .panel.navigation.recording > .content .action.visual:not(.selected, .invalid)):
292 (.sidebar > .panel.navigation.recording > .content .action:not(.selected, .initial-state) > .titles .parameter.swizzled):
293 (.sidebar > .panel.navigation.recording > .content .action.invalid:not(.selected, .initial-state) > .titles .name,):
295 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: Added.
296 (WebInspector.RecordingStateDetailsSidebarPanel):
297 (WebInspector.RecordingStateDetailsSidebarPanel.disallowInstanceForClass):
298 (WebInspector.RecordingStateDetailsSidebarPanel.prototype.inspect):
299 (WebInspector.RecordingStateDetailsSidebarPanel.prototype.set recording):
300 (WebInspector.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex):
301 (WebInspector.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
302 * UserInterface/Views/RecordingStateDetailsSidebarPanel.css: Added.
303 (.sidebar > .panel.details.recording-state > .content > .data-grid):
304 (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
305 (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected).non-standard):
306 (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected) .unavailable):
308 * UserInterface/Views/RecordingActionTreeElement.js: Added.
309 (WebInspector.RecordingActionTreeElement):
310 (WebInspector.RecordingActionTreeElement._generateDOM):
311 (WebInspector.RecordingActionTreeElement.prototype.get index):
312 (WebInspector.RecordingActionTreeElement.get filterableData):
313 (WebInspector.RecordingActionTreeElement.prototype.get filterableData):
314 (WebInspector.RecordingActionTreeElement.prototype.onattach):
315 (WebInspector.RecordingActionTreeElement.prototype.populateContextMenu):
317 * UserInterface/Base/Main.js:
318 (WebInspector.contentLoaded):
319 (WebInspector.instanceForClass):
321 * UserInterface/Base/FileUtilites.js: Added.
322 (WebInspector.saveDataToFile): Moved from UserInterface/Base/Main.js
323 (WebInspector.loadDataFromFile):
325 * UserInterface/Views/ButtonNavigationItem.js:
326 (WebInspector.ButtonNavigationItem.prototype._mouseClicked):
327 Send the native event as part of the data.
329 * UserInterface/Views/CanvasContentView.js:
330 (WebInspector.CanvasContentView):
331 (WebInspector.CanvasContentView.prototype.get navigationItems):
332 (WebInspector.CanvasContentView.prototype.initialLayout):
333 (WebInspector.CanvasContentView.prototype.closed):
334 (WebInspector.CanvasContentView.prototype._toggleRecording):
335 (WebInspector.CanvasContentView.prototype._recordingFinished):
336 * UserInterface/Views/CanvasContentView.css:
337 (.content-view.canvas):
339 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
340 (WebInspector.CanvasDetailsSidebarPanel.prototype.inspect):
342 * UserInterface/Views/ContentBrowser.js:
343 (WebInspector.ContentBrowser):
344 (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
345 * UserInterface/Views/ContentBrowserTabContentView.js:
346 (WebInspector.ContentBrowserTabContentView):
347 * UserInterface/Views/ContentView.js:
348 (WebInspector.ContentView.createFromRepresentedObject):
349 (WebInspector.ContentView.isViewable):
350 * UserInterface/Views/ScrubberNavigationItem.js: Added.
351 (WebInspector.ScrubberNavigationItem):
352 (WebInspector.ScrubberNavigationItem.prototype.get value):
353 (WebInspector.ScrubberNavigationItem.prototype.set value):
354 (WebInspector.ScrubberNavigationItem.prototype.get min):
355 (WebInspector.ScrubberNavigationItem.prototype.set min):
356 (WebInspector.ScrubberNavigationItem.prototype.get max):
357 (WebInspector.ScrubberNavigationItem.prototype.set max):
358 (WebInspector.ScrubberNavigationItem.prototype.set disabled):
359 (WebInspector.ScrubberNavigationItem.prototype.get additionalClassNames):
360 (WebInspector.ScrubberNavigationItem.prototype._sliderChanged):
361 * UserInterface/Views/ScrubberNavigationItem.css: Added.
362 (.navigation-bar .item.scrubber):
363 (.navigation-bar .item.scrubber > input):
364 (.navigation-bar .item.scrubber > input[disabled]):
365 Allow the flexible space to be replaced with a navigation item at construction.
367 * UserInterface/Views/DataGridNode.js:
368 (WebInspector.DataGridNode):
369 (WebInspector.DataGridNode.prototype.get element):
370 Allow a list of CSS classes to be added to the node's element.
372 * UserInterface/Views/SettingsTabContentView.js:
373 (WebInspector.SettingsTabContentView.prototype.initialLayout):
374 (WebInspector.SettingsTabContentView.prototype._createExperimentalSettingsView.listenForChange):
375 (WebInspector.SettingsTabContentView.prototype._createExperimentalSettingsView):
376 (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
377 Move experimental settings to their own panel.
379 * UserInterface/Views/TabContentView.js:
380 (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
381 Save the NavigationSidebarPanel after it's constructed.
383 * UserInterface/Base/Utilities.js:
384 (Number.countDigits):
386 * UserInterface/Images/Recording.svg: Added.
387 * UserInterface/Images/RenderingFrame.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/TimelineRecordRenderingFrame.svg.
388 * UserInterface/Images/gtk/RenderingFrame.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg.
389 * UserInterface/Views/TimelineIcons.css:
390 (.rendering-frame-record .icon):
392 * UserInterface/Views/DOMTreeOutline.css:
393 (@keyframes node-state-changed):
394 * UserInterface/Views/Main.css:
395 (:matches(img, canvas).show-grid):
396 (img.show-grid): Deleted.
397 * UserInterface/Views/NavigationBar.css:
399 * UserInterface/Views/NetworkSidebarPanel.css:
400 (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):
401 * UserInterface/Views/TimelineTabContentView.css:
402 (.timeline.tab.content-view .navigation-bar > .item.radio):
403 * UserInterface/Views/TimelineView.css:
404 (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):
405 * UserInterface/Views/Variables.css:
407 Create CSS variables for the DOM modification flash color and the color striping.
409 2017-07-28 Devin Rousso <drousso@apple.com>
411 Web Inspector: Cleanup unused/invalid parameters for TreeElements
412 https://bugs.webkit.org/show_bug.cgi?id=173987
414 Reviewed by Brian Burg.
416 * UserInterface/Views/TreeElement.js:
417 * UserInterface/Views/GeneralTreeElement.js:
419 * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
420 * UserInterface/Views/BreakpointTreeElement.js:
421 * UserInterface/Views/CSSStyleSheetTreeElement.js:
422 * UserInterface/Views/CallFrameTreeElement.js:
423 * UserInterface/Views/ContentFlowTreeElement.js:
424 * UserInterface/Views/DOMNodeTreeElement.js:
425 * UserInterface/Views/DatabaseTableTreeElement.js:
426 * UserInterface/Views/DatabaseTreeElement.js:
427 * UserInterface/Views/FolderTreeElement.js:
428 * UserInterface/Views/FolderizedTreeElement.js:
429 * UserInterface/Views/FrameTreeElement.js:
430 * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
431 * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
432 * UserInterface/Views/IndexedDatabaseTreeElement.js:
433 * UserInterface/Views/IssueTreeElement.js:
434 * UserInterface/Views/ObjectTreeBaseTreeElement.js:
435 * UserInterface/Views/ProfileNodeTreeElement.js:
436 * UserInterface/Views/ResourceTreeElement.js:
437 * UserInterface/Views/ScriptTreeElement.js:
438 * UserInterface/Views/SearchResultTreeElement.js:
439 * UserInterface/Views/SourceCodeTreeElement.js:
440 * UserInterface/Views/SourceMapResourceTreeElement.js:
441 * UserInterface/Views/StorageTreeElement.js:
442 * UserInterface/Views/TimelineRecordTreeElement.js:
443 * UserInterface/Views/TypeTreeElement.js:
445 2017-07-26 Devin Rousso <drousso@apple.com>
447 Uncaught Exception: undefined is not an object (evaluating 'this._memoryRow.value = Number.bytesToString(this._canvas.memoryCost)')
448 https://bugs.webkit.org/show_bug.cgi?id=174823
450 Reviewed by Joseph Pecoraro.
452 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
453 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
454 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
455 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
456 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection):
457 (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
458 Early return if the view has not called initialLayout, as the rows might not have been
461 * UserInterface/Views/View.js:
462 (WebInspector.View.prototype.get didInitialLayout): Added.
464 2017-07-26 Devin Rousso <drousso@apple.com>
466 Web Inspector: create protocol for recording Canvas contexts
467 https://bugs.webkit.org/show_bug.cgi?id=174481
469 Reviewed by Joseph Pecoraro.
471 Create model objects that effectively mirror the protocol objects sent for Canvas recordings.
474 * UserInterface/Main.html:
475 * UserInterface/Test.html:
477 * UserInterface/Controllers/CanvasManager.js:
478 (WebInspector.CanvasManager.prototype.recordingFinished):
479 * UserInterface/Protocol/CanvasObserver.js:
480 (WebInspector.CanvasObserver.prototype.recordingFinished):
482 * UserInterface/Models/Recording.js: Added.
483 (WebInspector.Recording):
484 (WebInspector.Recording.fromPayload):
485 (WebInspector.Recording.prototype.get type):
486 (WebInspector.Recording.prototype.get initialState):
487 (WebInspector.Recording.prototype.get frames):
488 (WebInspector.Recording.prototype.get data):
489 (WebInspector.Recording.prototype.toJSON):
491 * UserInterface/Models/RecordingAction.js: Added.
492 (WebInspector.RecordingAction):
493 (WebInspector.RecordingAction.fromPayload):
494 (WebInspector.RecordingAction.prototype.get name):
495 (WebInspector.RecordingAction.prototype.get parameters):
496 (WebInspector.RecordingAction.prototype.toJSON):
498 * UserInterface/Models/RecordingFrame.js: Added.
499 (WebInspector.RecordingFrame):
500 (WebInspector.RecordingFrame.fromPayload):
501 (WebInspector.RecordingFrame.prototype.get actions):
502 (WebInspector.RecordingFrame.prototype.get incomplete):
503 (WebInspector.RecordingFrame.prototype.toJSON):
505 2017-07-26 Brian Burg <bburg@apple.com>
507 Remove WEB_TIMING feature flag
508 https://bugs.webkit.org/show_bug.cgi?id=174795
510 Reviewed by Alex Christensen.
512 Remove fallback for ports that lack WEB_TIMING.
514 * UserInterface/Base/Utilities.js:
515 (timestamp): Deleted.
516 * UserInterface/Protocol/Connection.js:
517 (InspectorBackend.Connection.prototype._dispatchResponse):
518 (InspectorBackend.Connection.prototype._dispatchEvent):
519 (InspectorBackend.Connection.prototype._sendCommandToBackendWithCallback):
520 (InspectorBackend.Connection.prototype._sendCommandToBackendExpectingPromise):
521 * UserInterface/Protocol/MessageDispatcher.js:
522 (WebInspector.dispatchNextQueuedMessageFromBackend):
524 2017-07-25 Joseph Pecoraro <pecoraro@apple.com>
526 Web Inspector: Don't output "No message" for multi-value logs like console.log(x, y)
527 https://bugs.webkit.org/show_bug.cgi?id=174842
529 Reviewed by Matt Baker.
531 * Localizations/en.lproj/localizedStrings.js:
532 Removed "No message".
534 * UserInterface/Views/ConsoleMessageView.js:
535 (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
536 Track whether or not outputting the next parameter will need a divider
537 in front of it or not.
539 2017-07-25 Joseph Pecoraro <pecoraro@apple.com>
541 Web Inspector: Fix warnings about console.assert lines without semicolons
542 https://bugs.webkit.org/show_bug.cgi?id=174840
544 Reviewed by Brian Burg.
546 * UserInterface/Views/SettingsTabContentView.js:
547 (WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
548 (WebInspector.SettingsTabContentView.prototype.setSettingsViewVisible):
549 Add semicolon to assert lines so they can be stripped in optimized builds.
551 2017-07-25 Joseph Pecoraro <pecoraro@apple.com>
553 Web Inspector: Inline multiple console log values if they are simple
554 https://bugs.webkit.org/show_bug.cgi?id=174746
555 <rdar://problem/33469376>
557 Reviewed by Matt Baker.
559 * UserInterface/Models/IssueMessage.js:
560 * UserInterface/Protocol/RemoteObject.js:
561 (WebInspector.RemoteObject.type): Deleted.
562 Remove this as it isn't as useful as directly checking the type.
564 * UserInterface/Views/ConsoleMessageView.js:
565 (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
566 (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
567 (WebInspector.ConsoleMessageView.prototype._hasSimpleDisplay):
568 (WebInspector.ConsoleMessageView.prototype._isStackTrace):
569 For leading primitive/simple values, display them inline on the console message.
571 * UserInterface/Views/FormattedValue.js:
572 (WebInspector.FormattedValue.hasSimpleDisplay):
573 Provide a helper to determine if a formatted value will be simple.
575 2017-07-25 Nikita Vasilyev <nvasilyev@apple.com>
577 Web Inspector: Styles: Add a switch for Spreadsheet model style editor to experimental settings
578 https://bugs.webkit.org/show_bug.cgi?id=174741
579 <rdar://problem/33467954>
581 Reviewed by Brian Burg.
583 Show a blank panel when Spreadsheet Style Editor is enabled.
585 * UserInterface/Base/Setting.js:
586 * UserInterface/Main.html:
587 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
588 (WebInspector.CSSStyleDetailsSidebarPanel):
589 (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
590 * UserInterface/Views/RulesStyleSpreadsheetDetailsPanel.js: Added.
591 (WebInspector.RulesStyleSpreadsheetDetailsPanel):
592 (WebInspector.RulesStyleSpreadsheetDetailsPanel.prototype.filterDidChange):
593 (WebInspector.RulesStyleSpreadsheetDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
595 * UserInterface/Views/SettingsTabContentView.css:
596 (.content-view.settings > .settings-view > .container.hidden):
597 (.content-view.settings > .settings-view > .container-centered):
598 (.content-view.settings > .settings-view > .container button):
599 * UserInterface/Views/SettingsTabContentView.js:
600 (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
601 * UserInterface/Views/SettingsView.js:
602 (WebInspector.SettingsView.prototype.addCenteredContainer):
603 (WebInspector.SettingsView):
604 Show "Reload Web Inspector" button when Spreadsheet Style Editor setting is modified.
606 2017-07-25 Devin Rousso <drousso@apple.com>
608 Web Inspector: add context menu item for taking a screenshot of a node
609 https://bugs.webkit.org/show_bug.cgi?id=174754
611 Reviewed by Brian Burg.
613 * Localizations/en.lproj/localizedStrings.js:
614 * UserInterface/Views/ContextMenuUtilities.js:
615 (WebInspector.appendContextMenuItemsForDOMNode):
616 Add "Capture Element Screenshot " context menu item that opens a save dialog with a picture of the node.
618 * UserInterface/Base/Main.js:
619 (WebInspector.saveDataToFile):
620 Allow the saveData to specify whether the contained content is base64Encoded, instead of
621 having to go through a Blob to save base64 data.
623 * UserInterface/Base/Utilities.js:
624 Add Number.pad to add leading zeros up to a certain width.
626 Drive-by: fix failing test for Number.constrain.
628 * UserInterface/Models/DOMNode.js:
629 (WebInspector.DOMNode.prototype.scrollIntoView.resolvedNode.scrollIntoView): Added.
630 (WebInspector.DOMNode.prototype.scrollIntoView.resolvedNode): Added.
631 (WebInspector.DOMNode.prototype.scrollIntoView): Added.
632 * UserInterface/Views/DOMTreeElement.js:
633 (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
634 (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView): Deleted.
635 (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode): Deleted.
636 (WebInspector.DOMTreeElement.prototype._scrollIntoView): Deleted.
637 * UserInterface/Views/DOMTreeOutline.js:
638 (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
639 Drive-by: move "Scroll Into View" context menu command to WebInspector.appendContextMenuItemsForDOMNode
640 so that it can be triggered from more places than just the DOM tree.
642 2017-07-24 Nikita Vasilyev <me@elv1s.ru>
644 Web Inspector: Settings: Some controls overlay settings header
645 https://bugs.webkit.org/show_bug.cgi?id=174804
647 Reviewed by Matt Baker.
649 * UserInterface/Views/SettingsTabContentView.css:
650 (.content-view.settings .navigation-bar):
652 2017-07-24 Matt Baker <mattbaker@apple.com>
654 Web Inspector: should only show Canvases in resource type filter if debug setting enabled
655 https://bugs.webkit.org/show_bug.cgi?id=174765
656 <rdar://problem/33479009>
658 Reviewed by Devin Rousso.
660 * UserInterface/Views/ResourceSidebarPanel.js:
661 (WebInspector.ResourceSidebarPanel):
663 2017-07-21 Joseph Pecoraro <pecoraro@apple.com>
665 Web Inspector: inspect(aFunction) should jump to function definition
666 https://bugs.webkit.org/show_bug.cgi?id=149344
667 <rdar://problem/11563607>
669 Reviewed by Matt Baker.
671 * UserInterface/Protocol/InspectorObserver.js:
672 (WebInspector.InspectorObserver.prototype.inspect):
673 If we receive a function remote object jump to its location if available.
675 2017-07-21 Joseph Pecoraro <pecoraro@apple.com>
677 Web Inspector: Avoid subclassing WebInspector.Object if we do not need to
678 https://bugs.webkit.org/show_bug.cgi?id=174703
680 Reviewed by Brian Burg.
682 * UserInterface/Models/LogObject.js:
683 (WebInspector.LogObject):
684 (WebInspector.LogObject.prototype.get startDate): Deleted.
685 Remove unused startDate property as well.
687 * UserInterface/Base/YieldableTask.js:
688 * UserInterface/Debug/ProtocolTrace.js:
689 * UserInterface/Models/AnalyzerMessage.js:
690 * UserInterface/Models/ApplicationCacheFrame.js:
691 * UserInterface/Models/ApplicationCacheManifest.js:
692 * UserInterface/Models/BackForwardEntry.js:
693 * UserInterface/Models/Branch.js:
694 * UserInterface/Models/BreakpointAction.js:
695 * UserInterface/Models/CSSMedia.js:
696 * UserInterface/Models/CSSSelector.js:
697 * UserInterface/Models/CallFrame.js:
698 * UserInterface/Models/CallingContextTree.js:
699 * UserInterface/Models/CallingContextTreeNode.js:
700 * UserInterface/Models/CollectionEntry.js:
701 * UserInterface/Models/CollectionEntryPreview.js:
702 * UserInterface/Models/ConsoleMessage.js:
703 * UserInterface/Models/DOMSearchMatchObject.js:
704 * UserInterface/Models/DatabaseObject.js:
705 * UserInterface/Models/DatabaseTableObject.js:
706 * UserInterface/Models/DebuggerDashboard.js:
707 * UserInterface/Models/DebuggerData.js:
708 * UserInterface/Models/ExecutionContext.js:
709 * UserInterface/Models/ExecutionContextList.js:
710 * UserInterface/Models/GarbageCollection.js:
711 * UserInterface/Models/HeapSnapshotRootPath.js:
712 * UserInterface/Models/IndexedDatabase.js:
713 * UserInterface/Models/IndexedDatabaseObjectStore.js:
714 * UserInterface/Models/IndexedDatabaseObjectStoreIndex.js:
715 * UserInterface/Models/Instrument.js:
716 * UserInterface/Models/KeyboardShortcut.js:
717 * UserInterface/Models/LineWidget.js:
718 * UserInterface/Models/MemoryCategory.js:
719 * UserInterface/Models/MemoryPressureEvent.js:
720 * UserInterface/Models/ObjectPreview.js:
721 * UserInterface/Models/Probe.js:
722 * UserInterface/Models/ProbeSetDataFrame.js:
723 * UserInterface/Models/Profile.js:
724 * UserInterface/Models/ProfileNode.js:
725 * UserInterface/Models/ProfileNodeCall.js:
726 * UserInterface/Models/PropertyDescriptor.js:
727 * UserInterface/Models/PropertyPath.js:
728 * UserInterface/Models/PropertyPreview.js:
729 * UserInterface/Models/ResourceQueryMatch.js:
730 * UserInterface/Models/ResourceQueryResult.js:
731 * UserInterface/Models/ResourceTimingData.js:
732 * UserInterface/Models/Revision.js:
733 * UserInterface/Models/ScopeChainNode.js:
734 * UserInterface/Models/ScriptSyntaxTree.js:
735 * UserInterface/Models/SourceCodePosition.js:
736 * UserInterface/Models/SourceCodeSearchMatchObject.js:
737 * UserInterface/Models/SourceMap.js:
738 * UserInterface/Models/StackTrace.js:
739 * UserInterface/Models/StructureDescription.js:
740 * UserInterface/Models/TextMarker.js:
741 * UserInterface/Models/TextRange.js:
742 * UserInterface/Models/TimelineRange.js:
743 * UserInterface/Models/TypeDescription.js:
744 * UserInterface/Models/TypeSet.js:
745 * UserInterface/Protocol/ProtocolTracer.js:
746 * UserInterface/Proxies/FormatterWorkerProxy.js:
747 * UserInterface/Proxies/HeapSnapshotDiffProxy.js:
748 * UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
749 * UserInterface/Test/TestSuite.js:
751 2017-07-19 Chris Dumez <cdumez@apple.com>
753 Drop SQLException type
754 https://bugs.webkit.org/show_bug.cgi?id=174665
756 Reviewed by Sam Weinig.
758 Use SQLError instead of SQLException, this is what the script should really
759 use here since it is checking the code of an SQLError.
762 * UserInterface/Models/DatabaseObject.js:
763 (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
764 (WebInspector.DatabaseObject.prototype.executeSQL):
765 (WebInspector.DatabaseObject):
767 2017-07-18 Andy Estes <aestes@apple.com>
769 [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
770 https://bugs.webkit.org/show_bug.cgi?id=174631
772 Reviewed by Tim Horton.
774 * Configurations/Base.xcconfig:
776 2017-07-18 Andy Estes <aestes@apple.com>
778 [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
779 https://bugs.webkit.org/show_bug.cgi?id=174631
781 Reviewed by Sam Weinig.
783 * Configurations/Base.xcconfig:
785 2017-07-18 Brian Burg <bburg@apple.com>
787 Web Inspector: adjust wording of "clear when page {navigates -> loads}"
788 https://bugs.webkit.org/show_bug.cgi?id=174589
789 <rdar://problem/32797981>
791 Reviewed by Joseph Pecoraro.
793 * Localizations/en.lproj/localizedStrings.js:
794 * UserInterface/Views/SettingsTabContentView.js:
795 (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
797 2017-07-18 Andy Estes <aestes@apple.com>
799 [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
800 https://bugs.webkit.org/show_bug.cgi?id=174631
802 Reviewed by Dan Bernstein.
804 * Configurations/Base.xcconfig:
806 2017-07-18 Andy Estes <aestes@apple.com>
808 [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
809 https://bugs.webkit.org/show_bug.cgi?id=174631
811 Reviewed by Darin Adler.
813 * Configurations/Base.xcconfig:
815 2017-07-13 Joseph Pecoraro <pecoraro@apple.com>
817 Web Inspector: Remove unused and untested Page domain commands
818 https://bugs.webkit.org/show_bug.cgi?id=174429
820 Reviewed by Timothy Hatcher.
822 * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
823 * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
824 * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
825 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
826 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
827 * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
828 * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
829 * Versions/Inspector-iOS-10.0.json:
830 * Versions/Inspector-iOS-10.3.json:
831 * Versions/Inspector-iOS-11.0.json:
832 * Versions/Inspector-iOS-7.0.json:
833 * Versions/Inspector-iOS-8.0.json:
834 * Versions/Inspector-iOS-9.0.json:
835 * Versions/Inspector-iOS-9.3.json:
837 2017-07-11 Joseph Pecoraro <pecoraro@apple.com>
839 Web Inspector: Correct a typo in the .eslintrc
840 https://bugs.webkit.org/show_bug.cgi?id=174389
842 Reviewed by Matt Baker.
846 2017-07-11 Joseph Pecoraro <pecoraro@apple.com>
848 Web Inspector: Node Sidebar - Improve wording for Potential Custom Element lacking a Custom definition
849 https://bugs.webkit.org/show_bug.cgi?id=174346
851 Reviewed by Matt Baker.
853 * Localizations/en.lproj/localizedStrings.js:
854 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
855 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._customElementState):
856 The text "Waiting to be upgraded" is poor. Any non-standard element with dashes
857 in the name is considered custom, but does not need to be upgraded. Lets use
858 different wording to indicate that it is detected as custom, and lacks a
859 specific Custom Element definition.
861 2017-07-10 Devin Rousso <drousso@apple.com>
863 Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab
864 https://bugs.webkit.org/show_bug.cgi?id=174279
866 Reviewed by Matt Baker.
868 * UserInterface/Controllers/DOMTreeManager.js:
869 (WebInspector.DOMTreeManager.prototype.highlightDOMNodeList):
870 (WebInspector.DOMTreeManager.prototype.highlightSelector):
871 * UserInterface/Views/CanvasTreeElement.js:
872 (WebInspector.CanvasTreeElement.prototype._handleMouseOver):
874 2017-07-03 Brian Burg <bburg@apple.com>
876 Web Replay: remove some unused code
877 https://bugs.webkit.org/show_bug.cgi?id=173903
879 Rubber-stamped by Joseph Pecoraro.
882 * UserInterface/Base/Main.js:
883 (WebInspector.loaded):
884 * UserInterface/Controllers/DashboardManager.js:
885 (WebInspector.DashboardManager):
886 * UserInterface/Controllers/ReplayManager.js: Removed.
887 * UserInterface/Images/ReplayPauseButton.svg: Removed.
888 * UserInterface/Images/ReplayPlayButton.svg: Removed.
889 * UserInterface/Images/ReplayRecordingButton.svg: Removed.
890 * UserInterface/Images/gtk/ReplayPauseButton.svg: Removed.
891 * UserInterface/Images/gtk/ReplayPlayButton.svg: Removed.
892 * UserInterface/Images/gtk/ReplayRecordingButton.svg: Removed.
893 * UserInterface/Main.html:
894 * UserInterface/Models/ReplayDashboard.js: Removed.
895 * UserInterface/Models/ReplaySession.js: Removed.
896 * UserInterface/Models/ReplaySessionSegment.js: Removed.
897 * UserInterface/Protocol/ReplayObserver.js: Removed.
898 * UserInterface/Test.html:
899 * UserInterface/Test/Test.js:
900 (WebInspector.loaded):
901 * UserInterface/Views/DashboardView.js:
902 (WebInspector.DashboardView.create):
903 * UserInterface/Views/ReplayDashboardView.css: Removed.
904 * UserInterface/Views/ReplayDashboardView.js: Removed.
905 * UserInterface/Views/TimelineRecordingContentView.js:
906 (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
907 (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
909 2017-07-07 Devin Rousso <drousso@apple.com>
911 Web Inspector: Resources are sometimes missing from the tree outline right before folderizing
912 https://bugs.webkit.org/show_bug.cgi?id=174277
914 Reviewed by Joseph Pecoraro.
916 * UserInterface/Views/TreeElement.js:
917 (WebInspector.TreeElement.prototype.expand):
919 2017-07-07 Devin Rousso <drousso@apple.com>
921 Web Inspector: REGRESSION(r217258): WebSocket resource tree elements don't show the connection status
922 https://bugs.webkit.org/show_bug.cgi?id=174274
924 Reviewed by Brian Burg.
926 * UserInterface/Views/FrameTreeElement.js:
927 (WebInspector.FrameTreeElement):
928 * UserInterface/Views/ResourceTreeElement.js:
929 (WebInspector.ResourceTreeElement.prototype.populateContextMenu):
930 * UserInterface/Views/WebSocketResourceTreeElement.js:
931 (WebInspector.WebSocketResourceTreeElement.prototype.populateContextMenu):
932 Move "Log WebSocket" context menu item to WebSocketResourceTreeElement.
934 2017-07-07 Devin Rousso <drousso@apple.com>
936 Web Inspector: Show all elements currently using a given CSS Canvas
937 https://bugs.webkit.org/show_bug.cgi?id=173965
939 Reviewed by Joseph Pecoraro.
941 * UserInterface/Controllers/CanvasManager.js:
942 (WebInspector.CanvasManager.prototype.cssCanvasClientNodesChanged):
943 * UserInterface/Models/Canvas.js:
944 (WebInspector.Canvas.prototype.requestCSSCanvasClientNodes):
945 (WebInspector.Canvas.prototype.cssCanvasClientNodesChanged):
946 * UserInterface/Protocol/CanvasObserver.js:
947 (WebInspector.CanvasObserver.prototype.cssCanvasClientNodesChanged):
949 * Localizations/en.lproj/localizedStrings.js:
950 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
951 (WebInspector.CanvasDetailsSidebarPanel):
952 (WebInspector.CanvasDetailsSidebarPanel.prototype.set canvas):
953 (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
954 (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
955 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection):
956 (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
957 Add CSS section for CSS canvases. Currently displays a list of node links, each of which is
958 using the selected canvas via -webkit-canvas.
960 * UserInterface/Main.html:
961 * UserInterface/Views/CanvasDetailsSidebarPanel.css: Added.
962 (.sidebar > .panel.details.canvas .details-section > .content .row.simple > .value > .node-link):
964 * UserInterface/Controllers/DOMTreeManager.js:
965 (WebInspector.DOMTreeManager.prototype.ensureDocument):
966 * UserInterface/Models/Canvas.js:
967 (WebInspector.Canvas.prototype.requestNode):
968 * UserInterface/Views/SearchSidebarPanel.js:
969 (WebInspector.SearchSidebarPanel.prototype.performSearch):
970 Add convenience function that will call DOMAgent.getDocument with an empty function. Should
971 be used when it is necessary that the document has been sent to the frontend, but the
972 document node itself is not needed.
974 2017-07-07 Joseph Pecoraro <pecoraro@apple.com>
976 Web Inspector: Clean up some unnecessary constructors
977 https://bugs.webkit.org/show_bug.cgi?id=174236
979 Reviewed by Brian Burg.
981 * UserInterface/Controllers/CodeMirrorBezierEditingController.js:
982 * UserInterface/Controllers/CodeMirrorColorEditingController.js:
983 * UserInterface/Controllers/CodeMirrorGradientEditingController.js:
984 * UserInterface/Views/DividerNavigationItem.js:
985 * UserInterface/Views/FlexibleSpaceNavigationItem.js:
986 * UserInterface/Views/IdleTreeElement.js:
988 2017-07-06 Devin Rousso <drousso@apple.com>
990 Web Inspector: Highlight matching canvas element when hovering contexts in the Resources tab
991 https://bugs.webkit.org/show_bug.cgi?id=174209
993 Reviewed by Joseph Pecoraro.
995 * UserInterface/Views/CanvasTreeElement.js:
996 (WebInspector.CanvasTreeElement.prototype.onattach):
997 (WebInspector.CanvasTreeElement.prototype._handleMouseOver):
998 (WebInspector.CanvasTreeElement.prototype._handleMouseOut):
1000 2017-07-06 Joseph Pecoraro <pecoraro@apple.com>
1002 Web Inspector: Add another Protocol Version
1003 https://bugs.webkit.org/show_bug.cgi?id=174193
1004 <rdar://problem/33150053>
1006 Reviewed by Brian Burg.
1008 * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js: Added.
1009 * Versions/Inspector-iOS-11.0.json: Added.
1011 2017-07-05 Devin Rousso <drousso@apple.com>
1013 Web Inspector: Group Inspector Style Sheets as part of the Stylesheets folder
1014 https://bugs.webkit.org/show_bug.cgi?id=173435
1016 Reviewed by Joseph Pecoraro.
1018 * UserInterface/Views/ResourceSidebarPanel.js:
1019 (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1020 Add special case for CSSStyleSheetTreeElement.
1022 2017-07-05 Devin Rousso <drousso@apple.com>
1024 Web Inspector: Split Canvas.svg into icons for 2D and 3D
1025 https://bugs.webkit.org/show_bug.cgi?id=174057
1027 Reviewed by Matt Baker.
1029 * UserInterface/Images/Canvas2D.svg: Added.
1030 * UserInterface/Images/Canvas3D.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/Canvas.svg.
1031 * UserInterface/Views/ResourceIcons.css:
1032 (.canvas.canvas-2d .icon):
1033 (.canvas:matches(.webgl, .webgl2, .webgpu) .icon):
1034 (.canvas .icon): Deleted.
1036 2017-07-05 Devin Rousso <drousso@apple.com>
1038 Web Inspector: Allow users to log any tracked canvas context
1039 https://bugs.webkit.org/show_bug.cgi?id=173397
1040 <rdar://problem/33111581>
1042 Reviewed by Joseph Pecoraro.
1044 * Localizations/en.lproj/localizedStrings.js:
1045 * UserInterface/Protocol/RemoteObject.js:
1046 (WebInspector.RemoteObject.resolveCanvasContext):
1047 * UserInterface/Views/CanvasTreeElement.js:
1048 (WebInspector.CanvasTreeElement.prototype.populateContextMenu):
1050 2017-07-03 Devin Rousso <drousso@apple.com>
1052 Web Inspector: Support listing WebGL2 and WebGPU contexts
1053 https://bugs.webkit.org/show_bug.cgi?id=173396
1055 Reviewed by Joseph Pecoraro.
1057 * UserInterface/Models/Canvas.js:
1058 (WebInspector.Canvas.fromPayload):
1059 (WebInspector.Canvas.displayNameForContextType):
1061 2017-07-01 Dan Bernstein <mitz@apple.com>
1063 [macOS] Remove code only needed when building for OS X Yosemite
1064 https://bugs.webkit.org/show_bug.cgi?id=174067
1066 Reviewed by Tim Horton.
1068 * Configurations/Base.xcconfig:
1069 * Configurations/DebugRelease.xcconfig:
1070 * Configurations/Version.xcconfig:
1072 2017-06-30 Joseph Pecoraro <pecoraro@apple.com>
1074 Web Inspector: Type token background color in debugger looks poor
1075 https://bugs.webkit.org/show_bug.cgi?id=174063
1077 Reviewed by Devin Rousso.
1079 * UserInterface/Views/TextEditor.css:
1080 CodeMirror widgets do not get range styles like our (.execution-range-highlight).
1081 Make a best effort to carry over the styles to widgets. It isn't perfect, but it
1082 covers all common situations unless a selection ends inside the widget. The
1083 ultimate solution would be to get the expected range styles.
1085 2017-06-30 Joseph Pecoraro <pecoraro@apple.com>
1087 Web Inspector: Initial search is sometimes performed twice, produces duplicate results
1088 https://bugs.webkit.org/show_bug.cgi?id=174047
1090 Reviewed by Devin Rousso.
1092 * UserInterface/Views/SearchTabContentView.js:
1093 (WebInspector.SearchTabContentView.prototype.performSearch):
1094 The initial layout of the tab content view was setting state to force a search
1095 which may happen after a delay, however the global search field was causing
1096 its own search to happen. We can clear the flag when a search is being performed
1097 to prevent duplicating the search.
1099 2017-06-30 Devin Rousso <drousso@apple.com>
1101 Web Inspector: Add small delay before showing the progress spinner when loading resources
1102 https://bugs.webkit.org/show_bug.cgi?id=173437
1104 Reviewed by Joseph Pecoraro.
1106 * UserInterface/Views/ResourceContentView.js:
1107 (WebInspector.ResourceContentView):
1108 (WebInspector.ResourceContentView.prototype.removeLoadingIndicator): Added.
1109 (WebInspector.ResourceContentView.prototype._contentError):
1110 (WebInspector.ResourceContentView.prototype._hasContent):
1111 Delay the creation of the spinner for 100ms. If the content is available before then, just
1112 clear the timeout and the spinner will never be created/shown.
1114 We measured an average of 35ms to load and display images with slow cases being around 55ms.
1115 100ms was chosen for the timeout to give some room to allow for abnormally slow loading
1116 while not being too long as to be outright noticable.
1118 * UserInterface/Views/FontResourceContentView.js:
1119 (WebInspector.FontResourceContentView.prototype.contentAvailable):
1120 * UserInterface/Views/ImageResourceContentView.js:
1121 (WebInspector.ImageResourceContentView.prototype.contentAvailable):
1122 * UserInterface/Views/TextResourceContentView.js:
1123 (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
1124 Calls the new protected function removeLoadingIndicator to ensure that the spinner (and any
1125 other element) is removed.
1127 This is necessary because TextResourceContentView effectively has two phases of loading its
1128 content: getting the content and formatting it for display. The first follows the same path
1129 as the other ResourceContentView subclasses, the second waits for the ContentWillPopulate
1130 event on SourceCodeTextEditor before it actually adds the content as a subview. In this
1131 case, the spinner should only be removed right before the content is actually added, not
1134 2017-06-30 Commit Queue <commit-queue@webkit.org>
1136 Unreviewed, rolling out r218983.
1137 https://bugs.webkit.org/show_bug.cgi?id=174042
1139 Broke Debugger Call Stack TreeOutline (Requested by drousso on
1144 "Web Inspector: Remove unnecessary hasChildren from
1146 https://bugs.webkit.org/show_bug.cgi?id=173986
1147 http://trac.webkit.org/changeset/218983
1149 2017-06-30 Devin Rousso <drousso@apple.com>
1151 Web Inspector: Default string comparisons to treat numeric characters as numbers
1152 https://bugs.webkit.org/show_bug.cgi?id=173984
1154 Reviewed by Joseph Pecoraro.
1156 * UserInterface/Base/Utilities.js:
1157 (String.prototype.extendedLocaleCompare):
1158 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1159 (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
1160 * UserInterface/Controllers/ResourceQueryController.js:
1161 (WebInspector.ResourceQueryController.prototype.executeQuery):
1162 * UserInterface/Views/ApplicationCacheFrameContentView.js:
1163 (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
1164 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1165 (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
1166 * UserInterface/Views/CookieStorageContentView.js:
1167 (WebInspector.CookieStorageContentView.prototype._sortDataGrid.localeCompare):
1168 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1169 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
1170 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
1171 * UserInterface/Views/DOMStorageContentView.js:
1172 (WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
1173 * UserInterface/Views/DebuggerSidebarPanel.js:
1174 (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
1175 * UserInterface/Views/FolderizedTreeElement.js:
1176 (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
1177 * UserInterface/Views/HeapSnapshotDataGridTree.js:
1178 (WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
1179 * UserInterface/Views/NetworkTimelineView.js:
1180 (WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
1181 * UserInterface/Views/NewTabContentView.js:
1182 (WebInspector.NewTabContentView.prototype._updateShownTabs):
1183 * UserInterface/Views/OverviewTimelineView.js:
1184 (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
1185 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
1186 (WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
1187 * UserInterface/Views/QuickConsole.js:
1188 (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
1189 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1190 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
1191 * UserInterface/Views/ResourceSidebarPanel.js:
1192 (WebInspector.ResourceSidebarPanel.prototype._compareTreeElements):
1193 * UserInterface/Views/ResourceTreeElement.js:
1194 (WebInspector.ResourceTreeElement.compareResourceTreeElements):
1195 (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
1196 * UserInterface/Views/ScriptDetailsTimelineView.js:
1197 (WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator):
1198 * UserInterface/Views/StorageSidebarPanel.js:
1199 (WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
1200 * UserInterface/Views/TimelineDataGrid.js:
1201 (WebInspector.TimelineDataGrid.prototype._sortComparator):
1203 2017-06-29 Devin Rousso <drousso@apple.com>
1205 Web Inspector: Provide a way for creating a new tab but not making it immediately selected
1206 https://bugs.webkit.org/show_bug.cgi?id=173983
1208 Reviewed by Joseph Pecoraro.
1210 * UserInterface/Views/TabBar.js:
1211 (WebInspector.TabBar):
1212 (WebInspector.TabBar.prototype.addTabBarItem):
1213 (WebInspector.TabBar.prototype.insertTabBarItem):
1214 (WebInspector.TabBar.prototype.removeTabBarItem):
1215 (WebInspector.TabBar.prototype._handleClick):
1216 (WebInspector.TabBar.prototype._handleNewTabClick):
1217 * UserInterface/Views/TabBrowser.js:
1218 (WebInspector.TabBrowser.prototype.addTabForContentView):
1219 (WebInspector.TabBrowser.prototype.showTabForContentView):
1220 (WebInspector.TabBrowser.prototype.closeTabForContentView):
1221 * UserInterface/Base/Main.js:
1222 (WebInspector.contentLoaded):
1223 (WebInspector._openDefaultTab):
1224 (WebInspector._tryToRestorePendingTabs):
1225 (WebInspector.showNewTabTab):
1226 (WebInspector.createNewTabWithType):
1227 Add `options` dictionaries instead of optional parameters.
1229 (WebInspector.tabContentViewClassForRepresentedObject):
1230 Drive-by fix: remove incorrect placement of WebInspector.Collection check. This function
1231 determines TabContentView classes, not ContentView.
1233 2017-06-29 Devin Rousso <drousso@apple.com>
1235 Web Inspector: Remove unnecessary hasChildren from TreeOutline
1236 https://bugs.webkit.org/show_bug.cgi?id=173986
1238 Reviewed by Joseph Pecoraro.
1240 * UserInterface/Views/TreeOutline.js:
1241 (WebInspector.TreeOutline):
1242 (WebInspector.TreeOutline.prototype.appendChild):
1243 (WebInspector.TreeOutline.prototype.insertChild):
1244 (WebInspector.TreeOutline.prototype.removeChildAtIndex):
1245 (WebInspector.TreeOutline.prototype.removeChild):
1246 (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
1248 * UserInterface/Views/NavigationSidebarPanel.js:
1249 (WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie):
1250 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1251 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
1253 2017-06-29 Devin Rousso <drousso@apple.com>
1255 Web Inspector: Cleanup unused/invalid parameters for SidebarPanels
1256 https://bugs.webkit.org/show_bug.cgi?id=173985
1258 Reviewed by Joseph Pecoraro.
1260 * UserInterface/Views/SidebarPanel.js:
1261 * UserInterface/Views/NavigationSidebarPanel.js:
1262 * UserInterface/Views/NavigationSidebarPanel.css:
1263 (.sidebar > .panel.navigation > .overflow-shadow.top): Deleted.
1264 * UserInterface/Views/DetailsSidebarPanel.js:
1266 * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
1267 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1268 * UserInterface/Views/DOMDetailsSidebarPanel.js:
1269 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1270 * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
1271 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1272 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
1273 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1274 * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1275 * UserInterface/Views/StorageSidebarPanel.js:
1277 2017-06-29 Devin Rousso <drousso@apple.com>
1279 Web Inspector: Create a single -webkit-canvas for use inside popovers
1280 https://bugs.webkit.org/show_bug.cgi?id=173820
1282 Reviewed by Matt Baker.
1284 * UserInterface/Views/Popover.css:
1286 * UserInterface/Views/Popover.js:
1287 (WebInspector.Popover):
1288 (WebInspector.Popover.prototype._drawBackground):
1290 2017-06-28 Devin Rousso <drousso@apple.com>
1292 Web Inspector: Instrument active pixel memory used by canvases
1293 https://bugs.webkit.org/show_bug.cgi?id=173087
1294 <rdar://problem/32719261>
1296 Reviewed by Joseph Pecoraro.
1299 * UserInterface/Controllers/CanvasManager.js:
1300 (WebInspector.CanvasManager.prototype.canvasMemoryChanged):
1301 * UserInterface/Models/Canvas.js:
1302 (WebInspector.Canvas.fromPayload):
1303 (WebInspector.Canvas.prototype.get memoryCost):
1304 (WebInspector.Canvas.prototype.set memoryCost):
1305 * UserInterface/Protocol/CanvasObserver.js:
1306 (WebInspector.CanvasObserver.prototype.canvasMemoryChanged):
1307 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1308 (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1309 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
1310 (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
1311 (WebInspector.CanvasDetailsSidebarPanel.prototype._canvasMemoryChanged):
1313 * Localizations/en.lproj/localizedStrings.js:
1314 * UserInterface/Base/Utilities.js:
1315 (Number.bytesToString.value):
1316 Add support for gigabyte numbers.
1318 2017-06-27 Joseph Pecoraro <pecoraro@apple.com>
1320 Web Inspector: Remove unused Inspector domain events
1321 https://bugs.webkit.org/show_bug.cgi?id=173905
1323 Reviewed by Matt Baker.
1325 * UserInterface/Protocol/InspectorObserver.js:
1326 (WebInspector.InspectorObserver.prototype.detached): Deleted.
1328 * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
1329 * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
1330 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1331 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1332 * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1333 * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
1334 * Versions/Inspector-iOS-10.0.json:
1335 * Versions/Inspector-iOS-10.3.json:
1336 * Versions/Inspector-iOS-7.0.json:
1337 * Versions/Inspector-iOS-8.0.json:
1338 * Versions/Inspector-iOS-9.0.json:
1339 * Versions/Inspector-iOS-9.3.json:
1340 Remove from legacy backends as well since they did not send it.
1342 2017-06-27 Matt Baker <mattbaker@apple.com>
1344 Web Inspector: no discoverable way to dismiss the split console
1345 https://bugs.webkit.org/show_bug.cgi?id=167034
1346 <rdar://problem/30023436>
1348 Reviewed by Devin Rousso.
1350 This patch adds an Xcode-style toggle button to the left of the
1351 split console navigation bar. Additionally, the split console code
1352 has been broken out into it's own class to reduce the clutter in
1353 Main.js/css, and simplify future console maintenance.
1355 * Localizations/en.lproj/localizedStrings.js:
1357 * UserInterface/Base/Main.js:
1358 (WebInspector.loaded):
1359 Replace the "split" ContentBrowser with a new ConsoleDrawer class,
1360 which encapsulates the drawer height setting and resize behavior.
1361 (WebInspector.contentLoaded):
1362 The console drawer manages its own height.
1364 * UserInterface/Images/HideConsoleDrawer.svg: Added.
1365 * UserInterface/Images/ShowConsoleDrawer.svg: Added.
1366 Console drawer toggle button images. Styled after corresponding Xcode button.
1368 * UserInterface/Main.html:
1370 * UserInterface/Views/ConsoleDrawer.css: Added.
1371 Moved old #split-content-browser styles over from Main.css.
1373 (.console-drawer > .navigation-bar):
1374 (.console-drawer > .navigation-bar > .item.button:not(.clear-log)):
1375 Make button spacing less cramped.
1376 (.console-drawer > .navigation-bar > .item:not(.flexible-space)):
1377 (.console-drawer > .navigation-bar > :matches(.item.button, .log-scope-bar)):
1378 (.console-drawer > .navigation-bar > .item > .glyph,):
1380 * UserInterface/Views/ConsoleDrawer.js: Added.
1381 New class responsible for console drawer expand / collapse and resizer
1382 dragging, which was previously part of Main.js. The console drawer toolbar
1383 now has a toggle button, debugging controls, and a call frames path item.
1384 The "Show Console Tab" button has been removed.
1386 (WebInspector.ConsoleDrawer):
1387 (WebInspector.ConsoleDrawer.prototype.get collapsed):
1388 (WebInspector.ConsoleDrawer.prototype.set collapsed):
1389 (WebInspector.ConsoleDrawer.prototype.get height):
1390 (WebInspector.ConsoleDrawer.prototype.shown):
1391 (WebInspector.ConsoleDrawer.prototype.layout):
1392 (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDrag):
1393 (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDragEnd):
1394 (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown):
1395 (WebInspector.ConsoleDrawer.prototype._restoreDrawerHeight):
1396 (WebInspector.ConsoleDrawer.prototype._updateDrawerHeight):
1397 (WebInspector.ConsoleDrawer.prototype._selectedTabContentViewDidChange):
1398 When switching to a tab that doesn't support showing the console drawer,
1399 hide it without altering the collapsed state.
1401 * UserInterface/Views/LogContentView.js:
1402 (WebInspector.LogContentView.prototype.get navigationItems):
1404 * UserInterface/Views/Main.css:
1405 Renamed #split-content-browser to #console-drawer, and moved related
1406 styles to ConsoleDrawer.css.
1408 (#split-content-browser): Deleted.
1409 (#split-content-browser > .navigation-bar): Deleted.
1410 (#split-content-browser > .navigation-bar :matches(.find-banner, .find-banner + .divider)): Deleted.
1411 (#split-content-browser > .navigation-bar .item): Deleted.
1412 (#split-content-browser > .navigation-bar .item:not(.flexible-space)): Deleted.
1413 (#split-content-browser .hierarchical-path-component.log-icon .icon): Deleted.
1414 (#split-content-browser .hierarchical-path-component.log-icon .title): Deleted.
1415 (#split-content-browser .hierarchical-path-component.log-icon select): Deleted.
1416 (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)): Deleted.
1417 (#split-content-browser > .navigation-bar > .log-scope-bar > li): Deleted.
1419 * UserInterface/Views/QuickConsole.js:
1420 (WebInspector.QuickConsole):
1421 (WebInspector.QuickConsole.prototype._toggleOrFocus):
1422 (WebInspector.QuickConsole.prototype._updateStyles):
1423 Update top border style in response to change in selected TabBrowser
1424 tab or the console drawer collapsed state.
1426 (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Deleted.
1427 (WebInspector.QuickConsole.prototype.set keyboardShortcutDisabled): Deleted.
1429 2017-06-24 Joseph Pecoraro <pecoraro@apple.com>
1431 Remove Reflect.enumerate
1432 https://bugs.webkit.org/show_bug.cgi?id=173806
1434 Reviewed by Yusuke Suzuki.
1436 * UserInterface/Models/NativeFunctionParameters.js:
1438 2017-06-23 Joseph Pecoraro <pecoraro@apple.com>
1440 Web Inspector: Script Timeline bubbles sometimes appear to miss large events
1441 https://bugs.webkit.org/show_bug.cgi?id=173746
1442 <rdar://problem/32950808>
1444 Reviewed by Brian Burg.
1446 * UserInterface/Models/Timeline.js:
1447 (WebInspector.Timeline.prototype.addRecord):
1448 (WebInspector.Timeline.prototype._tryInsertInSortedOrder):
1449 The list of records is assumed to be sorted by the code that draws bubbles
1450 however the order in which we receive them may not be sorted. Make a quick
1451 effort to sort recent records so that as we are drawing the timeline it is
1454 2017-06-23 Brian Burg <bburg@apple.com>
1456 Web Inspector: RTL: flip all go-to-arrow instances
1457 https://bugs.webkit.org/show_bug.cgi?id=173794
1458 <rdar://problem/32221912>
1460 Reviewed by Joseph Pecoraro.
1462 Move the flipping transform so it applies to all go-to arrows.
1464 * UserInterface/Views/DataGrid.css:
1465 (body[dir=rtl] .data-grid td .go-to-arrow):
1466 * UserInterface/Views/Main.css:
1467 (body[dir=rtl] .go-to-arrow):
1469 2017-06-22 Joseph Pecoraro <pecoraro@apple.com>
1471 Web Inspector: Pausing with a deep call stack can be very slow, avoid eagerly generating object previews
1472 https://bugs.webkit.org/show_bug.cgi?id=173698
1474 Reviewed by Matt Baker.
1476 Introduce RemoteObject.prototype.updatePreview which can be used to update
1477 the preview of a RemoteObject with a current view for the object. Currently
1478 we only use this to fetch the preview that we did not have for the `thisObject`
1479 in the scope chain sidebar. However this could be used generically to update
1480 a RemoteObject's preview (ObjectPreview) at any time.
1482 * UserInterface/Protocol/RemoteObject.js:
1483 (WebInspector.RemoteObject.prototype.canLoadPreview):
1484 (WebInspector.RemoteObject.prototype.updatePreview):
1485 Allow a RemoteObject to update its preview property. Since this only makes
1486 sense on certain Object values include a helper to know when it is appropriate
1489 * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1490 (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
1491 (WebInspector.ObjectTreePropertyTreeElement.prototype._loadPreviewLazilyIfNeeded):
1492 If the object being shown in the sidebar does not have a preview but can load a
1493 preview then attempt to load it lazily. This is the case for the `thisObject`
1494 which is injected into an ObjectTree in the scope chain sidebar.
1496 2017-06-22 Fujii Hironori <Hironori.Fujii@sony.com>
1498 [GTK] Web Inspector: Add icon for Canvas.svg
1499 https://bugs.webkit.org/show_bug.cgi?id=173580
1501 Reviewed by Carlos Garcia Campos.
1503 * UserInterface/Images/gtk/Canvas.svg: Added.
1505 2017-06-21 Fujii Hironori <Hironori.Fujii@sony.com>
1507 [GTK] Web Inspector: Add NavigationItemCheckers.svg
1508 https://bugs.webkit.org/show_bug.cgi?id=173692
1510 Reviewed by Carlos Garcia Campos.
1512 * UserInterface/Images/gtk/NavigationItemCheckers.svg: Added.
1514 2017-06-20 Devin Rousso <drousso@apple.com>
1516 Web Inspector: change the selected ScopeBarItem on mousedown instead of click
1517 https://bugs.webkit.org/show_bug.cgi?id=173586
1519 Reviewed by Matt Baker.
1521 Both the Tab bar and Sidebar navigation bar switch the active item on "mousedown" instead of
1522 on "click". ScopeBarItem should follow this pattern, as it is faster and keeps consistency.
1524 * UserInterface/Views/MultipleScopeBarItem.js:
1525 (WebInspector.MultipleScopeBarItem):
1526 (WebInspector.MultipleScopeBarItem.prototype._handleMouseDown):
1527 (WebInspector.MultipleScopeBarItem.prototype._clicked): Deleted.
1528 * UserInterface/Views/ScopeBarItem.js:
1529 (WebInspector.ScopeBarItem):
1530 (WebInspector.ScopeBarItem.prototype._handleMouseDown):
1531 (WebInspector.ScopeBarItem.prototype._clicked): Deleted.
1533 2017-06-20 Devin Rousso <drousso@apple.com>
1535 Web Inspector: Send context attributes for tracked canvases
1536 https://bugs.webkit.org/show_bug.cgi?id=173327
1538 Reviewed by Joseph Pecoraro.
1540 * UserInterface/Models/Canvas.js:
1541 (WebInspector.Canvas.fromPayload):
1542 (WebInspector.Canvas.prototype.get contextAttributes):
1543 * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1544 (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1545 (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
1546 (WebInspector.CanvasDetailsSidebarPanel.prototype.sizeDidChange):
1547 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
1549 * UserInterface/Views/DataGridNode.js:
1550 (WebInspector.DataGridNode.prototype.createCellContent):
1551 Instead of checking if the value of the cell is falsy, check that the key exists in the data.
1552 This allows values like `false` to be displayed.
1554 2017-06-19 Devin Rousso <drousso@apple.com>
1556 Web Inspector: create canvas content view and details sidebar panel
1557 https://bugs.webkit.org/show_bug.cgi?id=138941
1558 <rdar://problem/19051672>
1560 Reviewed by Joseph Pecoraro.
1562 * UserInterface/Models/Canvas.js:
1563 (WebInspector.Canvas):
1564 (WebInspector.Canvas.fromPayload):
1565 (WebInspector.Canvas.prototype.get displayName):
1566 (WebInspector.Canvas.requestNode): Added.
1567 (WebInspector.Canvas.prototype.requestContent): Added.
1568 (WebInspector.Canvas.prototype.saveIdentityToCookie):
1570 * UserInterface/Controllers/CanvasManager.js:
1571 (WebInspector.CanvasManager.prototype.canvasAdded):
1572 (WebInspector.CanvasManager.prototype.canvasRemoved):
1573 * UserInterface/Models/Collection.js:
1574 * UserInterface/Models/Frame.js:
1575 (WebInspector.Frame):
1576 (WebInspector.Frame.prototype.get canvasCollection):
1577 (WebInspector.Frame.prototype.commitProvisionalLoad):
1578 Create a Collection for Canvas in each Frame, and modify it when canvas events are fired.
1580 * UserInterface/Views/CanvasContentView.css: Added.
1581 (.content-view.canvas > .preview):
1582 (.content-view.canvas > .preview > img):
1583 * UserInterface/Views/CanvasContentView.js: Added.
1584 (WebInspector.CanvasContentView):
1585 (WebInspector.CanvasContentView.prototype.get navigationItems):
1586 (WebInspector.CanvasContentView.prototype.shown):
1587 (WebInspector.CanvasContentView.prototype.hidden):
1588 (WebInspector.CanvasContentView.prototype._showPreview):
1589 (WebInspector.CanvasContentView.prototype._updateImageGrid):
1590 (WebInspector.CanvasContentView.prototype._showGridButtonClicked):
1591 * UserInterface/Views/CanvasDetailsSidebarPanel.js: Added.
1592 (WebInspector.CanvasDetailsSidebarPanel):
1593 (WebInspector.CanvasDetailsSidebarPanel.prototype.inspect):
1594 (WebInspector.CanvasDetailsSidebarPanel.prototype.get canvas):
1595 (WebInspector.CanvasDetailsSidebarPanel.prototype.set canvas):
1596 (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1597 (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
1598 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
1599 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection.this._canvas.requestNode.):
1600 (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
1601 * UserInterface/Views/CanvasTreeElement.js: Added.
1602 (WebInspector.CanvasTreeElement):
1604 * UserInterface/Views/FrameTreeElement.js:
1605 (WebInspector.FrameTreeElement.prototype.onattach):
1606 (WebInspector.FrameTreeElement.prototype.ondetach):
1607 (WebInspector.FrameTreeElement.prototype.onpopulate):
1608 (WebInspector.FrameTreeElement.prototype._canvasWasAdded):
1609 (WebInspector.FrameTreeElement.prototype._canvasWasRemoved):
1610 (WebInspector.FrameTreeElement):
1611 * UserInterface/Base/Main.js:
1612 * UserInterface/Views/ContentView.js:
1613 (WebInspector.ContentView.createFromRepresentedObject):
1614 (WebInspector.ContentView.isViewable):
1615 * UserInterface/Views/ResourceSidebarPanel.js:
1616 (WebInspector.ResourceSidebarPanel):
1617 (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1618 (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
1619 * UserInterface/Views/ResourcesTabContentView.js:
1620 (WebInspector.ResourcesTabContentView):
1621 (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
1622 Show Canvas objects and tie them to the correct ContentView and TreeElement subclasses.
1624 * Localizations/en.lproj/localizedStrings.js:
1625 * UserInterface/Main.html:
1626 * UserInterface/Images/Canvas.svg: Added.
1627 * UserInterface/Views/ResourceIcons.css:
1629 Added new files/rules/strings related to Canvas UI.
1631 * UserInterface/Views/SettingsTabContentView.css:
1632 (.content-view.settings .navigation-bar):
1634 * UserInterface/Base/Setting.js:
1635 * UserInterface/Views/SettingsTabContentView.js:
1636 (WebInspector.SettingsTabContentView.prototype.initialLayout):
1637 (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
1638 (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
1639 Add an experimental settings toggle in the Debug view for showing canvas contexts.
1641 * UserInterface/Views/FolderizedTreeElement.js:
1642 (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
1643 Drive-by fix: ensure that sorting also includes numbers, so that 1 < 2 < 10.
1645 * UserInterface/Views/ImageResourceContentView.js:
1646 (WebInspector.ImageResourceContentView.prototype.shown):
1647 (WebInspector.ImageResourceContentView.prototype.hidden):
1648 (WebInspector.ImageResourceContentView.prototype._updateImageGrid):
1649 (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked):
1650 (WebInspector.ImageResourceContentView):
1651 Drive-by fix: change the activated state of the Show Grid navigation item if it changes
1654 2017-06-19 Devin Rousso <drousso@apple.com>
1656 Web Inspector: Unify contextmenu items for all node links/previews
1657 https://bugs.webkit.org/show_bug.cgi?id=173187
1659 Reviewed by Joseph Pecoraro.
1661 * Localizations/en.lproj/localizedStrings.js:
1662 * UserInterface/Views/ContextMenuUtilities.js:
1663 (WebInspector.appendContextMenuItemsForDOMNode.didGetFunctionDetails): Added.
1664 (WebInspector.appendContextMenuItemsForDOMNode.didGetProperty): Added.
1665 (WebInspector.appendContextMenuItemsForDOMNode.didResolveNode): Added.
1666 (WebInspector.appendContextMenuItemsForDOMNode): Added.
1667 * UserInterface/Views/DOMTreeElement.js:
1668 (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
1669 (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
1670 (WebInspector.DOMTreeElement.prototype._showCustomElementDefinition): Deleted.
1671 * UserInterface/Views/DOMTreeOutline.js:
1672 (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
1673 (WebInspector.DOMTreeOutline.prototype._populateContextMenu.revealElement): Deleted.
1674 (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement): Deleted.
1675 (WebInspector.DOMTreeOutline.prototype._populateContextMenu): Deleted.
1676 * UserInterface/Views/RulesStyleDetailsPanel.js:
1677 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
1678 Unify common DOM node context menu actions into a single helper function.
1680 * UserInterface/Base/DOMUtilities.js:
1681 (WebInspector.linkifyNodeReference):
1682 (WebInspector.linkifyNodeReferenceElement):
1683 Rework parameters to use options dictionary.
1685 2017-06-16 Matt Baker <mattbaker@apple.com>
1687 Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
1688 https://bugs.webkit.org/show_bug.cgi?id=172623
1689 <rdar://problem/32415986>
1691 Reviewed by Devin Rousso and Joseph Pecoraro.
1693 * UserInterface/Base/Main.js:
1694 (WebInspector.loaded):
1696 * UserInterface/Controllers/CanvasManager.js: Added.
1697 New frontend manager for the Canvas domain.
1698 (WebInspector.CanvasManager):
1699 (WebInspector.CanvasManager.prototype.get canvases):
1700 (WebInspector.CanvasManager.prototype.canvasAdded):
1701 (WebInspector.CanvasManager.prototype.canvasRemoved):
1702 (WebInspector.CanvasManager.prototype._mainResourceDidChange):
1704 * UserInterface/Main.html:
1707 * UserInterface/Models/Canvas.js: Added.
1708 (WebInspector.Canvas):
1709 (WebInspector.Canvas.fromPayload):
1710 (WebInspector.Canvas.displayNameForContextType):
1711 Get displayable text "2D" or "WebGL" based on context type.
1712 (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
1713 Called by CanvasManager when canvases are cleared.
1714 (WebInspector.Canvas.prototype.get identifier):
1715 (WebInspector.Canvas.prototype.get contextType):
1716 (WebInspector.Canvas.prototype.get frame):
1717 (WebInspector.Canvas.prototype.get cssCanvasName):
1718 For CSS canvases, the identifier passed to getCSSCanvasContext.
1719 (WebInspector.Canvas.prototype.get displayName):
1720 Get displayable canvas name. The name depends on how the canvas was
1721 created, and the information available:
1722 - getCSSCanvasContext: "CSS Canvas <identifier>"
1723 - getContext: "Canvas #<DOM id attribute value>"
1724 - Otherwise: "Canvas 1", "Canvas 2", ...
1726 (WebInspector.Canvas.saveIdentityToCookie):
1728 * UserInterface/Protocol/CanvasObserver.js: Added.
1729 (WebInspector.CanvasObserver.prototype.canvasAdded):
1730 (WebInspector.CanvasObserver.prototype.canvasRemoved):
1731 (WebInspector.CanvasObserver):
1733 * UserInterface/Test.html:
1734 * UserInterface/Test/Test.js:
1735 (WebInspector.loaded):
1737 2017-06-16 Matt Lewis <jlewis3@apple.com>
1739 Unreviewed, rolling out r218376.
1741 The patch cause multiple Layout Test Crashes.
1745 "Web Inspector: Instrument 2D/WebGL canvas contexts in the
1747 https://bugs.webkit.org/show_bug.cgi?id=172623
1748 http://trac.webkit.org/changeset/218376
1750 2017-06-15 Matt Baker <mattbaker@apple.com>
1752 Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
1753 https://bugs.webkit.org/show_bug.cgi?id=172623
1754 <rdar://problem/32415986>
1756 Reviewed by Devin Rousso.
1758 * UserInterface/Base/Main.js:
1759 (WebInspector.loaded):
1761 * UserInterface/Controllers/CanvasManager.js: Added.
1762 New frontend manager for the Canvas domain.
1763 (WebInspector.CanvasManager):
1764 (WebInspector.CanvasManager.prototype.get canvases):
1765 (WebInspector.CanvasManager.prototype.canvasAdded):
1766 (WebInspector.CanvasManager.prototype.canvasRemoved):
1767 (WebInspector.CanvasManager.prototype._mainResourceDidChange):
1769 * UserInterface/Main.html:
1772 * UserInterface/Models/Canvas.js: Added.
1773 (WebInspector.Canvas):
1774 (WebInspector.Canvas.fromPayload):
1775 (WebInspector.Canvas.displayNameForContextType):
1776 Get displayable text "2D" or "WebGL" based on context type.
1777 (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
1778 Called by CanvasManager when canvases are cleared.
1779 (WebInspector.Canvas.prototype.get identifier):
1780 (WebInspector.Canvas.prototype.get contextType):
1781 (WebInspector.Canvas.prototype.get frame):
1782 (WebInspector.Canvas.prototype.get cssCanvasName):
1783 For CSS canvases, the identifier passed to getCSSCanvasContext.
1784 (WebInspector.Canvas.prototype.get displayName):
1785 Get displayable canvas name. The name depends on how the canvas was
1786 created, and the information available:
1787 - getCSSCanvasContext: "CSS Canvas <identifier>"
1788 - getContext: "Canvas #<DOM id attribute value>"
1789 - Otherwise: "Canvas 1", "Canvas 2", ...
1791 (WebInspector.Canvas.saveIdentityToCookie):
1793 * UserInterface/Protocol/CanvasObserver.js: Added.
1794 (WebInspector.CanvasObserver.prototype.canvasAdded):
1795 (WebInspector.CanvasObserver.prototype.canvasRemoved):
1796 (WebInspector.CanvasObserver):
1798 * UserInterface/Test.html:
1799 * UserInterface/Test/Test.js:
1800 (WebInspector.loaded):
1802 2017-06-15 Joseph Pecoraro <pecoraro@apple.com>
1804 Web Inspector: Search highlight doesn't show up in resources when paused
1805 https://bugs.webkit.org/show_bug.cgi?id=173438
1806 <rdar://problem/32800114>
1808 Reviewed by Matt Baker.
1810 * UserInterface/Views/TextEditor.js:
1811 (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
1812 Previously we were bailing if executionLineNumber was NaN, which means that when
1813 we were paused we were incorrectly disabling highlights in any resource that does
1814 not have the active callframe. Relax this and make it match the intended behavior
1815 of only disabling highlights if the highlight line matches the execution line.
1817 2017-06-15 Joseph Pecoraro <pecoraro@apple.com>
1819 Uncaught Exception: TypeError: null is not an object (evaluating 'this.contentBrowser.contentViewForRepresentedObject')
1820 https://bugs.webkit.org/show_bug.cgi?id=173425
1821 <rdar://problem/32744172>
1823 Reviewed by Devin Rousso.
1825 * UserInterface/Views/ContentBrowserTabContentView.js:
1826 (WebInspector.ContentBrowserTabContentView.prototype.shown):
1827 Reorder slightly so the NavigationSidebar has its ContentBrowser set
1828 before anyone tries to restore views in the sidebar.
1830 * UserInterface/Views/DebuggerSidebarPanel.js:
1831 (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
1832 Try to select a script/resource content view instead of nothing.
1834 (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
1835 When a resource is selected, save it using the normal path.
1837 * UserInterface/Views/NetworkSidebarPanel.js:
1838 (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView):
1839 Remove a reference to an unused / stale member variable.
1841 2017-06-14 Nikita Vasilyev <nvasilyev@apple.com>
1843 Web Inspector: Pretty print / type info / code coverage buttons disappear after switching tabs
1844 https://bugs.webkit.org/show_bug.cgi?id=162515
1845 <rdar://problem/28455322>
1847 Reviewed by Joseph Pecoraro.
1849 Each ContentView owns a list of NavigationItems. When the ContentView moves across
1850 Tabs (ContentBrowsers) it removes its NavigationItems from the old Tab's NavigationBar
1851 and adds them to the new Tab's NavigationBar. When switching back to the original tab
1852 the ContentView is restored, but its NavigationItems are not carried back.
1854 * UserInterface/Views/ContentBrowser.js:
1855 (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
1856 Add a forceUpdate parameter that is needed when navigationItems are unchanged but navigationBar is
1859 (WebInspector.ContentBrowser.prototype._removeAllNavigationItems):
1860 Remove navigation items even when their navigationBar is no longer a current navigationBar,
1861 e.g. a navigationBar of the previous tab.
1863 (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
1864 * UserInterface/Views/ContentViewContainer.js:
1865 (WebInspector.ContentViewContainer.prototype._takeOwnershipOfContentView):
1867 2017-06-14 Devin Rousso <drousso@apple.com>
1869 Web Inspector: REGRESSION: SVG files and favicon don't display properly
1870 https://bugs.webkit.org/show_bug.cgi?id=173389
1871 <rdar://problem/32774281>
1873 Reviewed by Joseph Pecoraro.
1875 * UserInterface/Views/ImageResourceContentView.css:
1876 (.content-view.resource.image img):
1877 Don't set a `min-width` as it has odd interactions with flexbox.
1879 2017-06-13 Nikita Vasilyev <nvasilyev@apple.com>
1881 Web Inspector: Console: Message icons overlay source location
1882 https://bugs.webkit.org/show_bug.cgi?id=173291
1884 Reviewed by Matt Baker.
1886 * UserInterface/Views/ConsoleMessageView.css:
1887 (.console-message-location.call-frame):
1888 This should be a safe change since a method name and a source link already have
1889 max-width set to 20vw and 30vw respectively.
1891 2017-06-13 Nikita Vasilyev <nvasilyev@apple.com>
1893 Web Inspector: Don't use -webkit-user-modify CSS property
1894 https://bugs.webkit.org/show_bug.cgi?id=173232
1896 Reviewed by Devin Rousso.
1898 Replace -webkit-user-modify CSS property with contentEditable HTML attribute.
1900 * UserInterface/Views/Editing.css:
1902 * UserInterface/Views/EditingSupport.js:
1903 (cleanUpAfterEditing):
1904 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1905 (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
1906 * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1907 (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
1908 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
1909 (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
1911 2017-06-13 Sam Weinig <sam@webkit.org>
1913 Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec.
1914 https://bugs.webkit.org/show_bug.cgi?id=80733
1916 Reviewed by Chris Dumez.
1918 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
1919 (HeapSnapshot.prototype._isNodeGlobalObject):
1921 2017-06-12 Devin Rousso <drousso@apple.com>
1923 Web Inspector: Add grid to images to clarify transparency and image size
1924 https://bugs.webkit.org/show_bug.cgi?id=173184
1926 Reviewed by Matt Baker.
1928 * Localizations/en.lproj/localizedStrings.js:
1930 * UserInterface/Base/Setting.js:
1931 Add setting for controlling the image grid.
1933 * UserInterface/Images/NavigationItemCheckers.svg: Added.
1935 * UserInterface/Views/ImageResourceContentView.css:
1936 (.content-view.resource.image):
1937 (.content-view.resource.image img):
1938 Replace the border spacing around the image with padding on the container. This is required
1939 because a border will extend the area that is effected by `background-image`, meaning that
1940 the checkerboard would appear in that area as well, giving misleading information as to the
1943 * UserInterface/Views/ImageResourceContentView.js:
1944 (WebInspector.ImageResourceContentView):
1945 (WebInspector.ImageResourceContentView.prototype.get navigationItems): Added.
1946 (WebInspector.ImageResourceContentView.prototype.contentAvailable):
1947 (WebInspector.ImageResourceContentView.prototype.shown): Added.
1948 (WebInspector.ImageResourceContentView.prototype._toggleImageGrid): Added.
1949 (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked): Added.
1950 (WebInspector.ImageResourceContentView.prototype.get imageElement): Deleted.
1951 Apply the CSS class for showing the grid when the added navigation item is activated.
1953 * UserInterface/Views/Main.css:
1955 Generates a checkerboard pattern via `background-image` using the following process:
1956 - four `linear-gradients` are drawn, one in each corner
1957 - each draws one half of a 20x20 square, specified by `background-size`
1958 - they are then repositioned using `background-position` so that the two halfs align
1968 2017-06-10 Dan Bernstein <mitz@apple.com>
1970 Reverted r218056 because it made the IDE reindex constantly.
1972 * Configurations/DebugRelease.xcconfig:
1974 2017-06-10 Dan Bernstein <mitz@apple.com>
1976 [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
1977 https://bugs.webkit.org/show_bug.cgi?id=173223
1979 Reviewed by Sam Weinig.
1981 The rebuilds were happening due to a difference in the compiler options that the IDE and
1982 xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
1983 xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
1984 specify an appropriate path in CLANG_INDEX_STORE_PATH.
1986 * Configurations/DebugRelease.xcconfig:
1988 2017-06-10 Devin Rousso <drousso@apple.com>
1990 Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
1991 https://bugs.webkit.org/show_bug.cgi?id=173185
1993 Reviewed by Joseph Pecoraro.
1995 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1996 (WebInspector.ResourceDetailsSidebarPanel):
1997 (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
1998 (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
1999 Maintain a member variable flag such that event listeners are only removed if it is true.
2000 It is only set to true once the event listeners are added.
2002 2017-06-09 Devin Rousso <drousso@apple.com>
2004 Web Inspector: REGRESSION(r217258): Misspelled variable names
2005 https://bugs.webkit.org/show_bug.cgi?id=173189
2007 Reviewed by Joseph Pecoraro.
2009 * UserInterface/Base/Main.js:
2010 (WebInspector.tabContentViewClassForRepresentedObject):
2011 * UserInterface/Views/ResourceIcons.css:
2012 (.large :matches(.resource-icon.resource-type-stylesheet, .stylesheet-icon) .icon):
2013 (.large .resource-icon.resource-type-stylesheet .icon): Deleted.
2015 2017-06-09 Joseph Pecoraro <pecoraro@apple.com>
2017 Web Inspector: Web inspector does not show non-shadow children of an element with a shadow root (e.g. <video>)
2018 https://bugs.webkit.org/show_bug.cgi?id=173121
2019 <rdar://problem/30948943>
2021 Reviewed by Matt Baker.
2023 * UserInterface/Models/DOMNode.js:
2024 (WebInspector.DOMNode):
2025 Only populate _children when we have both the shadowRoots and
2026 actual children payloads. Backends always send shadowRoots but
2027 only send children when requested. So if we have shadowRoots
2028 but expect actual children, don't populate _children until we
2029 request the child nodes.
2031 2017-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
2033 Remove legacy INSPECTOR_SERVER implementation
2034 https://bugs.webkit.org/show_bug.cgi?id=172966
2036 Reviewed by Žan Doberšek.
2038 Remove InspectorFrontendHostStub and thr web sockets initialization.
2040 * UserInterface/Base/InspectorFrontendHostStub.js: Removed.
2041 * UserInterface/Base/Main.js:
2042 (WebInspector.loaded):
2043 * UserInterface/Main.html:
2044 * UserInterface/Test.html:
2045 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2046 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2048 2017-06-07 Devin Rousso <drousso@apple.com>
2050 Web Inspector: Add ContextMenu item to log WebSocket object to console
2051 https://bugs.webkit.org/show_bug.cgi?id=172878
2053 Reviewed by Joseph Pecoraro.
2055 * Localizations/en.lproj/localizedStrings.js:
2057 * UserInterface/Protocol/RemoteObject.js:
2058 (WebInspector.RemoteObject.resolveWebSocket):
2060 * UserInterface/Views/ResourceTreeElement.js:
2061 (WebInspector.ResourceTreeElement.prototype.populateContextMenu):
2063 2017-06-07 Devin Rousso <drousso@apple.com>
2065 Web Inspector: Allow user to choose stylesheet when creating new rules
2066 https://bugs.webkit.org/show_bug.cgi?id=172487
2068 Reviewed by Joseph Pecoraro.
2070 * Localizations/en.lproj/localizedStrings.js:
2071 * UserInterface/Models/DOMNodeStyles.js:
2072 (WebInspector.DOMNodeStyles.prototype.addRule.inspectorStyleSheetAvailable):
2073 (WebInspector.DOMNodeStyles.prototype.addRule):
2074 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2075 (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
2076 (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonContextMenu):
2077 * UserInterface/Views/RulesStyleDetailsPanel.js:
2078 (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
2079 (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonContextMenu):
2080 * UserInterface/Views/VisualStyleSelectorSection.js:
2081 (WebInspector.VisualStyleSelectorSection):
2082 (WebInspector.VisualStyleSelectorSection.prototype._addNewRuleContextMenu):
2083 (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): Renamed _addNewRuleClick.
2085 2017-06-06 Joseph Pecoraro <pecoraro@apple.com>
2087 Unreviewed rollout r217807. Caused a test to crash.
2089 * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
2090 (WebInspector.HeapSnapshotNodeProxy):
2091 (WebInspector.HeapSnapshotNodeProxy.deserialize):
2092 * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
2093 (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
2094 * UserInterface/Views/HeapSnapshotClusterContentView.js:
2095 (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
2096 * UserInterface/Views/HeapSnapshotDataGridTree.js:
2097 (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
2098 * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2099 (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
2100 (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
2101 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2103 (HeapSnapshot.updateCategoriesAndMetadata):
2104 (HeapSnapshot.prototype.serializeNode):
2105 (HeapSnapshot.prototype._gcRootPathes.visitNode):
2106 (HeapSnapshot.prototype._gcRootPathes):
2108 2017-06-05 Joseph Pecoraro <pecoraro@apple.com>
2110 Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
2111 https://bugs.webkit.org/show_bug.cgi?id=172848
2112 <rdar://problem/25709212>
2114 Reviewed by Saam Barati.
2116 * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2118 Support the new snapshot version. The only thing that changes are the
2119 node flags, and its actually completely compatible with version 1.
2121 (HeapSnapshot.updateCategoriesAndMetadata):
2122 List the count of object type instances in each class category.
2124 (HeapSnapshot.prototype.serializeNode):
2125 Include whether or not the node is an object type.
2127 * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
2128 (WebInspector.HeapSnapshotNodeProxy):
2129 (WebInspector.HeapSnapshotNodeProxy.deserialize):
2130 Add a new Node isObjectType property based on the new data.
2132 * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
2133 (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
2134 * UserInterface/Views/HeapSnapshotClusterContentView.js:
2135 (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
2136 If a class contains 50% or more object type instances then it as such
2137 instead of defaulting to native.
2139 * UserInterface/Views/HeapSnapshotDataGridTree.js:
2140 (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
2141 * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2142 (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
2143 We can be more specific than the default if the individual instance is
2144 known to be an object type.
2146 2017-06-02 Devin Rousso <drousso@apple.com>
2148 Web Inspector: Don't create NavigationSidebarPanel classes until they are needed by a Tab
2149 https://bugs.webkit.org/show_bug.cgi?id=172621
2151 Reviewed by Timothy Hatcher.
2153 * UserInterface/Views/ContentBrowserTabContentView.js:
2154 (WebInspector.ContentBrowserTabContentView):
2155 (WebInspector.ContentBrowserTabContentView.prototype.shown):
2156 * UserInterface/Views/TabContentView.js:
2157 (WebInspector.TabContentView):
2158 (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
2160 * UserInterface/Views/NetworkTabContentView.js:
2161 (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
2162 * UserInterface/Views/SearchTabContentView.js:
2163 (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
2164 Use public getter for navigationSidebarPanel.
2166 * UserInterface/Views/ResourceSidebarPanel.js:
2167 (WebInspector.ResourceSidebarPanel):
2168 (WebInspector.ResourceSidebarPanel.prototype.initialLayout): Added.
2169 Load information about the current frame once the sidebar panel is displayed.
2171 2017-06-02 Devin Rousso <drousso@apple.com>
2173 Web Inspector: Use initialLayout for DetailsSidebarPanel classes
2174 https://bugs.webkit.org/show_bug.cgi?id=172381
2176 Reviewed by Timothy Hatcher.
2178 * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
2179 (WebInspector.ApplicationCacheDetailsSidebarPanel):
2180 (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.initialLayout): Added.
2181 (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.layout):
2182 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2183 (WebInspector.DOMNodeDetailsSidebarPanel):
2184 (WebInspector.DOMNodeDetailsSidebarPanel.prototype.initialLayout): Added.
2185 (WebInspector.DOMNodeDetailsSidebarPanel.prototype.layout):
2186 * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
2187 (WebInspector.IndexedDatabaseDetailsSidebarPanel):
2188 (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.initialLayout): Added.
2189 (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
2190 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2191 (WebInspector.LayerTreeDetailsSidebarPanel):
2192 (WebInspector.LayerTreeDetailsSidebarPanel.prototype.initialLayout): Added.
2193 (WebInspector.LayerTreeDetailsSidebarPanel.prototype.layout):
2194 * UserInterface/Views/ProbeDetailsSidebarPanel.js:
2195 (WebInspector.ProbeDetailsSidebarPanel):
2196 (WebInspector.ProbeDetailsSidebarPanel.prototype.initialLayout): Added.
2197 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2198 (WebInspector.ResourceDetailsSidebarPanel):
2199 (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
2200 (WebInspector.ResourceDetailsSidebarPanel.prototype.initialLayout): Added.
2201 (WebInspector.ResourceDetailsSidebarPanel.prototype.layout):
2202 (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
2204 2017-06-02 Devin Rousso <drousso@apple.com>
2206 Web Inspector: The CodeMirror instance in the ConsolePrompt does't need to be refreshed each time it is shown
2207 https://bugs.webkit.org/show_bug.cgi?id=172608
2209 Reviewed by Timothy Hatcher.
2211 * UserInterface/Views/ConsolePrompt.js:
2212 (WebInspector.ConsolePrompt.prototype.shown): Deleted.
2213 * UserInterface/Views/DatabaseContentView.js:
2214 (WebInspector.DatabaseContentView.prototype.shown): Deleted.
2215 * UserInterface/Views/QuickConsole.js:
2216 (WebInspector.QuickConsole):
2218 2017-06-02 Devin Rousso <drousso@apple.com>
2220 Web Inspector: Attributes table in Node Details Sidebar should have editable keys and values
2221 https://bugs.webkit.org/show_bug.cgi?id=167076
2222 <rdar://problem/30033629>
2224 Reviewed by Timothy Hatcher.
2226 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2227 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
2228 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributeNodeValueChanged):
2229 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid): Deleted.
2230 Rework creation of the attributes DataGrid so that it is only created once and cleared for
2231 new content. Nodes in the DataGrid are now EditableDataGridNode instances so that attribute
2232 names and values can be changed from within the sidebar. The DataGrid is also sorted based
2233 on attribute name, to make finding attributes easier.
2235 * UserInterface/Views/DataGrid.css:
2236 (.data-grid tr.editable .cell-content > input):
2237 (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
2239 * UserInterface/Views/DetailsSection.css:
2240 (.details-section > .content .data-grid tr:not(.editable) td.value-column):
2241 (.details-section > .content .data-grid tr:not(.editable) td.value-column > div):
2242 (.details-section > .content .data-grid td.value-column): Deleted.
2243 (.details-section > .content .data-grid td.value-column > div): Deleted.
2245 * UserInterface/Main.html:
2246 * UserInterface/Views/EditableDataGridNode.js: Added.
2247 (WebInspector.EditableDataGridNode):
2248 (WebInspector.EditableDataGridNode.prototype.get element):
2249 (WebInspector.EditableDataGridNode.prototype.createCellContent):
2250 (WebInspector.EditableDataGridNode.prototype._handleKeyPress):
2251 (WebInspector.EditableDataGridNode.prototype._handleBlur):
2252 (WebInspector.EditableDataGridNode.prototype._notifyInputElementValueChanged):
2253 Special type of DataGridNode that wraps the content of each cell in an <input>.
2255 2017-06-02 Devin Rousso <drousso@apple.com>
2257 Web Inspector: Existing query in Search tab doesn't perform search on reload
2258 https://bugs.webkit.org/show_bug.cgi?id=172663
2260 Reviewed by Timothy Hatcher.
2262 * Localizations/en.lproj/localizedStrings.js:
2264 * UserInterface/Views/SearchSidebarPanel.css:
2265 (.sidebar > .panel.navigation.search.changed > .banner):
2266 (.sidebar > .panel.navigation.search.changed > .banner > a):
2267 (.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)):
2269 * UserInterface/Views/SearchSidebarPanel.js:
2270 (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
2271 (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
2272 (WebInspector.SearchSidebarPanel.prototype._contentChanged):
2273 Listen for any "resource added" event, and show the content changed banner when one occurs.
2275 2017-06-02 Devin Rousso <drousso@apple.com>
2277 Web Inspector: Should see active Web Sockets when opening Web Inspector
2278 https://bugs.webkit.org/show_bug.cgi?id=172312
2280 Reviewed by Joseph Pecoraro.
2282 * UserInterface/Controllers/FrameResourceManager.js:
2283 (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
2284 (WebInspector.FrameResourceManager.prototype.initialize): Removed.
2285 Rework order of agent enable calls to ensure that the main frame is initialized before any
2286 websocket events are dispatched.
2288 * UserInterface/Models/WebSocketResource.js:
2289 (WebInspector.WebSocketResource.ReadyState):
2290 Change symbol strings in enum for better printing in tests.
2292 2017-06-01 Ryan Haddad <ryanhaddad@apple.com>
2294 Unreviewed, rolling out r217691.
2296 This change broke the Windows build.
2300 "Web Inspector: Should see active Web Sockets when opening Web
2302 https://bugs.webkit.org/show_bug.cgi?id=172312
2303 http://trac.webkit.org/changeset/217691
2305 2017-06-01 Devin Rousso <drousso@apple.com>
2307 Web Inspector: Should see active Web Sockets when opening Web Inspector
2308 https://bugs.webkit.org/show_bug.cgi?id=172312
2310 Reviewed by Joseph Pecoraro.
2312 * UserInterface/Controllers/FrameResourceManager.js:
2313 (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
2314 (WebInspector.FrameResourceManager.prototype.initialize): Removed.
2315 Rework order of agent enable calls to ensure that the main frame is initialized before any
2316 websocket events are dispatched.
2318 * UserInterface/Models/WebSocketResource.js:
2319 (WebInspector.WebSocketResource.ReadyState):
2320 Change symbol strings in enum for better printing in tests.
2322 2017-06-01 Nikita Vasilyev <nvasilyev@apple.com>
2324 Web Inspector: Web Sockets: Unable to inspect a WebSocket that receives >50 messages per second
2325 https://bugs.webkit.org/show_bug.cgi?id=171904
2326 <rdar://problem/32095863>
2328 Reviewed by Matt Baker.
2330 Every size increase of a resource causes a sidebar item to be re-attached to the DOM. Sending or
2331 receiving a WebSocket message causes a size increase. When size increase happens too frequently,
2332 the go-to arrow starts to flicker and becomes unclickable. This patch makes sure a sidebar item gets
2333 re-attached only when its position (index) changes.
2335 * UserInterface/Views/NetworkSidebarPanel.js:
2336 Add the go-to arrow and close buttons when treeElement.status is a spinner element.
2338 (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
2339 * UserInterface/Views/ResourceTreeElement.js:
2340 (WebInspector.ResourceTreeElement.prototype._updateStatus):
2341 Setting status to "" removes the go-to arrow and close buttons in the Network tab.
2342 Only set status to "" to remove the spinner.
2344 * UserInterface/Views/TimelineDataGrid.js:
2345 (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
2346 * UserInterface/Views/TreeOutline.js:
2347 (WebInspector.TreeOutline.prototype.reattachIfIndexChanged): Added.
2349 2017-05-31 Devin Rousso <drousso@apple.com>
2351 Web Inspector: Add Debug view to Settings tab for debug settings and experimental features
2352 https://bugs.webkit.org/show_bug.cgi?id=172477
2354 Reviewed by Joseph Pecoraro.
2356 * UserInterface/Base/Setting.js:
2357 Add three new settings:
2358 - autoLogProtocolMessages
2360 - enableUncaughtExceptionReporter
2362 * UserInterface/Debug/Bootstrap.js:
2363 (WebInspector.runBootstrapOperations):
2364 Update toolbar item state when editor in Settings tab is changed.
2366 * UserInterface/Debug/UncaughtExceptionReporter.js:
2367 (handleUncaughtExceptionRecord):
2368 Return if the setting controlling the uncaught exception reporter is disabled.
2370 * UserInterface/Protocol/InspectorBackend.js:
2371 (InspectorBackendClass):
2372 (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
2373 (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
2374 (InspectorBackendClass.prototype.set dumpInspectorTimeStats):
2375 (InspectorBackendClass.prototype.get dumpInspectorTimeStats):
2376 Replace member variables and private Setting objects with items on WebInspector.settings.
2378 * UserInterface/Main.html:
2379 * UserInterface/Views/GeneralSettingsView.js: Removed.
2380 Consolidated into SettingsTabContentView.
2382 * UserInterface/Views/SettingsTabContentView.js:
2383 (WebInspector.SettingsTabContentView):
2384 (WebInspector.SettingsTabContentView.prototype.initialLayout):
2385 (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
2386 (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
2387 (WebInspector.SettingsTabContentView.prototype._updateDebugSettingsViewVisibility):
2389 * UserInterface/Views/SettingsView.js:
2390 (WebInspector.SettingsView.prototype.addGroupWithCustomSetting):
2392 2017-05-31 Fujii Hironori <Hironori.Fujii@sony.com>
2394 [GTK] Web Inspector: BackForwardArrows.svg is not shown
2395 https://bugs.webkit.org/show_bug.cgi?id=172741
2397 Reviewed by Carlos Garcia Campos.
2399 * UserInterface/Images/gtk/BackForwardArrows.svg: Renamed id names to match with Apple's images.
2401 2017-05-30 Joseph Pecoraro <pecoraro@apple.com>
2403 Web Inspector: images dragged from Inspector to Desktop are named "Unknown.png"
2404 https://bugs.webkit.org/show_bug.cgi?id=141515
2405 <rdar://problem/9251308>
2407 Reviewed by Wenson Hsieh.
2409 * UserInterface/Views/ImageResourceContentView.js:
2410 (WebInspector.ImageResourceContentView.prototype.contentAvailable):
2411 Set a non-standard "filename" attribute to provide a suggested filename
2412 for this <img> containing data: or blob: content.
2414 2017-05-30 Fujii Hironori <Hironori.Fujii@sony.com>
2416 [GTK] Web Inspector: Add DOM breakpoint image for GTK+
2417 https://bugs.webkit.org/show_bug.cgi?id=169326
2419 Reviewed by Carlos Garcia Campos.
2421 * UserInterface/Images/gtk/DOMBreakpoint.svg: Added.
2423 2017-05-28 Dan Bernstein <mitz@apple.com>
2425 [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
2426 https://bugs.webkit.org/show_bug.cgi?id=172691
2428 Reviewed by Tim Horton.
2430 * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
2432 2017-05-26 Devin Rousso <drousso@apple.com>
2434 Web Inspector: Reloading the page after switching from the Resource tab switches back
2435 https://bugs.webkit.org/show_bug.cgi?id=172622
2437 Reviewed by Joseph Pecoraro.
2439 * UserInterface/Views/DebuggerSidebarPanel.js:
2440 (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
2441 * UserInterface/Views/ResourceSidebarPanel.js:
2442 (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2443 * UserInterface/Views/SearchSidebarPanel.js:
2444 (WebInspector.SearchSidebarPanel.prototype._treeSelectionDidChange):
2445 Don't show the newly selected tree element's represented object if the sidebar is not visible.
2447 2017-05-26 Devin Rousso <drousso@apple.com>
2449 Web Inspector: New Tab contents have extra vertical spacing when wrapped
2450 https://bugs.webkit.org/show_bug.cgi?id=172530
2452 Reviewed by Joseph Pecoraro.
2454 * UserInterface/Views/NewTabContentView.css:
2455 (.new-tab.tab.content-view):
2457 2017-05-26 Fujii Hironori <Hironori.Fujii@sony.com>
2459 [GTK] Web Inspector: Add new GTK+ icons for Web Sockets
2460 https://bugs.webkit.org/show_bug.cgi?id=172296
2462 Reviewed by Carlos Garcia Campos.
2464 Add more free icons for the Web Inspector of GTK+ port.
2466 * UserInterface/Images/gtk/WebSocket.png: Added.
2467 * UserInterface/Images/gtk/WebSocket@2x.png: Added.
2468 * UserInterface/Images/gtk/WebSocketLarge.png: Added.
2469 * UserInterface/Images/gtk/WebSocketLarge@2x.png: Added.
2470 * UserInterface/Views/ResourceIcons.css:
2471 (.resource-icon.resource-type-websocket .icon):
2472 (.large .resource-icon.resource-type-websocket .icon):
2473 (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon): Deleted.
2474 (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon): Deleted.
2476 2017-05-25 Devin Rousso <drousso@apple.com>
2478 Web Inspector: Don't create DetailsSidebarPanel classes until they are needed by a Tab
2479 https://bugs.webkit.org/show_bug.cgi?id=172393
2481 Reviewed by Joseph Pecoraro.
2483 * UserInterface/Base/Main.js:
2484 (WebInspector.contentLoaded):
2485 Remove global instantiation of all DetailsSidebarPanel objects.
2487 (WebInspector.instanceForClass):
2488 Utility function for creating and accessing an instance of a given class.
2490 * UserInterface/Views/ContentBrowserTabContentView.js:
2491 (WebInspector.ContentBrowserTabContentView):
2492 * UserInterface/Views/DebuggerTabContentView.js:
2493 (WebInspector.DebuggerTabContentView):
2494 (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
2495 * UserInterface/Views/ElementsTabContentView.js:
2496 (WebInspector.ElementsTabContentView):
2497 * UserInterface/Views/NetworkTabContentView.js:
2498 (WebInspector.NetworkTabContentView):
2499 * UserInterface/Views/ResourcesTabContentView.js:
2500 (WebInspector.ResourcesTabContentView):
2501 * UserInterface/Views/SearchTabContentView.js:
2502 (WebInspector.SearchTabContentView):
2503 * UserInterface/Views/StorageTabContentView.js:
2504 (WebInspector.StorageTabContentView):
2505 * UserInterface/Views/TabContentView.js:
2506 (WebInspector.TabContentView):
2507 (WebInspector.TabContentView.prototype.get detailsSidebarPanels):
2508 * UserInterface/Views/TimelineTabContentView.js:
2509 (WebInspector.TimelineTabContentView):
2510 Now accepts an array of DetailsSidebarPanel classes that are all instantiated when they are
2511 about to be added to the DetailsSidebar.
2513 2017-05-25 Devin Rousso <drousso@apple.com>
2515 Web Inspector: Changing the width of a Sidebar when it's collapsed shouldn't trigger a layout
2516 https://bugs.webkit.org/show_bug.cgi?id=172606
2518 Reviewed by Matt Baker.
2520 * UserInterface/Views/Sidebar.js:
2521 (WebInspector.Sidebar.prototype._recalculateWidth):
2523 2017-05-25 Fujii Hironori <Hironori.Fujii@sony.com>
2525 [GTK] Web Inspector: Add ListStylePositionInside.svg and ListStylePositionOutside.svg
2526 https://bugs.webkit.org/show_bug.cgi?id=172574
2528 Reviewed by Michael Catanzaro.
2530 Add more free icons for the Web Inspector of GTK+ port.
2532 * UserInterface/Images/gtk/ListStylePositionInside.svg: Added.
2533 * UserInterface/Images/gtk/ListStylePositionOutside.svg: Added.
2535 2017-05-25 Fujii Hironori <Hironori.Fujii@sony.com>
2537 [GTK] Web Inspector: Add new icons AnimationPlayStatePaused.svg and AnimationPlayStateRunning.svg
2538 https://bugs.webkit.org/show_bug.cgi?id=172579
2540 Reviewed by Michael Catanzaro.
2542 Add more free icons for the Web Inspector of GTK+ port.
2544 * UserInterface/Images/gtk/AnimationPlayStatePaused.svg: Added.
2545 * UserInterface/Images/gtk/AnimationPlayStateRunning.svg: Added.
2547 2017-05-24 Fujii Hironori <Hironori.Fujii@sony.com>
2549 [GTK] Web Inspector: Add new GTK+ icons for garbage collect and clean buttons in Console
2550 https://bugs.webkit.org/show_bug.cgi?id=167356
2552 Reviewed by Michael Catanzaro.
2554 * UserInterface/Images/gtk/NavigationItemClear.svg: Aligned for 16x16 dimension.
2555 * UserInterface/Images/gtk/NavigationItemGarbageCollect.svg: Added.
2556 * UserInterface/Views/LogContentView.js:
2557 (WebInspector.LogContentView): Removed the Clear image dimension's conditional expression.
2558 * UserInterface/Views/NetworkGridContentView.js:
2559 (WebInspector.NetworkGridContentView): Ditto.
2560 * UserInterface/Views/TimelineRecordingContentView.js:
2561 (WebInspector.TimelineRecordingContentView): Ditto.
2563 2017-05-24 Devin Rousso <drousso@apple.com>
2565 Web Inspector: Don't load the active recording until a Timeline view needs to be shown
2566 https://bugs.webkit.org/show_bug.cgi?id=172467
2568 Reviewed by Joseph Pecoraro.
2570 * UserInterface/Views/TimelineTabContentView.js:
2571 (WebInspector.TimelineTabContentView):
2572 (WebInspector.TimelineTabContentView.prototype.restoreFromCookie):
2573 (WebInspector.TimelineTabContentView.prototype._showTimelineViewForType):
2574 Move the call to `_recordingLoaded` to when a timeline view needs to be shown and only if
2575 `_displayedRecording` isn't already set. This delays the creation of the content view for
2576 the recording to right before it needs to be displayed.
2579 2017-05-23 Matt Baker <mattbaker@apple.com>
2581 Web Inspector: content views are not restored on reload if its tree element is filtered out
2582 https://bugs.webkit.org/show_bug.cgi?id=165744
2583 <rdar://problem/27461323>
2585 Reviewed by Devin Rousso.
2587 By default, NavigationSidebar should get the selected represented object
2588 from its content browser, instead of relying on the tree selection. This
2589 allows a filtered tree selection to persist across page loads.
2591 * UserInterface/Views/NavigationSidebarPanel.js:
2592 (WebInspector.NavigationSidebarPanel.prototype.get currentRepresentedObject):
2593 (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
2594 Get the represented object from the content browser instead of relying
2595 on the tree selection (which can be filtered out).
2597 (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2598 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2599 (WebInspector.NavigationSidebarPanel.prototype._treeElementWasFiltered):
2600 Reselect the represented object's tree element when it is shown due
2601 to a change in the filter state.
2603 (WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement): Deleted.
2605 (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered): Deleted.
2606 Not used. Replaced by _treeElementWasFiltered.
2608 2017-05-23 Matt Baker <mattbaker@apple.com>
2610 Web Inspector: Cannot delete a disabled XHR breakpoint
2611 https://bugs.webkit.org/show_bug.cgi?id=171971
2612 <rdar://problem/32129527>
2614 Reviewed by Devin Rousso.
2616 * UserInterface/Controllers/DOMDebuggerManager.js:
2617 (WebInspector.DOMDebuggerManager.prototype.removeXHRBreakpoint):
2618 Dispatch XHRBreakpointRemoved event before removing the breakpoint from
2619 the backend. A disabled breakpoint will have already been removed, and
2620 an enabled breakpoint that fails to get removed from the backend should
2621 be removed from the frontend, to prevent it being resolved in the future.
2622 Drive-by fix: remove spurious dispatch of DOMBreakpointRemoved event.
2624 (WebInspector.DOMDebuggerManager.prototype._detachXHRBreakpoint): Deleted.
2625 Merged with removeXHRBreakpoint to simplify implementation.
2627 2017-05-23 Devin Rousso <drousso@apple.com>
2629 Web Inspector: use initialLayout for NetworkSidebarPanel
2630 https://bugs.webkit.org/show_bug.cgi?id=172470
2632 Reviewed by Joseph Pecoraro.
2634 * UserInterface/Views/NetworkSidebarPanel.js:
2635 (WebInspector.NetworkSidebarPanel):
2636 (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
2637 (WebInspector.NetworkSidebarPanel.prototype.initialLayout):
2638 Don't create NetworkGridContentView until right before it is shown.
2640 2017-05-23 Fujii Hironori <Hironori.Fujii@sony.com>
2642 [GTK] Web Inspector: Add a new icon DockLeft.svg
2643 https://bugs.webkit.org/show_bug.cgi?id=172492
2645 Reviewed by Carlos Garcia Campos.
2647 * UserInterface/Images/gtk/DockLeft.svg: Added.
2649 2017-05-23 Fujii Hironori <Hironori.Fujii@sony.com>
2651 [GTK] Web Inspector: Add a new icon CSSVariable.svg
2652 https://bugs.webkit.org/show_bug.cgi?id=172491
2654 Reviewed by Carlos Garcia Campos.
2656 * UserInterface/Images/gtk/CSSVariable.svg: Added.
2658 2017-05-22 Devin Rousso <drousso@apple.com>
2660 Web Inspector: Changes are not applied in CSS sidebar when switching to Resources tab without blurring editor
2661 https://bugs.webkit.org/show_bug.cgi?id=172388
2663 Reviewed by Joseph Pecoraro.
2665 * UserInterface/Views/CSSStyleDeclarationSection.js:
2666 (WebInspector.CSSStyleDeclarationSection.prototype.refreshEditor):
2667 * UserInterface/Views/RulesStyleDetailsPanel.js:
2668 (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused):
2669 (WebInspector.RulesStyleDetailsPanel.prototype.shown):
2670 When showing the StyleDetailsPanel, if there is an active editor, which is now saved each
2671 time one becomes focused, force an update of that editor's content.
2673 2017-05-22 Joseph Pecoraro <pecoraro@apple.com>
2675 Web Inspector: New Tab contents not centered vertically
2676 https://bugs.webkit.org/show_bug.cgi?id=172486
2678 Reviewed by Devin Rousso.
2680 * UserInterface/Views/NewTabContentView.css:
2681 (.new-tab.tab.content-view):
2682 Use align-items instead of align-content.
2684 2017-05-22 Devin Rousso <drousso@apple.com>
2686 Web Inspector: New CSS Rules should go into a new Stylesheet Resource that can be viewed/edited/saved
2687 https://bugs.webkit.org/show_bug.cgi?id=138810
2689 Reviewed by Joseph Pecoraro.
2691 * Localizations/en.lproj/localizedStrings.js:
2693 * UserInterface/Controllers/CSSStyleManager.js:
2694 (WebInspector.CSSStyleManager):
2695 (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
2696 (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
2697 Manually dispatch a change event for modifications to CSSStyleSheet objects since they are
2698 not covered by the listener for Resource changes.
2700 * UserInterface/Main.html:
2701 Include WebInspector.CSSStyleSheetTreeElement.
2703 * UserInterface/Models/Collection.js:
2704 (WebInspector.Collection.TypeVerifier):
2705 * UserInterface/Models/ResourceCollection.js:
2706 (WebInspector.ResourceCollection.TypeVerifier.Stylesheet):
2707 Add TypeVerifier for CSSStyleSheet.
2709 * UserInterface/Models/DOMNodeStyles.js:
2710 (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
2711 Manually create a SourceCodeLocation object for Inspector Style Sheets.
2713 * UserInterface/Views/CSSStyleSheetTreeElement.js: Added.
2714 (WebInspector.CSSStyleSheetTreeElement):
2716 * UserInterface/Views/ResourceIcons.css:
2717 (:matches(.resource-icon.resource-type-stylesheet, .stylessheet-icon) .icon):
2719 * UserInterface/Views/FrameTreeElement.js:
2720 (WebInspector.FrameTreeElement.forwardingConstructor):
2721 (WebInspector.FrameTreeElement):
2722 (WebInspector.FrameTreeElement.prototype.onattach):
2723 (WebInspector.FrameTreeElement.prototype.ondetach):
2724 (WebInspector.FrameTreeElement.prototype.onpopulate):
2725 (WebInspector.FrameTreeElement.prototype._styleSheetAdded):
2726 * UserInterface/Views/ResourceSidebarPanel.js:
2727 (WebInspector.ResourceSidebarPanel):
2728 (WebInspector.ResourceSidebarPanel.prototype._styleSheetAdded):
2729 (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2730 Listen for the creation of CSSStyleSheet objects and add them to the sidebar if they are an
2731 Inspector Style Sheet. Regular style sheets are added via their respective resources.
2733 * UserInterface/Views/NavigationSidebarPanel.js:
2734 (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
2735 Prevent CSSStyleSheetTreeElement instances from attempting to save state to a cookie.
2737 * UserInterface/Base/Main.js:
2738 (WebInspector.tabContentViewClassForRepresentedObject):
2739 (WebInspector.createSourceCodeLocationLink):
2740 * UserInterface/Views/ContentView.js:
2741 (WebInspector.ContentView.createFromRepresentedObject):
2742 (WebInspector.ContentView.isViewable):
2743 * UserInterface/Views/CSSStyleDeclarationSection.js:
2744 (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2745 * UserInterface/Views/ResourcesTabContentView.js:
2746 (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
2747 * UserInterface/Views/ResourceContentView.js:
2748 (WebInspector.ResourceContentView):
2749 * UserInterface/Views/SourceCodeTextEditor.js:
2750 (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
2751 (WebInspector.SourceCodeTextEditor.prototype._looselyMatchesSourceCodeLocation):
2752 (WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation):
2753 * UserInterface/Views/TextResourceContentView.js:
2754 (WebInspector.TextResourceContentView):
2755 (WebInspector.TextResourceContentView.prototype.get supportsSave):
2756 (WebInspector.TextResourceContentView.prototype.get saveData):
2757 (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
2758 (WebInspector.TextResourceContentView.prototype._shouldBeEditable):
2759 Support editing and saving an Inspector Style Sheet via its CSSStyleSheet object.
2761 2017-05-22 Brian Burg <bburg@apple.com>
2763 Web Inspector: webkit reload policy should match default behavior
2764 https://bugs.webkit.org/show_bug.cgi?id=171385
2765 <rdar://problem/31871515>
2767 Reviewed by Joseph Pecoraro.
2769 * UserInterface/Base/Main.js:
2770 Use PageAgent.reload.invoke to make the reload options more explicit.
2772 * UserInterface/Test/FrontendTestHarness.js:
2773 (FrontendTestHarness.prototype.reloadPage):
2774 Convert this method to take an options dictionary rather than positional
2775 boolean arguments. Update call sites to pass correct options.
2777 When running tests, we want to revalidate unexpired resources, as there
2778 does not seem to be another reliable way to trigger revalidated cached
2779 resources from a Web Inspector layout test. Make this behavior the default.
2781 2017-05-22 Simon Fraser <simon.fraser@apple.com>
2783 Support transform-box to switch sizing box in SVG
2784 https://bugs.webkit.org/show_bug.cgi?id=145783
2786 Reviewed by Dean Jackson.
2788 Add transform-box to the list of autocompletions.
2790 * UserInterface/External/CodeMirror/css.js:
2792 2017-05-22 Brian Burg <bburg@apple.com>
2794 Web Inspector: RTL: In Timelines > JavaScript & Events, digits for sample count are not localized
2795 https://bugs.webkit.org/show_bug.cgi?id=171819
2797 Reviewed by Matt Baker.
2799 * UserInterface/Views/ScriptTimelineDataGridNode.js:
2800 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
2802 2017-05-22 Nikita Vasilyev <nvasilyev@apple.com>
2804 Web Inspector: RTL: Text in autocomplete popover should be aligned left
2805 https://bugs.webkit.org/show_bug.cgi?id=171998
2807 Reviewed by Brian Burg.
2809 Autocomplete popover is only used for CSS and JavaScript, and
2810 these should always be shown as LTR text.
2812 * UserInterface/Views/CompletionSuggestionsView.css:
2813 (.completion-suggestions):
2815 2017-05-22 Fujii Hironori <Hironori.Fujii@sony.com>
2817 [GTK] Web Inspector: Add active call frame indicator image
2818 https://bugs.webkit.org/show_bug.cgi?id=161987
2819 <rdar://problem/28307419>
2821 Reviewed by Carlos Garcia Campos.
2823 Add a free icon for the Web Inspector of GTK port.
2825 * UserInterface/Images/gtk/ActiveCallFrame.svg: Added.
2827 2017-05-19 Devin Rousso <drousso@apple.com>
2829 Web Inspector: Use initialLayout for Settings tab
2830 https://bugs.webkit.org/show_bug.cgi?id=172304
2832 Reviewed by Matt Baker.
2834 * UserInterface/Views/GeneralSettingsView.js:
2835 (WebInspector.GeneralSettingsView.prototype.initialLayout):
2836 Move listener for zoom factor to only update that editor.
2838 * UserInterface/Views/SettingsTabContentView.js:
2839 (WebInspector.SettingsTabContentView):
2840 (WebInspector.SettingsTabContentView.prototype.initialLayout): Added.
2841 It is not necessary to create the UI for editing settings until the Settings tab is shown.
2842 Use initialLayout to ensure UI gets created exactly once, after the tab is selected.
2844 2017-05-18 Devin Rousso <drousso@apple.com>
2846 REGRESSION (r?): Web Inspector: Shift-click on color square in Styles sidebar should not select text
2847 https://bugs.webkit.org/show_bug.cgi?id=171902
2849 Reviewed by Matt Baker.
2851 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2852 (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
2853 Do not attempt to select text if the element being clicked is a bookmark (such as a swatch).
2855 2017-05-18 Joseph Pecoraro <pecoraro@apple.com>
2857 Web Inspector: Web Socket Document Icon
2858 https://bugs.webkit.org/show_bug.cgi?id=170023
2860 Reviewed by Matt Baker.
2862 Icons made by Jon Davis.
2864 * UserInterface/Images/WebSocket.png: Added.
2865 * UserInterface/Images/WebSocket@2x.png: Added.
2866 * UserInterface/Images/WebSocketLarge.png: Added.
2867 * UserInterface/Images/WebSocketLarge@2x.png: Added.
2868 New icons for Web Socket resources.
2870 * UserInterface/Views/ResourceIcons.css:
2871 (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon):
2872 (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon):
2875 2017-05-18 Fujii Hironori <Hironori.Fujii@sony.com>
2877 Web Inspector: [GTK] Adopt currentColor for mask SVG images
2878 https://bugs.webkit.org/show_bug.cgi?id=150603
2880 Reviewed by Carlos Garcia Campos.
2882 * UserInterface/Images/gtk/Circle.svg:
2883 * UserInterface/Images/gtk/ClearBoth.svg:
2884 * UserInterface/Images/gtk/ClearLeft.svg:
2885 * UserInterface/Images/gtk/ClearRight.svg:
2886 * UserInterface/Images/gtk/Close.svg:
2887 * UserInterface/Images/gtk/CloseLarge.svg:
2888 * UserInterface/Images/gtk/Console.svg:
2889 * UserInterface/Images/gtk/Debugger.svg:
2890 * UserInterface/Images/gtk/DockBottom.svg:
2891 * UserInterface/Images/gtk/DockRight.svg:
2892 * UserInterface/Images/gtk/DownloadArrow.svg:
2893 * UserInterface/Images/gtk/Elements.svg:
2894 * UserInterface/Images/gtk/Errors.svg:
2895 * UserInterface/Images/gtk/Eye.svg:
2896 * UserInterface/Images/gtk/FloatLeft.svg:
2897 * UserInterface/Images/gtk/FloatRight.svg:
2898 * UserInterface/Images/gtk/FontStyleItalic.svg:
2899 * UserInterface/Images/gtk/FontStyleNormal.svg:
2900 * UserInterface/Images/gtk/Gear.svg:
2901 * UserInterface/Images/gtk/Issues.svg:
2902 * UserInterface/Images/gtk/Logs.svg:
2903 * UserInterface/Images/gtk/Minus.svg:
2904 * UserInterface/Images/gtk/NavigationItemClear.svg:
2905 * UserInterface/Images/gtk/NavigationItemTrash.svg:
2906 * UserInterface/Images/gtk/Network.svg:
2907 * UserInterface/Images/gtk/NewTab.svg:
2908 * UserInterface/Images/gtk/NewTabPlus.svg:
2909 * UserInterface/Images/gtk/Pause.svg:
2910 * UserInterface/Images/gtk/Pencil.svg:
2911 * UserInterface/Images/gtk/Plus13.svg:
2912 * UserInterface/Images/gtk/Plus15.svg:
2913 * UserInterface/Images/gtk/ReloadFull.svg:
2914 * UserInterface/Images/gtk/ReloadToolbar.svg:
2915 * UserInterface/Images/gtk/Resources.svg:
2916 * UserInterface/Images/gtk/Search.svg:
2917 * UserInterface/Images/gtk/SearchResults.svg:
2918 * UserInterface/Images/gtk/SplitToggleUp.svg:
2919 * UserInterface/Images/gtk/StepInto.svg:
2920 * UserInterface/Images/gtk/StepOut.svg:
2921 * UserInterface/Images/gtk/StepOver.svg:
2922 * UserInterface/Images/gtk/Stop.svg:
2923 * UserInterface/Images/gtk/Storage.svg:
2924 * UserInterface/Images/gtk/TextAlignCenter.svg:
2925 * UserInterface/Images/gtk/TextAlignJustify.svg:
2926 * UserInterface/Images/gtk/TextAlignLeft.svg:
2927 * UserInterface/Images/gtk/TextAlignRight.svg:
2928 * UserInterface/Images/gtk/TextDecorationLineThrough.svg:
2929 * UserInterface/Images/gtk/TextDecorationOverline.svg:
2930 * UserInterface/Images/gtk/TextDecorationUnderline.svg:
2931 * UserInterface/Images/gtk/TextTransformCapitalize.svg:
2932 * UserInterface/Images/gtk/TextTransformLowercase.svg:
2933 * UserInterface/Images/gtk/TextTransformUppercase.svg:
2934 * UserInterface/Images/gtk/Time.svg:
2935 * UserInterface/Images/gtk/Timeline.svg:
2936 * UserInterface/Images/gtk/Undock.svg:
2937 * UserInterface/Images/gtk/VisualStyleNone.svg:
2938 * UserInterface/Images/gtk/VisualStylePropertyLinked.svg:
2939 * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg:
2940 * UserInterface/Images/gtk/Weight.svg:
2942 2017-05-15 Fujii Hironori <Hironori.Fujii@sony.com>
2944 [GTK] Web Inspector: Add new GTK+ icons for Search icon of Quick Open dialog
2945 https://bugs.webkit.org/show_bug.cgi?id=172110
2947 Reviewed by Michael Catanzaro.
2949 Add a free icon for the Web Inspector in GTK+.
2951 * UserInterface/Images/gtk/Search.svg: Added.
2953 2017-05-15 Fujii Hironori <Hironori.Fujii@sony.com>
2955 [GTK] Web Inspector: Add new GTK+ icons for Worker Scripts / Web Sockets
2956 https://bugs.webkit.org/show_bug.cgi?id=164138
2958 Reviewed by Michael Catanzaro.
2960 Add more free icons for the Web Inspector in GTK+.
2962 * UserInterface/Images/gtk/WorkerScript.png: Added.
2963 * UserInterface/Images/gtk/WorkerScript@2x.png: Added.
2964 * UserInterface/Images/gtk/WorkerScriptLarge.png: Added.
2965 * UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Added.
2966 * UserInterface/Views/ResourceIcons.css:
2967 (.script.worker-icon .icon):
2968 (.large .script.worker-icon .icon):
2969 (body:matches(.mac-platform, .windows-platform) .script.worker-icon .icon): Deleted.
2970 (body:matches(.mac-platform, .windows-platform) .large .script.worker-icon .icon): Deleted.
2972 2017-05-11 Nikita Vasilyev <nvasilyev@apple.com>
2974 Web Inspector: RTL: "Elements > Styles - Rules" rule and media query headers should be left aligned
2975 https://bugs.webkit.org/show_bug.cgi?id=171954
2976 <rdar://problem/31961976>
2978 Reviewed by Matt Baker.
2980 * UserInterface/Views/CSSStyleDeclarationSection.css:
2981 (.style-declaration-section > .header):
2982 (.style-declaration-section.locked > .header > .locked-icon):
2983 (.style-declaration-section > .header > .icon):
2984 (.style-declaration-section > .header > textarea):
2985 (.style-declaration-section.invalid-selector > .header > .icon):
2986 (body[dir=ltr] .style-declaration-section > .header): Deleted.
2987 (body[dir=rtl] .style-declaration-section > .header): Deleted.
2988 (body[dir=ltr] .style-declaration-section.locked > .header > .locked-icon): Deleted.
2989 (body[dir=rtl] .style-declaration-section.locked > .header > .locked-icon): Deleted.
2990 (body[dir=ltr] .style-declaration-section > .header > .icon): Deleted.
2991 (body[dir=rtl] .style-declaration-section > .header > .icon): Deleted.
2992 (body[dir=ltr] .style-declaration-section > .header > textarea): Deleted.
2993 (body[dir=rtl] .style-declaration-section > .header > textarea): Deleted.
2996 * UserInterface/Views/CSSStyleDeclarationSection.js:
2997 (WebInspector.CSSStyleDeclarationSection):
2998 Set dir="ltr" so selector's textareas work correctly.
3000 * UserInterface/Views/RulesStyleDetailsPanel.css:
3001 (.sidebar > .panel.details.css-style .rules):
3003 2017-05-11 Matt Baker <mattbaker@apple.com>
3005 Web Inspector: Error trying to delete DOM breakpoints from the Debugger tab
3006 https://bugs.webkit.org/show_bug.cgi?id=171970
3007 <rdar://problem/32129262>
3009 Reviewed by Brian Burg.
3011 In the Debugger sidebar, DOM breakpoints can be cleared from a DOM node
3012 in two ways: by using the DOM node tree element's context menu, or by
3013 pressing the delete key while the element is selected. Each method used
3014 a different code path, and the latter had an error which caused it to fail.
3016 Add a `removeDOMBreakpointsForNode` method to DOMDebuggerManager to make
3017 the operation convenient, and call it from both event handlers.
3019 * UserInterface/Controllers/DOMBreakpointTreeController.js:
3020 (WebInspector.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
3021 Use convenience method.
3023 * UserInterface/Controllers/DOMDebuggerManager.js:
3024 (WebInspector.DOMDebuggerManager.prototype.removeDOMBreakpointsForNode):
3025 Helper function for removing all of a node's breakpoints.
3027 * UserInterface/Views/DOMNodeTreeElement.js:
3028 (WebInspector.DOMNodeTreeElement.prototype.ondelete):
3029 Use convenience method.
3031 2017-05-11 Fujii Hironori <Hironori.Fujii@sony.com>
3033 [GTK] Web Inspector: Add new GTK+ icons for resources in large sizes (32px @ 1x/2x)
3034 https://bugs.webkit.org/show_bug.cgi?id=155802
3035 <rdar://problem/25320686>
3037 Reviewed by Carlos Garcia Campos.
3039 Add more free icons for the Web Inspector in GTK+.
3041 * UserInterface/Images/gtk/ClippingCSSLarge.png: Added.
3042 * UserInterface/Images/gtk/ClippingCSSLarge@2x.png: Added.
3043 * UserInterface/Images/gtk/ClippingGenericLarge.png: Added.
3044 * UserInterface/Images/gtk/ClippingGenericLarge@2x.png: Added.
3045 * UserInterface/Images/gtk/ClippingJSLarge.png: Added.
3046 * UserInterface/Images/gtk/ClippingJSLarge@2x.png: Added.
3047 * UserInterface/Images/gtk/DocumentCSSLarge.png: Added.
3048 * UserInterface/Images/gtk/DocumentCSSLarge@2x.png: Added.
3049 * UserInterface/Images/gtk/DocumentFontLarge.png: Added.
3050 * UserInterface/Images/gtk/DocumentFontLarge@2x.png: Added.
3051 * UserInterface/Images/gtk/DocumentGenericLarge.png: Added.
3052 * UserInterface/Images/gtk/DocumentGenericLarge@2x.png: Added.
3053 * UserInterface/Images/gtk/DocumentImageLarge.png: Added.
3054 * UserInterface/Images/gtk/DocumentImageLarge@2x.png: Added.
3055 * UserInterface/Images/gtk/DocumentJSLarge.png: Added.
3056 * UserInterface/Images/gtk/DocumentJSLarge@2x.png: Added.
3057 * UserInterface/Images/gtk/DocumentMarkupLarge.png: Added.
3058 * UserInterface/Images/gtk/DocumentMarkupLarge@2x.png: Added.
3060 2017-05-10 Brian Burg <bburg@apple.com>
3062 Web Inspector: RTL: in Timelines > JavaScript & Events, digits for timer and animation frame number are not localized
3063 https://bugs.webkit.org/show_bug.cgi?id=171818
3065 Reviewed by Joseph Pecoraro.
3067 These numbers need to be formatted with %d, not %s.
3069 * Localizations/en.lproj/localizedStrings.js:
3070 * UserInterface/Models/ScriptTimelineRecord.js:
3071 (WebInspector.ScriptTimelineRecord.EventType.displayName):
3073 2017-05-10 Brian Burg <bburg@apple.com>
3075 Web Inspector: remove dead code for switching Toolbar display options
3076 https://bugs.webkit.org/show_bug.cgi?id=170738
3078 Reviewed by Joseph Pecoraro.
3080 * Localizations/en.lproj/localizedStrings.js:
3081 * UserInterface/Base/Main.js:
3082 (WebInspector.contentLoaded):
3083 * UserInterface/Views/ButtonToolbarItem.css:
3084 (.toolbar .item.button > .glyph):
3085 (.toolbar .item.button > .label):
3086 (.toolbar.icon-and-label-vertical .item.button): Deleted.
3087 (.toolbar.icon-and-label-horizontal .item.button): Deleted.
3088 (.toolbar.small-size .item.button > .glyph): Deleted.
3089 (.toolbar.label-only .item.button > .glyph): Deleted.
3090 (.toolbar.label-only .item.activate.button.activated > .label): Deleted.
3091 (.toolbar.icon-and-label-horizontal .item.button > .label): Deleted.
3092 (.toolbar.icon-only .item.button > .label): Deleted.
3093 * UserInterface/Views/ControlToolbarItem.css:
3094 (.toolbar .item.control):
3095 (.toolbar:matches(.icon-and-label-horizontal, .icon-only) .item.control): Deleted.
3096 * UserInterface/Views/DashboardContainerView.css:
3097 (.toolbar .dashboard-container):
3098 (.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container): Deleted.
3099 (.toolbar.label-only .dashboard-container,): Deleted.
3100 (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
3101 (.toolbar.label-only .dashboard-container .advance-arrow): Deleted.
3102 (body[dir=ltr] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
3103 (body[dir=rtl] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
3104 * UserInterface/Views/DefaultDashboardView.css:
3105 (.toolbar .dashboard.default > .item):
3106 (.toolbar.label-only .dashboard.default > .item,): Deleted.
3107 (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item): Deleted.
3108 * UserInterface/Views/ReplayDashboardView.css:
3109 (.toolbar .dashboard.replay .item.button > .glyph):
3110 (.toolbar.label-only .dashboard.replay .item.button > .glyph): Deleted.
3111 * UserInterface/Views/Toolbar.css:
3112 (.toolbar .control-section):
3113 (.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section): Deleted.
3114 * UserInterface/Views/Toolbar.js:
3115 (WebInspector.Toolbar):
3116 (WebInspector.Toolbar.prototype.layout):
3117 (WebInspector.Toolbar.prototype.get displayMode): Deleted.
3118 (WebInspector.Toolbar.prototype.set displayMode): Deleted.
3119 (WebInspector.Toolbar.prototype.get sizeMode): Deleted.
3120 (WebInspector.Toolbar.prototype.set sizeMode): Deleted.
3121 (WebInspector.Toolbar.prototype._handleContextMenuEvent): Deleted.
3122 (WebInspector.Toolbar.prototype._changeDisplayMode): Deleted.
3123 (WebInspector.Toolbar.prototype._toggleSmallIcons): Deleted.
3125 2017-05-10 Ross Kirsling <ross.kirsling@sony.com>
3127 Web Inspector: Copy to clipboard fails via InspectorFrontendHostStub
3128 https://bugs.webkit.org/show_bug.cgi?id=171907
3130 Reviewed by Joseph Pecoraro.
3132 * UserInterface/Base/InspectorFrontendHostStub.js:
3133 (WebInspector.InspectorFrontendHostStub.prototype.copyText):
3134 Actually make a text selection before attempting to copy to clipboard.
3136 2017-05-09 Joseph Pecoraro <pecoraro@apple.com>
3138 Web Inspector: Provide resource load error reason text in details sidebar
3139 https://bugs.webkit.org/show_bug.cgi?id=171901
3140 <rdar://problem/29850995>
3142 Reviewed by Brian Burg.
3144 * Localizations/en.lproj/localizedStrings.js:
3145 * UserInterface/Controllers/FrameResourceManager.js:
3146 (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
3147 * UserInterface/Models/Resource.js:
3148 (WebInspector.Resource):
3149 (WebInspector.Resource.prototype.get failureReasonText):
3150 (WebInspector.Resource.prototype.markAsFailed):
3151 * UserInterface/Protocol/NetworkObserver.js:
3152 (WebInspector.NetworkObserver.prototype.loadingFailed):
3153 Include the error text we got from the backend. In most cases this should
3154 be a localized error description.
3156 * UserInterface/Views/ResourceDetailsSidebarPanel.js:
3157 (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
3158 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshErrorReason):
3159 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
3160 Include an Error field alongside the status code section when there was an error.
3162 2017-05-09 Fujii Hironori <Hironori.Fujii@sony.com>
3164 [GTK][Win] Web Inspector: Cann't open "Quick Open" dialog by pressing Ctrl+Shift+O
3165 https://bugs.webkit.org/show_bug.cgi?id=171798
3167 Reviewed by Michael Catanzaro.
3169 PC can't input the shortcut keys Command+Shift+O and Command+P.
3171 * UserInterface/Base/Main.js:
3172 (WebInspector.contentLoaded): Use CommandOrControl instead of Command.
3174 2017-05-09 Brian Burg <bburg@apple.com>
3176 Web Inspector: Assertion failed: Cannot select item with unexpected parent bar. (at NavigationBar.js:132)
3177 https://bugs.webkit.org/show_bug.cgi?id=171885
3179 Reviewed by Matt Baker.
3181 This new assertion revealed a real misuse of the NavigationBar API.
3183 * UserInterface/Views/NavigationBar.js:
3184 (WebInspector.NavigationBar.prototype.set selectedNavigationItem):
3185 Improve this to be an assertion so it can be paused at using the debugger.
3187 * UserInterface/Views/TimelineTabContentView.js:
3188 (WebInspector.TimelineTabContentView.prototype._changeViewMode):
3189 We need to set a NavigationItem as the selected item, not its identifier.
3190 Look up the corresponding item for the identifier that we received (the view mode).
3192 2017-05-08 Brian Burg <bburg@apple.com>
3194 Web Inspector: RTL: box model labels have bad alignment
3195 https://bugs.webkit.org/show_bug.cgi?id=171817
3197 Reviewed by Joseph Pecoraro.
3199 * UserInterface/Views/BoxModelDetailsSectionRow.css:
3200 (.details-section .row.box-model .label):
3201 (body[dir=ltr] .details-section .row.box-model .label):
3202 (body[dir=rtl] .details-section .row.box-model .label):
3203 We can't just use a mirrored leading margin because all the
3204 text here is center-aligned. Just hardcode a reasonable value.
3206 2017-05-08 Joseph Pecoraro <pecoraro@apple.com>
3208 Web Inspector: Request/Response toggles not working
3209 https://bugs.webkit.org/show_bug.cgi?id=171833
3210 <rdar://problem/31341637>
3212 Reviewed by Brian Burg.
3214 * UserInterface/Views/HierarchicalPathNavigationItem.js:
3215 (WebInspector.HierarchicalPathNavigationItem.set components.let.componentsEqual):
3216 (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
3217 If the new components being set were shallowly equal, then they wouldn't
3218 actually be updated even if ultimately they are different. In this case
3219 the Path Components with values "request" / "response" would not update
3220 between different resources because the path components had equivalent
3221 simple values. Provide a different discriminator (comparisonData) which
3222 can be an object so these path components compare as necessarily different.
3224 * UserInterface/Views/HeapSnapshotClusterContentView.js:
3225 (WebInspector.HeapSnapshotClusterContentView.createPathComponent):
3226 (WebInspector.HeapSnapshotClusterContentView):
3227 * UserInterface/Views/ResourceClusterContentView.js:
3228 (WebInspector.ResourceClusterContentView.createPathComponent):
3229 (WebInspector.ResourceClusterContentView):
3230 (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange):
3231 * UserInterface/Views/SVGImageResourceClusterContentView.js:
3232 (WebInspector.SVGImageResourceClusterContentView):
3233 * UserInterface/Views/ScriptClusterTimelineView.js:
3234 (WebInspector.ScriptClusterTimelineView.createPathComponent):
3235 (WebInspector.ScriptClusterTimelineView):
3236 Provide comparisonData for path components cases that would need it.
3238 2017-05-08 Chris Dumez <cdumez@apple.com>
3240 Drop non-standard Element.scrollByLines() / scrollByPages()
3241 https://bugs.webkit.org/show_bug.cgi?id=171820
3243 Reviewed by Simon Fraser.
3245 Drop non-standard Element.scrollByLines() / scrollByPages() from
3248 * UserInterface/Models/NativeFunctionParameters.js:
3250 2017-05-08 Matt Baker <mattbaker@apple.com>
3252 Web Inspector: Make it easy to dynamically show/hide a SettingsView
3253 https://bugs.webkit.org/show_bug.cgi?id=171765
3254 <rdar://problem/32031280>
3256 Reviewed by Brian Burg.
3258 This patch adds SettingsTabContentView.prototype.setSettingsViewVisible,
3259 for dynamically showing/hiding a child view (and its NavigationBar item).
3260 The following new behavior is relevant when more that one child SettingsView
3261 exist in the Settings tab:
3262 - Hiding the selected view will cause a new view to become selected.
3263 The previous visible view is selected, if it exists. Otherwise the
3264 next visible view is used.
3265 - Showing a view when no views are selected cause the view to be selected.
3267 As the Settings tab currently has only one child view, the behavior above
3268 was tested by adding a handful of vanilla SettingsView objects to the tab
3269 and toggling their visibility.
3271 * UserInterface/Views/NavigationBar.js:
3272 Simplify overloaded parameter `navigationItemOrIdentifierOrIndex`, which
3273 is used in a few places and is always an instance of NavigationItem.
3275 (WebInspector.NavigationBar):
3276 (WebInspector.NavigationBar.prototype.removeNavigationItem):
3277 (WebInspector.NavigationBar.prototype.get selectedNavigationItem):
3278 (WebInspector.NavigationBar.prototype.set selectedNavigationItem):
3279 (WebInspector.NavigationBar.prototype.findNavigationItem):
3280 Lookup a navigation item by its identifier.
3281 (WebInspector.NavigationBar.prototype._findNavigationItem): Deleted.
3282 Replaced overloaded private method with new public method.
3284 * UserInterface/Views/NavigationItem.js:
3286 (WebInspector.NavigationItem):
3287 (WebInspector.NavigationItem.prototype.get identifier):
3288 (WebInspector.NavigationItem.prototype.get element):
3289 (WebInspector.NavigationItem.prototype.get minimumWidth):
3290 (WebInspector.NavigationItem.prototype.get parentNavigationBar):
3292 * UserInterface/Views/SettingsTabContentView.css:
3293 Use `visibility: hidden` instead of `display: none` when hiding the
3294 NavigationBar, so that the selected view's top position stays the same.
3296 (.content-view.settings):
3297 (.content-view.settings .navigation-bar.invisible):
3299 * UserInterface/Views/SettingsTabContentView.js:
3300 (WebInspector.SettingsTabContentView):
3301 Switch to an array of SettingsViews instead of a map. Fast lookup isn't
3302 a concern due to the small number of items, and having indices simplifies
3303 traversing the previous/next items in `setSettingsViewVisible`.
3305 (WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
3306 Rename `page` to `settingsView`.
3307 (WebInspector.SettingsTabContentView.prototype.addSettingsView):
3308 (WebInspector.SettingsTabContentView.prototype.setSettingsViewVisible):
3309 Shows/hides the specified view. Hiding the selected SettingsView will
3310 cause another visible view to become selected, if one exists.
3312 (WebInspector.SettingsTabContentView.prototype._updateNavigationBarVisibility):
3313 Helper for updating navigation bar visibility after making a change
3314 to the navigation items.
3316 (WebInspector.SettingsTabContentView.prototype._navigationItemSelected):
3318 2017-05-08 Myles C. Maxfield <mmaxfield@apple.com>
3320 Unprefix unicode-bidi CSS values
3321 https://bugs.webkit.org/show_bug.cgi?id=171761
3323 Reviewed by Simon Fraser.
3325 * UserInterface/Models/CSSKeywordCompletions.js:
3327 2017-05-08 Fujii Hironori <Hironori.Fujii@sony.com>
3329 [GTK] Web Inspector: Add new GTK+ icon for timeline recording stopwatch
3330 https://bugs.webkit.org/show_bug.cgi?id=154088
3332 Reviewed by Carlos Garcia Campos.
3334 Add a free icon and remove some unused ones for the Web Inspector
3337 * UserInterface/Images/gtk/Stopwatch.png: Removed.
3338 * UserInterface/Images/gtk/Stopwatch.svg: Added.
3339 * UserInterface/Images/gtk/Stopwatch@2x.png: Removed.
3340 * UserInterface/Views/TimelineIcons.css:
3341 (body:not(.mac-platform, .windows-platform) .stopwatch-icon .icon): Deleted.
3343 2017-05-05 Nikita Vasilyev <nvasilyev@apple.com>
3345 REGRESSION (r212998): Web Inspector: bad spacing of go-to arrow for HTTP POST request data
3346 https://bugs.webkit.org/show_bug.cgi?id=171674
3348 Reviewed by Matt Baker.
3350 * UserInterface/Views/DetailsSection.css:
3351 (body[dir=ltr] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
3352 (body[dir=rtl] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
3353 Swap margin-left and margin-right. This regressed when RTL support was added.
3355 2017-05-03 Devin Rousso <webkit@devinrousso.com>
3357 REGRESSION (r215630): Web Inspector: Option-Click on URL in Styles sidebar does not work
3358 https://bugs.webkit.org/show_bug.cgi?id=171569
3360 Reviewed by Joseph Pecoraro.
3362 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3363 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):