Unreviewed, remove `emulateUserGesture` parameter from `Debugger.evaluateOnCallFrame...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog-2016-09-26
1 2016-09-25  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: REGRESSION (r203437): DOM not updated when editing Box Model values (border, margin, etc)
4         https://bugs.webkit.org/show_bug.cgi?id=162522
5         <rdar://problem/28458203>
6
7         Reviewed by Brian Burg.
8
9         * UserInterface/Views/BoxModelDetailsSectionRow.js:
10         (WebInspector.BoxModelDetailsSectionRow.prototype._refresh):
11         (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
12         (WebInspector.BoxModelDetailsSectionRow.prototype._editingEnded):
13         Drive-by style fix for `delete`. Also removed unused properties.
14         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
15         Use priority "important" instead of "!important".
16
17 2016-09-23  Joseph Pecoraro  <pecoraro@apple.com>
18
19         Web Inspector: Fix typo in event name
20         https://bugs.webkit.org/show_bug.cgi?id=162519
21
22         Reviewed by Matt Baker.
23
24         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
25
26 2016-09-21  Matt Baker  <mattbaker@apple.com>
27
28         Web Inspector: Improve output of TestHarness.expect* failures
29         https://bugs.webkit.org/show_bug.cgi?id=162177
30         <rdar://problem/28367186>
31
32         Reviewed by Joseph Pecoraro.
33
34         This patch adds specific expectation functions to TestHarness, to better
35         express intent when writing tests, and to allow more details to be logged
36         in the event of a failure.
37
38         For functions taking both `actual` and `expected` parameters, the `actual`
39         parameter comes first. This convention simplifies the implementation of
40         TestHarness, improves the readability of tests involving inequalities,
41         and is consistent with XCTest assertions.
42
43         * UserInterface/Test/TestHarness.js:
44         (TestHarness):
45         (TestHarness.prototype.expectThat):
46         (TestHarness.prototype.expectFalse):
47         (TestHarness.prototype.expectNull):
48         (TestHarness.prototype.expectNotNull):
49         (TestHarness.prototype.expectEqual):
50         (TestHarness.prototype.expectNotEqual):
51         (TestHarness.prototype.expectShallowEqual):
52         (TestHarness.prototype.expectNotShallowEqual):
53         (TestHarness.prototype.expectEqualWithAccuracy):
54         (TestHarness.prototype.expectLessThan):
55         (TestHarness.prototype.expectLessThanOrEqual):
56         (TestHarness.prototype.expectGreaterThan):
57         (TestHarness.prototype.expectGreaterThanOrEqual):
58         New expectation functions, all of which call _expect under the hood.
59
60         (TestHarness.prototype._expect):
61         Helper method which calls pass or fail. Creates a message when no user
62         message is provided, and logs expected and actual values in the event
63         of a failure.
64
65         (TestHarness.prototype._expectationValueAsString):
66         (TestHarness.prototype._expectationMessageFormat):
67         Get a message format string for the expectation type. Used to create
68         pass/fail message when no user message is provided.
69
70         (TestHarness.prototype._expectedValueFormat):
71         Get a format string for displaying the expected value. Used to create
72         the "Expected: " failure message line.
73
74 2016-09-20  Joseph Pecoraro  <pecoraro@apple.com>
75
76         Web Inspector: Reload unexpectedly switches to Storage Tab
77         https://bugs.webkit.org/show_bug.cgi?id=162323
78         <rdar://problem/28393954>
79
80         Reviewed by Matt Baker.
81
82         * UserInterface/Views/NavigationSidebarPanel.js:
83         (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
84         We aren't stealing if the ContentView doesn't yet have a parent!
85         This fixes restoration when switching to the Storage tab at a
86         later time after a reload.
87
88         * UserInterface/Views/StorageSidebarPanel.js:
89         (WebInspector.StorageSidebarPanel._treeSelectionDidChange):
90         Don't showRepresentedObject if we aren't visible. That would force this
91         tab to the foreground and we don't want that. This only happens when
92         tree elements are removed (main frame navigation) and TreeOutline
93         selects the next available tree element.
94
95         (WebInspector.StorageSidebarPanel.prototype._storageCleared):
96         Simplify and close all content views. We were missing IndexedDB content views.
97
98 2016-09-19  Matt Baker  <mattbaker@apple.com>
99
100         Unreviewed, reverting changeset https://trac.webkit.org/changeset/206101.
101
102         Revert https://bugs.webkit.org/show_bug.cgi?id=162165:
103         Web Inspector: Make it easier to create a view from an existing DOM element.
104
105         * UserInterface/Base/Main.js:
106         (WebInspector.contentLoaded):
107         * UserInterface/Views/View.js:
108         (WebInspector.View):
109
110 2016-09-19  Joseph Pecoraro  <pecoraro@apple.com>
111
112         Web Inspector: Scope sidebar shows "Closure" instead of "Local" when paused in anonymous function
113         https://bugs.webkit.org/show_bug.cgi?id=162113
114         <rdar://problem/28348954>
115
116         Reviewed by Brian Burg.
117
118         * UserInterface/Models/CallFrame.js:
119         (WebInspector.CallFrame):
120         Default the functionName to the empty string. This will compare
121         favorably against other empty function names instead of null.
122
123 2016-09-19  Joseph Pecoraro  <pecoraro@apple.com>
124
125         Web Inspector: Color picker in Style sidebar stops working after 1st color change
126         https://bugs.webkit.org/show_bug.cgi?id=162115
127         <rdar://problem/28349875>
128
129         Reviewed by Brian Burg.
130
131         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
132         (WebInspector.CSSStyleDeclarationTextEditor):
133         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
134         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.createSwatch):
135         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchActivated):
136         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchDeactivated):
137         Listen for swatch activated / inactivated events to set some state.
138
139         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):
140         Do not wipe markers if there is an active inline swatch. That
141         would break behavior for that active swatch.
142
143         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged):
144         Eliminate old, incorrect, and now unnecessary code for trying to recover
145         a textMarker for an inline swatch if the textMarker went away. Besides being
146         incorrect, if an inline swatch's textMarker goes away, then we will already
147         have issues, because any active popover will still be connected to the
148         original marker and swatch element that no longer appear in the editor.
149
150         * UserInterface/Views/ColorPicker.js:
151         (WebInspector.ColorPicker):
152         (WebInspector.ColorPicker.prototype.set color):
153         * UserInterface/Views/InlineSwatch.js:
154         (WebInspector.InlineSwatch.prototype.didDismissPopover):
155         (WebInspector.InlineSwatch.prototype._swatchElementClicked):
156
157 2016-09-18  Joseph Pecoraro  <pecoraro@apple.com>
158
159         Uncaught Exception: null is not an object (evaluating 'this.listItemElement.classList')
160         https://bugs.webkit.org/show_bug.cgi?id=162123
161         <rdar://problem/28352900>
162
163         Reviewed by Matt Baker.
164
165         * UserInterface/Views/DOMTreeElement.js:
166         (WebInspector.DOMTreeElement.prototype.onexpand):
167         If not attached yet, don't update title. We will update title
168         when attaching, so this avoids work and avoids doing that
169         work when the tree element is not fully setup.
170
171         (WebInspector.DOMTreeElement.prototype._startEditing):
172         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
173         (WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange):
174         Switch to the public name instead of the private name.
175
176 2016-09-16  Joseph Pecoraro  <pecoraro@apple.com>
177
178         Web Inspector: Implement Copy CSS Selector and Copy Xpath Selector context menus
179         https://bugs.webkit.org/show_bug.cgi?id=158881
180         <rdar://problem/8181156>
181
182         Reviewed by Matt Baker.
183
184         This is based off of the Blink implementation (DOMPresentationUtils)
185         with some minor modifications and using our own utility methods.
186
187         * Localizations/en.lproj/localizedStrings.js:
188         New context menu strings.
189
190         * UserInterface/Base/DOMUtilities.js:
191         (WebInspector.cssPath):
192         (WebInspector.cssPathComponent.classNames):
193         (WebInspector.cssPathComponent):
194         (WebInspector.xpath):
195         (WebInspector.xpathIndex.isSimiliarNode):
196         (WebInspector.xpathIndex):
197         Build strings for a CSS selector path or XPath path to a node.
198
199         * UserInterface/Views/DOMTreeElement.js:
200         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
201         * UserInterface/Views/DOMTreeOutline.js:
202         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
203         Include copy path context menu items on nodes.
204         Pseudo elements do not get Copy XPath.
205         Non-node elements do not get Copy Selector Path.
206
207 2016-09-16  Nikita Vasilyev  <nvasilyev@apple.com>
208
209         Web Inspector: Make console session dividers more pronounced
210         https://bugs.webkit.org/show_bug.cgi?id=161938
211         <rdar://problem/28291166>
212
213         Reviewed by Brian Burg.
214
215         Instead of using a dim dashed line as a console session separator, include time and reason why
216         the new session started, which could be one of the following values:
217         - Console opened (for the first time)
218         - Console cleared
219         - Page reloaded
220         - Page navigated
221
222         * Localizations/en.lproj/localizedStrings.js:
223         * UserInterface/Controllers/JavaScriptLogViewController.js:
224         (WebInspector.JavaScriptLogViewController.prototype.clear):
225         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
226         Remove previous session if it doesn't have any messages.
227
228         * UserInterface/Controllers/LogManager.js:
229         (WebInspector.LogManager.prototype._mainResourceDidChange):
230         (WebInspector.LogManager):
231         Session separator wasn't appended when navigating to a different web page. Always dispatch
232         SessionStarted events when the main resource changes. Distinguish between reload and navigation.
233
234         * UserInterface/Views/ConsoleSession.js:
235         (WebInspector.ConsoleSession):
236         (WebInspector.ConsoleSession.prototype.addMessageView):
237         (WebInspector.ConsoleSession.prototype.append):
238         (WebInspector.ConsoleSession.prototype.hasMessages):
239         * UserInterface/Views/LogContentView.css:
240         (.console-session-header):
241         (.console-session:first-of-type .console-session-header):
242         (.console-session:not(:first-of-type)):
243         (.console-session:not(:first-of-type) .console-session-header):
244         * UserInterface/Views/LogContentView.js:
245         (WebInspector.LogContentView.prototype._sessionStarted):
246
247 2016-09-16  Devin Rousso  <dcrousso+webkit@gmail.com>
248
249         Web Inspector: make Object.awaitEvent synchronously add an event listener
250         https://bugs.webkit.org/show_bug.cgi?id=162066
251
252          Reviewed by Brian Burg.
253
254         * UserInterface/Base/Object.js:
255         (WebInspector.Object.awaitEvent):
256         Utilize a WebInspector.WrappedPromise to not worry about adding the singleFireEventListener
257         on the next tick due to the promise construction.
258
259         * UserInterface/TestStub.html:
260         Add WebInspector.WrappedPromise.
261
262 2016-09-16  Joseph Pecoraro  <pecoraro@apple.com>
263
264         Web Inspector: Include JavaScript completion for ES6 keywords and global variables
265         https://bugs.webkit.org/show_bug.cgi?id=162027
266
267         Reviewed by Brian Burg.
268
269         * UserInterface/Controllers/CodeMirrorCompletionController.js:
270         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
271         Include ES6 keywords and provide them when they may be available.
272
273         * UserInterface/Views/ConsolePrompt.js:
274         (WebInspector.ConsolePrompt):
275         * UserInterface/Views/TextEditor.js:
276         (WebInspector.TextEditor.prototype.set mimeType):
277         For editors that might want to provide completion for global variables
278         use the mode with options way of setting the mode for CodeMirror. The
279         only mode that cares about "globalVars" are the JavaScript variants.
280
281 2016-09-15  Devin Rousso  <dcrousso+webkit@gmail.com>
282
283         Web Inspector: support drag and drop of CSS classes and ids onto DOM nodes
284         https://bugs.webkit.org/show_bug.cgi?id=16529
285
286         Reviewed by Joseph Pecoraro.
287
288         * UserInterface/Models/DOMNode.js:
289         (WebInspector.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass):
290         (WebInspector.DOMNode.prototype.toggleClass.resolvedNode):
291         (WebInspector.DOMNode.prototype.toggleClass):
292         Moved from WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.
293
294         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
295         (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
296         Added z-index to fix overlapping with selector origin.
297
298         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
299         (WebInspector.CSSStyleDetailsSidebarPanel):
300         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
301         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
302         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
303         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
304         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
305         Added a setting for auto-expanding the Classes toggle list based on the previous state.
306         Also renamed the existing _lastSelectedSectionSetting to _lastSelectedPanelSetting since the
307         setting doesn't have anything to do with the last selected section.
308
309         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
310         (WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType):
311         Added functionality to allow dragging of a className toggle's text (not the checkbox) by
312         using a custom type, preventing the value from being dropped anywhere except the DOM tree.
313
314         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
315         Restructured to use arrow function to avoid function binding.
316
317         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass): Deleted.
318         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode): Deleted.
319         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass): Deleted.
320
321         * UserInterface/Views/DOMTreeOutline.js:
322         (WebInspector.DOMTreeOutline.prototype._ondragover):
323         (WebInspector.DOMTreeOutline.prototype._ondrop.callback):
324         (WebInspector.DOMTreeOutline.prototype._ondrop):
325         Allow dragging when the dataTransfer object contains the type specified by
326         WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType.  The value for that type
327         will be added to the dropped element's classList.
328
329 2016-09-15  Matt Baker  <mattbaker@apple.com>
330
331         Web Inspector: Use more global color variables in TreeOutline and DataGrid
332         https://bugs.webkit.org/show_bug.cgi?id=161940
333         <rdar://problem/28292555>
334
335         Reviewed by Brian Burg.
336
337         * UserInterface/Views/DataGrid.css:
338         (.data-grid tr.selected):
339         (.data-grid:matches(:focus, .force-focus) tr.selected):
340         Use global color vars.
341
342         * UserInterface/Views/TreeOutline.css:
343         (.tree-outline .item.selected):
344         Use global color vars.
345         (body.window-inactive .tree-outline .item.selected): Deleted.
346         Not needed. Unfocused color is the same when window is inactive.
347
348         * UserInterface/Views/Variables.css:
349         (:root):
350         Add --selected-background-color-unfocused.
351
352 2016-09-14  Matt Baker  <mattbaker@apple.com>
353
354         Web Inspector: Call frame is sometimes not selected in Debugger sidebar on initial pause
355         https://bugs.webkit.org/show_bug.cgi?id=161835
356         <rdar://problem/28236680>
357
358         Reviewed by Joseph Pecoraro.
359
360         * UserInterface/Views/NavigationSidebarPanel.js:
361         (WebInspector.NavigationSidebarPanel):
362         (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
363         If a tree other than the newly selected element's tree has the selection,
364         deselect it to prevent multiple tree selections.
365         (WebInspector.NavigationSidebarPanel.prototype.show): Deleted.
366         Not needed since the selected tree is no longer tracked. Incidentally,
367         SidebarPanel.show was only called by SearchSidebarPanel, which doesn't need
368         to manage selection across multiple tree outlines.
369
370 2016-09-14  Matt Baker  <mattbaker@apple.com>
371
372         Web Inspector: Call Stack tree in the Debugger sidebar should mark the active call frame
373         https://bugs.webkit.org/show_bug.cgi?id=161945
374         <rdar://problem/28293451>
375
376         Reviewed by Joseph Pecoraro.
377
378         Add an indicator for the active call frame tree element, patterned after
379         Xcode's call stack UI. The indicator should be positioned on the left,
380         with a fill color based on the tree element's selected/focused state.
381
382         * UserInterface/Images/ActiveCallFrame.svg: Added.
383         Image for "active call frame" tree element status.
384
385         * UserInterface/Main.html:
386         New file.
387
388         * UserInterface/Views/CallFrameTreeElement.css: Added.
389         (.tree-outline .item.call-frame .status):
390         (.tree-outline .item.call-frame .status > .status-image):
391         (.tree-outline .item.call-frame.selected .status > .status-image):
392         (.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image):
393         New tree element styles.
394
395         * UserInterface/Views/CallFrameTreeElement.js:
396         (WebInspector.CallFrameTreeElement):
397         (WebInspector.CallFrameTreeElement.prototype.get callFrame):
398         (WebInspector.CallFrameTreeElement.prototype.get isActiveCallFrame):
399         (WebInspector.CallFrameTreeElement.prototype.set isActiveCallFrame):
400         Add property for toggling active call frame indicator.
401         (WebInspector.CallFrameTreeElement.prototype.onattach):
402         (WebInspector.CallFrameTreeElement.prototype._updateStatus):
403
404         * UserInterface/Views/DebuggerSidebarPanel.js:
405         (WebInspector.DebuggerSidebarPanel):
406         (WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
407         (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
408
409         * UserInterface/Views/Variables.css:
410         (:root):
411         New global for dark border color.
412
413 2016-09-13  Matt Baker  <mattbaker@apple.com>
414
415         Web Inspector: Use Array.shallowEqual instead of Object.shallowEqual in more places
416         https://bugs.webkit.org/show_bug.cgi?id=161867
417         <rdar://problem/28261328>
418
419         Reviewed by Joseph Pecoraro.
420
421         * UserInterface/Base/Utilities.js:
422         (value):
423         Array.shallowEqual should return false if passed a non-array.
424
425         * UserInterface/Models/CSSRule.js:
426         (WebInspector.CSSRule.prototype.update):
427         * UserInterface/Models/Color.js:
428         (WebInspector.Color.prototype.isKeyword):
429         * UserInterface/Models/DOMNodeStyles.js:
430         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
431         (WebInspector.DOMNodeStyles.prototype.refresh):
432         * UserInterface/Models/Geometry.js:
433         (WebInspector.CubicBezier.prototype.toString):
434         * UserInterface/Views/GeneralTreeElement.js:
435         (WebInspector.GeneralTreeElement.prototype.set classNames):
436         * UserInterface/Views/NewTabContentView.js:
437         (WebInspector.NewTabContentView.prototype._updateShownTabs):
438         Prefer Array.shallowEqual over Obejct.shallowEqual if the arguments
439         will always be arrays.
440
441 2016-09-13  Joseph Pecoraro  <pecoraro@apple.com>
442
443         Web Inspector: Should be able to pretty print module code (import / export statements)
444         https://bugs.webkit.org/show_bug.cgi?id=161891
445         <rdar://problem/28272784>
446
447         Reviewed by Yusuke Suzuki.
448
449         * Tools/Formatting/EsprimaFormatterDebug.js:
450         * Tools/Formatting/index.html:
451         Update the formatting tool to toggle between source type modes.
452
453         * UserInterface/Proxies/FormatterWorkerProxy.js:
454         * UserInterface/Workers/Formatter/FormatterWorker.js:
455         (FormatterWorker.prototype.formatJavaScript):
456         Provide a flag to parse the input as a module instead of a script/program.
457
458         * UserInterface/Views/TextEditor.js:
459         (WebInspector.TextEditor.prototype._startWorkerPrettyPrint):
460         Using the formatter here, we may have module scripts in the future.
461
462         * UserInterface/Views/SourceCodeTextEditor.js:
463         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
464         Using the formatter for a function is not module source.
465
466         * UserInterface/Workers/Formatter/ESTreeWalker.js:
467         (ESTreeWalker.prototype._walkChildren):
468         Visit children of Export/Import nodes.
469
470         * UserInterface/Workers/Formatter/EsprimaFormatter.js:
471         (EsprimaFormatter.prototype._handleTokenAtNode):
472         Output tokens with appropriate whitespace.
473
474 2016-09-13  Chris Dumez  <cdumez@apple.com>
475
476         Drop support for <isindex>
477         https://bugs.webkit.org/show_bug.cgi?id=7139
478
479         Reviewed by Ryosuke Niwa.
480
481         Drop references to isindex.
482
483         * UserInterface/Views/DOMTreeElement.js:
484
485 2016-09-12  Matt Baker  <mattbaker@apple.com>
486
487         Web Inspector: Improve clarity of inspector tests by adding TestHarness.expect* functions similar to XCTest
488         https://bugs.webkit.org/show_bug.cgi?id=161278
489         <rdar://problem/28039741>
490
491         Reviewed by Joseph Pecoraro.
492
493         Under the hood they all call TestHarness.expectThat.
494
495         * UserInterface/Test/TestHarness.js:
496         (TestHarness.prototype.expectFalse):
497         (TestHarness.prototype.expectNull):
498         (TestHarness.prototype.expectNotNull):
499         (TestHarness.prototype.expectEqual):
500         (TestHarness.prototype.expectNotEqual):
501         (TestHarness.prototype.expectShallowEqual):
502         (TestHarness.prototype.expectNotShallowEqual):
503         (TestHarness.prototype.expectEqualWithAccuracy):
504         (TestHarness.prototype.expectLessThan):
505         (TestHarness.prototype.expectLessThanOrEqual):
506         (TestHarness.prototype.expectGreaterThan):
507         (TestHarness.prototype.expectGreaterThanOrEqual):
508
509 2016-09-12  Nikita Vasilyev  <nvasilyev@apple.com>
510
511         REGRESSION (r205223): Web Inspector: Debugger popover title and code aren't horizontally aligned
512         https://bugs.webkit.org/show_bug.cgi?id=161848
513         <rdar://problem/28250703>
514
515         Reviewed by Matt Baker.
516
517         * UserInterface/Views/SourceCodeTextEditor.css:
518         (.popover .debugger-popover-content > .title):
519         (.popover .debugger-popover-content.function > .body):
520         Make left and right padding the same.
521
522         (.popover .debugger-popover-content.function > .body .CodeMirror pre):
523         Override left padding defined in CodeMirrorOverrides.css by `.CodeMirror pre` rule.
524
525 2016-09-12  Devin Rousso  <dcrousso+webkit@gmail.com>
526
527         Web Inspector: Hide ["PrivateSymbol.concatSlowPath"] and other PrivateSymbols from memory edges
528         https://bugs.webkit.org/show_bug.cgi?id=156763
529
530         Reviewed by Joseph Pecoraro.
531
532         * UserInterface/Proxies/HeapSnapshotEdgeProxy.js:
533         (WebInspector.HeapSnapshotEdgeProxy.prototype.isPrivateSymbol):
534         Checks that the edge data does not begin with "PrivateSymbol".
535
536         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
537         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate):
538         Only add child nodes if they are not PrivateSymbol nodes.
539
540 2016-09-12  Matt Baker  <mattbaker@apple.com>
541
542         Web Inspector: Object.shallowEqual() should return false if object prototype chains differ
543         https://bugs.webkit.org/show_bug.cgi?id=161852
544
545         Reviewed by Joseph Pecoraro.
546
547         Improve Object.shallowEqual so it won't produce false positives.
548
549         * UserInterface/Base/Utilities.js:
550         (value):
551         Object.shallowEqual should return false for non-array arguments.
552         Since typeof null === "object", use `instanceof` instead to avoid separate
553         null checks. Also use Array.shallowEqual fast path when both arguments are arrays.
554
555 2016-09-11  Devin Rousso  <dcrousso+webkit@gmail.com>
556
557         Web Inspector: Combine similar SVG files for Styles sidebar
558         https://bugs.webkit.org/show_bug.cgi?id=161071
559
560         Reviewed by Joseph Pecoraro.
561
562         * UserInterface/Images/StyleRule.svg: Added.
563         * UserInterface/Images/StyleRulePseudoElement.svg: Added.
564         Replaced <defs> with <symbol> give CSS some access to the referenced DOM inside <symbol>.
565         Since <symbol> uses Shadow DOM, applying CSS variables to the :target element and using
566         them inside <symbol> allows for variable styling of the content.  Using a more basic
567         `#foo .bar` selector would not be valid since Shadow DOM separates the stylesheet selectors.
568
569         * UserInterface/Images/gtk/StyleRule.svg: Added.
570         * UserInterface/Images/gtk/StyleRulePseudoElement.svg: Added.
571
572         * UserInterface/Images/StyleRuleAuthor.svg: Removed.
573         * UserInterface/Images/StyleRuleInherited.svg: Removed.
574         * UserInterface/Images/StyleRuleInspector.svg: Removed.
575         * UserInterface/Images/StyleRuleUser.svg: Removed.
576         * UserInterface/Images/StyleRuleUserAgent.svg: Removed.
577         * UserInterface/Images/gtk/StyleRuleAuthor.svg: Removed.
578         * UserInterface/Images/gtk/StyleRuleInherited.svg: Removed.
579         * UserInterface/Images/gtk/StyleRuleInspector.svg: Removed.
580         * UserInterface/Images/gtk/StyleRuleUser.svg: Removed.
581         * UserInterface/Images/gtk/StyleRuleUserAgent.svg: Removed.
582         Merged into StyleRule.svg by using IDs in the URL.
583
584         * UserInterface/Images/StyleRuleAuthorPseudo.svg: Removed.
585         * UserInterface/Images/StyleRuleInspectorPseudo.svg: Removed.
586         * UserInterface/Images/StyleRuleUserAgentPseudo.svg: Removed.
587         * UserInterface/Images/StyleRuleUserPseudo.svg: Removed.
588         Merged into StyleRulePseudoElement.svg by using IDs in the URL.
589
590         * UserInterface/Views/StyleRuleIcons.css:
591         (.author-style-rule-icon .icon):
592         (.author-style-rule-icon.pseudo-element-selector .icon):
593         (.user-style-rule-icon .icon):
594         (.user-style-rule-icon.pseudo-element-selector .icon):
595         (.user-agent-style-rule-icon .icon):
596         (.user-agent-style-rule-icon.pseudo-element-selector .icon):
597         (.inspector-style-rule-icon .icon):
598         (.inspector-style-rule-icon.pseudo-element-selector .icon):
599         (.inherited-style-rule-icon .icon):
600
601 2016-09-11  Devin Rousso  <dcrousso+webkit@gmail.com>
602
603         REGRESSION (r205754): Web Inspector: Cannot click on links to stylesheets in Rules sidebar
604         https://bugs.webkit.org/show_bug.cgi?id=161838
605
606         Reviewed by Brian Burg.
607
608         * UserInterface/Views/CSSStyleDeclarationSection.css:
609         (.style-declaration-section > .header > textarea):
610         (.style-declaration-section > .header > .origin):
611         Added z-index to the non-selector elements of the header.  Also limited the size of the
612         selector textarea to just the size of the displayed selector text.
613
614         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
615         (WebInspector.CSSStyleDeclarationTextEditor):
616         Fixed invalid enum value for propertyVisibilityMode.
617
618 2016-09-09  Devin Rousso  <dcrousso+webkit@gmail.com>
619
620         Web Inspector: Command-Z doesn't work when editing CSS selectors in Styles sidebar
621         https://bugs.webkit.org/show_bug.cgi?id=159734
622
623         Reviewed by Brian Burg.
624
625         Replace the current usage of -webkit-user-select with a textarea sized exactly the same as
626         the selector text which holds the current value of the selector.
627
628         * UserInterface/Test.html: Add WrappedPromise.
629
630         * UserInterface/Models/DOMNodeStyles.js:
631         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
632         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
633         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
634         (WebInspector.DOMNodeStyles.prototype.refresh):
635         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
636         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
637         Ensure that the promise returned by changeRuleSelector is only resolved once the initiated
638         refresh has completed, ensuring that all matched selectors are parsed and available.
639
640         * UserInterface/Views/CSSStyleDeclarationSection.css:
641         (.style-declaration-section > .header):
642         (.style-declaration-section.locked > .header::before):
643         (.style-declaration-section.rule-disabled > .header > .icon):
644         (.style-declaration-section > .header > textarea):
645         (.style-declaration-section > .header > textarea:focus):
646         (.style-declaration-section > .header > textarea:focus + .selector):
647         (.style-declaration-section > .header > .selector):
648         (.style-declaration-section > .header > .selector:empty):
649         (.style-declaration-section > .header > .selector .matched):
650         (.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon): Deleted.
651         (.style-declaration-section > .header > .selector:empty::before): Deleted.
652         (.style-declaration-section > .header > .selector:focus): Deleted.
653         (.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector): Deleted.
654         (.style-declaration-section > .header > .selector > .matched): Deleted.
655         (.style-declaration-section.invalid-selector > .header > .icon): Deleted.
656         (.style-declaration-section.invalid-selector > .header > .selector): Deleted.
657         Added styling to make textarea invisible when not focused.
658         Also removed the .invalid-selector styles as the section now refreshed on all changes.
659
660         * UserInterface/Views/CSSStyleDeclarationSection.js:
661         (WebInspector.CSSStyleDeclarationSection):
662         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
663         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorTextKnownToMatch):
664         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
665         (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
666         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorEditable):
667         (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
668         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
669         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
670         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked): Deleted.
671         Added a hidden textarea for modifying the selector of the represented style.
672
673         * UserInterface/Views/RulesStyleDetailsPanel.js:
674         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPreviousRule):
675         Now use new getters on CSSSTyleDeclarationSection for determining if a selector is editable.
676
677         * UserInterface/Views/Variables.css:
678         (:root):
679         Added --style-declaration-section-header-padding CSS variable.
680
681 2016-09-08  Brian Burg  <bburg@apple.com>
682
683         Web Inspector: make copy-user-interface-resources.pl easier to read
684         https://bugs.webkit.org/show_bug.cgi?id=161772
685
686         Reviewed by Joseph Pecoraro.
687
688         * Scripts/copy-user-interface-resources.pl:
689         Break long script invocations across multiple lines so that the
690         options and values are paired together.
691
692 2016-09-08  Brian Burg  <bburg@apple.com>
693
694         Web Inspector: get rid of extra copies of jsmin.py and cssmin.py
695         https://bugs.webkit.org/show_bug.cgi?id=161770
696         <rdar://problem/28216813>
697
698         Reviewed by Joseph Pecoraro.
699
700         * Scripts/copy-user-interface-resources-dryrun.rb:
701         - Keep track of the original working directory.
702         - Stage scripts from PrivateHeaders into the temporary directory.
703         - Add a comment to clarify what this script is simulating.
704         - Use system instead of exec so we can print an error message.
705
706         * Scripts/copy-user-interface-resources.pl:
707         - Use jsmin.py and cssmin.py from JavaScriptCore instead of
708         WebInspectorUI. There are no differences between the two copies.
709
710         * Scripts/cssmin.py: Removed.
711         * Scripts/jsmin.py: Removed.
712
713         * WebInspectorUI.xcodeproj/project.pbxproj:
714         - Remove unused copies of jsmin.py and cssmin.py.
715
716 2016-09-08  Matt Baker  <mattbaker@apple.com>
717
718         Web Inspector: TimelineDataGridNode should refresh when graph column is resized
719         https://bugs.webkit.org/show_bug.cgi?id=161765
720         <rdar://problem/28215674>
721
722         Reviewed by Brian Burg.
723
724         * UserInterface/Views/DataGrid.js:
725         (WebInspector.DataGrid.prototype.resizerDragging):
726         Call `DataGridNode.didResizeColumn` for all visible nodes in the columns
727         to the left and right of the column resizer.
728
729         * UserInterface/Views/DataGridNode.js:
730         (WebInspector.DataGridNode.prototype.didResizeColumn):
731         Add protected base class method for subclasses to override.
732
733         * UserInterface/Views/TimelineDataGridNode.js:
734         (WebInspector.TimelineDataGridNode.prototype.didResizeColumn):
735         Refresh the node's graph when the "graph" column is resized.
736         Renamed `left/rightCellIndex` -> `left/rightColumnIndex`.
737
738 2016-09-08  Nikita Vasilyev  <nvasilyev@apple.com>
739
740         Web Inspector: Add a button to navigation bar to toggle Control Flow Profiler
741         https://bugs.webkit.org/show_bug.cgi?id=160973
742         <rdar://problem/27912606>
743
744         Reviewed by Brian Burg.
745
746         * Localizations/en.lproj/localizedStrings.js:
747         Add "Fade unexecuted code" and "Do not fade unexecuted code".
748
749         * UserInterface/Base/Main.js:
750         (WebInspector.loaded):
751         Add a setting to remember whether Code Coverage Profiler is on or off between Web Inspector reloads.
752
753         * UserInterface/Views/SourceCodeTextEditor.js:
754         (WebInspector.SourceCodeTextEditor.prototype.shown):
755         (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
756         (WebInspector.SourceCodeTextEditor.prototype.canShowCoverageHints):
757         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
758         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
759         (WebInspector.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
760         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
761         (WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent):
762         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
763         (WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
764         (WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
765         (WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForControlFlowAnnotator):
766         (WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForControlFlowAnnotator):
767         (WebInspector.SourceCodeTextEditor.prototype._createTypeTokenScrollEventHandler):
768         (WebInspector.SourceCodeTextEditor.prototype._createControlFlowScrollEventHandler):
769         (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted): Deleted.
770         (WebInspector.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
771         (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes): Deleted.
772         (WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo): Deleted.
773         (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): Deleted.
774         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): Deleted.
775         (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController): Deleted.
776         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing): Deleted.
777         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing): Deleted.
778         (WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript): Deleted.
779         (WebInspector.SourceCodeTextEditor.prototype._createTypeTokenAnnotator): Deleted.
780         Make Code Coverage profiler independent from Type Profiler.
781
782         * UserInterface/Views/TextContentView.js:
783         (WebInspector.TextContentView):
784         (WebInspector.TextContentView.prototype.get navigationItems):
785         (WebInspector.TextContentView.prototype.get textEditor): Deleted.
786         * UserInterface/Views/TextEditor.js:
787         (WebInspector.TextEditor.prototype.get hasModified):
788         (WebInspector.TextEditor.prototype.canShowCoverageHints):
789         * UserInterface/Views/TextResourceContentView.js:
790         (WebInspector.TextResourceContentView):
791         (WebInspector.TextResourceContentView.prototype.get navigationItems):
792         (WebInspector.TextResourceContentView.prototype._contentDidPopulate):
793         (WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
794         (WebInspector.TextResourceContentView.prototype._toggleUnexecutedCodeHighlights):
795         (WebInspector.TextResourceContentView.prototype._enableControlFlowProfilerSettingChanged):
796         (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Deleted.
797         * UserInterface/Views/ScriptContentView.js:
798         (WebInspector.ScriptContentView):
799         (WebInspector.ScriptContentView.prototype.get navigationItems):
800         (WebInspector.ScriptContentView.prototype._contentDidPopulate):
801         (WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
802         (WebInspector.ScriptContentView.prototype._toggleUnexecutedCodeHighlights):
803         (WebInspector.ScriptContentView.prototype._enableControlFlowProfilerSettingChanged):
804         (WebInspector.ScriptContentView.prototype._contentWillPopulate): Deleted.
805         Add the [C] icon right next to the [T] (Type Profiler) icon.
806
807 2016-09-08  Joseph Pecoraro  <pecoraro@apple.com>
808
809         Web Inspector: Debugger sidebar should include a warning message breakpoints are disabled
810         https://bugs.webkit.org/show_bug.cgi?id=156719
811         <rdar://problem/25787932>
812
813         Reviewed by Brian Burg.
814
815         * Localizations/en.lproj/localizedStrings.js:
816         New strings for breakpoints disabled warning banner.
817
818         * UserInterface/Views/DebuggerSidebarPanel.css:
819         (.sidebar > .panel.navigation.debugger .warning-banner):
820         (.sidebar > .panel.navigation.debugger .warning-banner > a):
821         Generalize the class name to "warning-banner".
822
823         * UserInterface/Views/DebuggerSidebarPanel.js:
824         (WebInspector.DebuggerSidebarPanel):
825         (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
826         (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart):
827         (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped):
828         (WebInspector.DebuggerSidebarPanel.prototype._updateBreakpointsDisabledBanner):
829         Show / hide a breakpoints disabled warning banner as needed.
830         Only one banner shows at a time, so either the timing warning
831         or the generic breakpoints disabled banner will show.
832
833 2016-09-07  Johan K. Jensen  <johan_jensen@apple.com>
834
835         Web Inspector: Show resource timing details in Network waterfall
836         https://bugs.webkit.org/show_bug.cgi?id=160062
837
838         This patch adds a popover to network tab's and timeline tab's resource rows, when hovering
839         the recordbar. It shows times for the various parts of the resource load if they are available,
840         or it shows the reason for why not as text (e.g. cached resource, data URI).
841
842         Reviewed by Matt Baker.
843
844         * Localizations/en.lproj/localizedStrings.js:
845         Added new strings.
846
847         * UserInterface/Main.html:
848         Include new files.
849
850         * UserInterface/Views/ComputedStyleDetailsPanel.js:
851         (WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
852         Updated to use DataGrid property to hide header.
853
854         * UserInterface/Views/DataGrid.css:
855         (.data-grid.no-header > .header-wrapper):
856         (.data-grid.no-header > .header-wrapper > table.header): Deleted.
857         Hide the whole DataGrid header.
858
859         * UserInterface/Views/DataGrid.js:
860         (WebInspector.DataGrid):
861         (WebInspector.DataGrid.prototype.get headerVisible):
862         (WebInspector.DataGrid.prototype.set headerVisible):
863         Add property to control header visibility, so grid clients aren't forced to manipulate internal grid styles.
864
865         * UserInterface/Views/NetworkGridContentView.js:
866         (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
867         * UserInterface/Views/NetworkTimelineView.js:
868         (WebInspector.NetworkTimelineView.prototype._processPendingRecords):
869         * UserInterface/Views/OverviewTimelineView.js:
870         (WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
871         Pass in new parameter for whether or not to show the popover for resources.
872
873         * UserInterface/Views/ResourceTimelineDataGridNode.css: Added.
874         (.resource-timing-popover-content .data-grid):
875         (.resource-timing-popover-content .data-grid .graph-column > .cell-content):
876         (.resource-timing-popover-content .data-grid td):
877         (.resource-timing-popover-content .data-grid td.graph-column):
878         (.resource-timing-popover-content .data-grid table.data):
879         (.resource-timing-popover-content .data-grid tr:nth-last-child(2)):
880         Add styling for the popover.
881
882         * UserInterface/Views/ResourceTimelineDataGridNode.js:
883         (WebInspector.ResourceTimelineDataGridNode):
884         (WebInspector.ResourceTimelineDataGridNode.prototype.didAddRecordBar):
885         (WebInspector.ResourceTimelineDataGridNode.prototype.didRemoveRecordBar):
886         (WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
887         Creates the popover for a RecordBar and shows detailed info about segments.
888
889         * UserInterface/Views/ResourceTimingPopoverDataGridNode.js: Added.
890         (WebInspector.ResourceTimingPopoverDataGridNode):
891         (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get records):
892         (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get data):
893         (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get selectable):
894         (WebInspector.ResourceTimingPopoverDataGridNode.prototype.createCellContent):
895         DataGridNode for the popover.
896
897         * UserInterface/Views/TimelineDataGridNode.js:
898         (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
899         (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
900         (WebInspector.TimelineDataGridNode.prototype.didAddRecordBar):
901         (WebInspector.TimelineDataGridNode.prototype.didRemoveRecordBar):
902         (WebInspector.TimelineDataGridNode):
903         Added hooks for notifying subclasses.
904
905         * UserInterface/Views/TimelineRecordBar.js:
906         (WebInspector.TimelineRecordBar):
907         (WebInspector.TimelineRecordBar.fromElement):
908         Added symbol and static method to get the recordBar from a given element.
909
910 2016-09-07  Devin Rousso  <dcrousso+webkit@gmail.com>
911
912         Web Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger relayout of Properties section
913         https://bugs.webkit.org/show_bug.cgi?id=161652
914
915         Reviewed by Brian Burg.
916
917         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
918         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
919         Fixed style issues from r205518 <webkit.org/b/161405>.
920
921         * UserInterface/Views/ComputedStyleDetailsPanel.js:
922         (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
923         (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
924         (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
925         Added missing space between semicolon and curly-brace.
926
927         (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
928         Added updateLayout call to resize and repopulate the CodeMirror instance.
929
930 2016-09-07  Chris Dumez  <cdumez@apple.com>
931
932         Drop legacy canvas.probablySupportsContext()
933         https://bugs.webkit.org/show_bug.cgi?id=161692
934
935         Reviewed by Alex Christensen.
936
937         * UserInterface/Models/NativeFunctionParameters.js:
938
939 2016-09-06  Joseph Pecoraro  <pecoraro@apple.com>
940
941         Web Inspector: Avoid linkifying some schemes in console logs
942         https://bugs.webkit.org/show_bug.cgi?id=161648
943         <rdar://problem/16413270>
944
945         Reviewed by Brian Burg.
946
947         * UserInterface/Base/Main.js:
948         Don't linkify some kinds of links.
949
950 2016-09-06  Devin Rousso  <dcrousso+webkit@gmail.com>
951
952         Web Inspector: Allow hiding of CSS variables in Computed styles panel
953         https://bugs.webkit.org/show_bug.cgi?id=161405
954
955         Reviewed by Brian Burg.
956
957         * Localizations/en.lproj/localizedStrings.js:
958
959         * UserInterface/Models/CSSProperty.js:
960         (WebInspector.CSSProperty.prototype.update):
961         (WebInspector.CSSProperty.prototype.get variable):
962         Sets a member variable if the CSS property begins with "--", indicating that it is a variable.
963
964         (WebInspector.CSSProperty.prototype.get name):
965         (WebInspector.CSSProperty.prototype.get value):
966         (WebInspector.CSSProperty.prototype.get priority):
967         (WebInspector.CSSProperty.prototype.get overridden):
968         (WebInspector.CSSProperty.prototype.get anonymous):
969         (WebInspector.CSSProperty.prototype.get inherited):
970         (WebInspector.CSSProperty.prototype.get valid):
971         (WebInspector.CSSProperty.prototype.get styleSheetTextRange):
972         (WebInspector.CSSProperty.prototype.get relatedShorthandProperty):
973         (WebInspector.CSSProperty.prototype.get relatedLonghandProperties):
974         Changed styling to be one line getters.
975
976         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
977         (WebInspector.CSSStyleDeclarationTextEditor.PropertyVisibilityMode):
978         Dictionary for the three possible states of CSS property visibility:
979          - ShowAll
980          - HideVariables
981          - HideNonVariables
982
983         (WebInspector.CSSStyleDeclarationTextEditor):
984         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get shownProperties):
985         Added member variable that holds the list of properties resulting from the filter inside
986         WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties.
987
988         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get propertyVisibilityMode):
989         (WebInspector.CSSStyleDeclarationTextEditor.prototype.set propertyVisibilityMode):
990         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
991         Added member variable controlling the visibility of CSS properties.
992
993         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate):
994         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get style):
995         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties):
996         (WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties):
997         Changed styling to be one line getters.
998
999         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1000         (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
1001         (WebInspector.ComputedStyleDetailsPanel.prototype.filterDidChange):
1002         (WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
1003         (WebInspector.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
1004         Added an additional text editor that displays the list of CSS Variables visible to the
1005         selected node.  Also ties this new editor into the refresh/collapse/filter event handlers.
1006
1007         (WebInspector.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
1008         Renamed from WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged.
1009
1010         (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
1011         (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
1012         (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
1013         Changed styling to be one line getters.
1014
1015 2016-09-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1016
1017         Web Inspector: CodeMirror in resource content view should not show 'CR' characters
1018         https://bugs.webkit.org/show_bug.cgi?id=160465
1019
1020         Reviewed by Brian Burg.
1021
1022         * UserInterface/Views/CodeMirrorOverrides.css:
1023         (.CodeMirror .cm-invalidchar):
1024         Hide all invalid characters.
1025
1026 2016-09-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1027
1028         Web Inspector: Cannot undo in breakpoint editor
1029         https://bugs.webkit.org/show_bug.cgi?id=152858
1030
1031         Reviewed by Brian Burg.
1032
1033         * UserInterface/Controllers/BreakpointPopoverController.js:
1034         (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange):
1035         Since the breakpoint editor only allows a single line of JavaScript, it attempts to remove
1036         all "\n" characters.  During an "undo" action, this is not possible.
1037
1038 2016-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1039
1040         Web Inspector: Enable and enforce some recommended and stylistic ESLint rules
1041         https://bugs.webkit.org/show_bug.cgi?id=161567
1042
1043         Reviewed by Brian Burg.
1044
1045         * .eslintrc:
1046         * UserInterface/Base/EventListener.js:
1047         * UserInterface/Base/EventListenerSet.js:
1048         * UserInterface/Base/MIMETypeUtilities.js:
1049         * UserInterface/Base/Main.js:
1050         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1051         * UserInterface/Controllers/DOMTreeManager.js:
1052         * UserInterface/Controllers/TimelineManager.js:
1053         * UserInterface/Models/CSSKeywordCompletions.js:
1054         * UserInterface/Models/DOMNode.js:
1055         * UserInterface/Models/DOMNodeStyles.js:
1056         * UserInterface/Models/Frame.js:
1057         * UserInterface/Models/Geometry.js:
1058         * UserInterface/Models/ProfileNode.js:
1059         * UserInterface/Models/RenderingFrameTimelineRecord.js:
1060         * UserInterface/Models/SourceCodeLocation.js:
1061         * UserInterface/Protocol/RemoteObject.js:
1062         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1063         * UserInterface/Views/ContextMenu.js:
1064         * UserInterface/Views/DOMTreeContentView.js:
1065         * UserInterface/Views/DOMTreeElement.js:
1066         * UserInterface/Views/DataGrid.js:
1067         * UserInterface/Views/GeneralTreeElement.js:
1068         * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
1069         * UserInterface/Views/LogContentView.js:
1070         * UserInterface/Views/OpenResourceDialog.js:
1071         * UserInterface/Views/StyleDetailsPanel.js:
1072         * UserInterface/Views/VisualStyleDetailsPanel.js:
1073         * UserInterface/Views/VisualStyleKeywordPicker.js:
1074         * UserInterface/Views/VisualStylePropertyEditor.js:
1075         * UserInterface/Workers/Formatter/FormatterWorker.js:
1076
1077 2016-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1078
1079         Web Inspector: Run ESLint over UserInterface/Views
1080         https://bugs.webkit.org/show_bug.cgi?id=161564
1081
1082         Reviewed by Brian Burg.
1083
1084         * .eslintrc:
1085         * UserInterface/Views/BoxModelDetailsSectionRow.js:
1086         * UserInterface/Views/ButtonNavigationItem.js:
1087         * UserInterface/Views/CSSStyleDeclarationSection.js:
1088         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1089         * UserInterface/Views/CodeMirrorAdditions.js:
1090         * UserInterface/Views/CodeMirrorEditor.js:
1091         * UserInterface/Views/CodeMirrorFormatters.js:
1092         * UserInterface/Views/ColorWheel.js:
1093         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1094         * UserInterface/Views/ConsoleMessageView.js:
1095         * UserInterface/Views/ContentViewContainer.js:
1096         * UserInterface/Views/CookieStorageContentView.js:
1097         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1098         * UserInterface/Views/DOMStorageContentView.js:
1099         * UserInterface/Views/DOMTreeElement.js:
1100         * UserInterface/Views/DOMTreeOutline.js:
1101         * UserInterface/Views/DashboardContainerView.js:
1102         * UserInterface/Views/DataGrid.js:
1103         * UserInterface/Views/DataGridNode.js:
1104         * UserInterface/Views/DebuggerSidebarPanel.js:
1105         * UserInterface/Views/DefaultDashboardView.js:
1106         * UserInterface/Views/FontResourceContentView.js:
1107         * UserInterface/Views/FormattedValue.js:
1108         * UserInterface/Views/GradientEditor.js:
1109         * UserInterface/Views/GradientSlider.js:
1110         * UserInterface/Views/HeapSnapshotContentView.js:
1111         * UserInterface/Views/HeapSnapshotDataGridTree.js:
1112         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
1113         * UserInterface/Views/HoverMenu.js:
1114         * UserInterface/Views/LogContentView.js:
1115         * UserInterface/Views/MemoryTimelineOverviewGraph.js:
1116         * UserInterface/Views/MemoryTimelineView.js:
1117         * UserInterface/Views/NavigationSidebarPanel.js:
1118         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
1119         * UserInterface/Views/NewTabContentView.js:
1120         * UserInterface/Views/ObjectPreviewView.js:
1121         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1122         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
1123         * UserInterface/Views/OverviewTimelineView.js:
1124         * UserInterface/Views/Popover.js:
1125         * UserInterface/Views/ProbeSetDetailsSection.js:
1126         * UserInterface/Views/ProfileDataGridNode.js:
1127         * UserInterface/Views/ProfileDataGridTree.js:
1128         * UserInterface/Views/ProfileView.js:
1129         * UserInterface/Views/ResourceSidebarPanel.js:
1130         * UserInterface/Views/RulesStyleDetailsPanel.js:
1131         * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
1132         * UserInterface/Views/ScriptClusterTimelineView.js:
1133         * UserInterface/Views/ScriptDetailsTimelineView.js:
1134         * UserInterface/Views/ScriptProfileTimelineView.js:
1135         * UserInterface/Views/StackedLineChart.js:
1136         * UserInterface/Views/StorageSidebarPanel.js:
1137         * UserInterface/Views/TabBrowser.js:
1138         * UserInterface/Views/TextEditor.js:
1139         * UserInterface/Views/TimelineDataGridNode.js:
1140         * UserInterface/Views/TimelineOverview.js:
1141         * UserInterface/Views/TimelineRecordFrame.js:
1142         * UserInterface/Views/TimelineRecordingContentView.js:
1143         * UserInterface/Views/TimelineTabContentView.js:
1144         * UserInterface/Views/TreeOutline.js:
1145         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1146         * UserInterface/Views/VisualStylePropertyEditor.js:
1147         * UserInterface/Views/VisualStyleSelectorSection.js:
1148
1149 2016-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1150
1151         Web Inspector: Update ESLint rules and run it over most of UserInterface
1152         https://bugs.webkit.org/show_bug.cgi?id=161561
1153
1154         Reviewed by Brian Burg.
1155
1156         * .eslintrc:
1157         Updated ESLint rules.
1158
1159         * UserInterface/Base/InspectorFrontendHostStub.js:
1160         * UserInterface/Base/Main.js:
1161         * UserInterface/Base/Object.js:
1162         * UserInterface/Base/Platform.js:
1163         * UserInterface/Base/Setting.js:
1164         * UserInterface/Controllers/CSSStyleManager.js:
1165         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1166         * UserInterface/Controllers/CodeMirrorTextKillController.js:
1167         * UserInterface/Controllers/DebuggerManager.js:
1168         * UserInterface/Controllers/DragToAdjustController.js:
1169         * UserInterface/Controllers/ReplayManager.js:
1170         * UserInterface/Controllers/SourceMapManager.js:
1171         * UserInterface/Controllers/TimelineManager.js:
1172         * UserInterface/Controllers/TypeTokenAnnotator.js:
1173         * UserInterface/Controllers/VisualStyleCompletionsController.js:
1174         * UserInterface/Debug/Bootstrap.js:
1175         * UserInterface/Debug/UncaughtExceptionReporter.js:
1176         * UserInterface/Models/CSSRule.js:
1177         * UserInterface/Models/CallingContextTree.js:
1178         * UserInterface/Models/CallingContextTreeNode.js:
1179         * UserInterface/Models/ConsoleCommandResultMessage.js:
1180         * UserInterface/Models/CookieStorageObject.js:
1181         * UserInterface/Models/Frame.js:
1182         * UserInterface/Models/Geometry.js:
1183         * UserInterface/Models/IssueMessage.js:
1184         * UserInterface/Models/LayoutTimelineRecord.js:
1185         * UserInterface/Models/MemoryTimeline.js:
1186         * UserInterface/Models/NativeFunctionParameters.js:
1187         * UserInterface/Models/ProfileNode.js:
1188         * UserInterface/Models/RenderingFrameTimelineRecord.js:
1189         * UserInterface/Models/Resource.js:
1190         * UserInterface/Models/ScriptSyntaxTree.js:
1191         * UserInterface/Models/ScriptTimelineRecord.js:
1192         * UserInterface/Models/StackTrace.js:
1193         * UserInterface/Models/TypeSet.js:
1194         * UserInterface/Models/WrappedPromise.js:
1195         * UserInterface/Protocol/InspectorBackend.js:
1196         * UserInterface/Protocol/InspectorFrontendAPI.js:
1197         * UserInterface/Protocol/RemoteObject.js:
1198         * UserInterface/Protocol/ScriptProfilerObserver.js:
1199         * UserInterface/Test/FrontendTestHarness.js:
1200         * UserInterface/Test/InspectorProtocol.js:
1201         * UserInterface/Test/ProtocolTestHarness.js:
1202         * UserInterface/Test/Test.js:
1203         * UserInterface/Test/TestHarness.js:
1204         * UserInterface/Test/TestSuite.js:
1205         * UserInterface/Workers/Formatter/EsprimaFormatter.js:
1206         * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
1207
1208 2016-09-04  Commit Queue  <commit-queue@webkit.org>
1209
1210         Unreviewed, rolling out r205415.
1211         https://bugs.webkit.org/show_bug.cgi?id=161573
1212
1213         Many bots see inspector test failures, rolling out now and
1214         investigating later. (Requested by brrian on #webkit).
1215
1216         Reverted changeset:
1217
1218         "Web Inspector: unify Main.html and Test.html sources and
1219         generate different copies with the preprocessor"
1220         https://bugs.webkit.org/show_bug.cgi?id=161212
1221         http://trac.webkit.org/changeset/205415
1222
1223 2016-09-01  Brian Burg  <bburg@apple.com>
1224
1225         Web Inspector: unify Main.html and Test.html sources and generate different copies with the preprocessor
1226         https://bugs.webkit.org/show_bug.cgi?id=161212
1227         <rdar://problem/28017961>
1228
1229         Reviewed by Joseph Pecoraro.
1230
1231         Add a Derived Sources build phase to WebInspectorUI project. Generate
1232         Test.html and Main.html from a combined Inspector.html.in which has preprocessor
1233         macros to include/exclude files not needed by all main resource versions.
1234
1235         Similarly, start generating these Inspector files in WebInspectorUI/CMakeLists.txt.
1236         Move platform-specific bundling commands into PlatformGTK.cmake.
1237
1238         * CMakeLists.txt: Added.
1239         Set up a list of common frontend resources that specific ports can extend, such as
1240         with their own port-specific image resources. This list is the input to port-specific
1241         packaging/bundling scripts. Eventually, minification and concatenation should happen
1242         independently of the specific port by constructing the list of resources dynamically.
1243
1244         To ensure resources are always generated in WebInspectorUI and accessible from WebKit2,
1245         add a dummy target that is always out of date and depends on generated files, causing
1246         them to be built.
1247
1248         Also create a macro to run the preprocessor over Inspector.html.in using various
1249         preprocessor macro definitions. These are customizable by ports to control the
1250         appearance of ENGINEERING_BUILD, which guards resources not meant for shipping builds.
1251
1252         * Configurations/WebInspectorUIFramework.xcconfig:
1253         We need to use preprocessor.pm from WebCore. On Mac, this is a private header.
1254         Teach xcodebuild how to compute WEBCORE_PRIVATE_HEADERS_DIR. This is copied
1255         from WebKit2's configuration files.
1256
1257         * PlatformGTK.cmake: Added.
1258         Add GTK image resources to the resource list. Generate GResource catalog and embedded
1259         C file into DerivedSources. WebKit2 will copy over this file and compile it.
1260
1261         * Scripts/combine-resources.pl:
1262         (concatenateFiles):
1263         Remove the --strip option as this patch removes the only use of it.
1264
1265         * DerivedSources.make: Added.
1266         Generate Test.html and Main.html from the new combined Inspector.html.in.
1267         The 'preprocess_main_resource' rule was copied from WebCore's DerivedSources.make.
1268
1269         * Scripts/cssmin.py: Removed.
1270         * Scripts/jsmin.py: Removed.
1271         These scripts are copied from JavaScriptCore but nobody uses these copies. Remove them.
1272
1273         * Scripts/copy-user-interface-resources-dryrun.rb: Do some cleanup.
1274         - Stage scripts from SRCROOT into the tmpdir so dryrun doesn't require
1275           a previous build to process WebInspectorUI resources.
1276         - Run DerivedSources.make before copying/processing resources.
1277         - Add some environment variables for new phase and group by script affected.
1278         - Add a comment to clarify what this script is simulating.
1279
1280         * Scripts/copy-user-interface-resources.pl:
1281         - Use Main.html and Test.html from DerivedSources/ instead of SRCROOT.
1282         - Copy over Main.html and Test.html manually if not combining resources.
1283         - Remove the command to strip files from Debug/ for production. This is
1284           now redundant with ENGINEERING_BUILD guards in Inspector.html.in.
1285         - Use jsmin.py from JavaScriptCore instead of the local copy.
1286         - Wrap all multi-argument 'system' invocations so they are readable.
1287
1288         * Scripts/generate-webinspectorui-derived-sources: Added.
1289         Added boilerplate script to run DerivedSources.make for Mac port.
1290
1291         * Scripts/preprocess-main-resource.pl: Added.
1292         Trivially invoke the preprocessor on $0 using the given defines.
1293
1294         * UserInterface/Inspector.html.in: Renamed from Source/WebInspectorUI/UserInterface/Main.html.
1295         * UserInterface/Test.html: Removed.
1296         Combine Test.html and Main.html into Inspector.html.in. Add these guards:
1297         - INCLUDE_TEST_RESOURCES: for resources excluded from Main.html.
1298         - INCLUDE_UI_RESOURCES: for resources excluded from model tests.
1299         - ENGINEERING_BUILD: for resources not to be shipped (Debug/ directory).
1300
1301         * WebInspectorUI.xcodeproj/project.pbxproj:
1302         - Add new aggregate target 'Derived Sources' to project 'WebInspectorUI'.
1303         - Add dependency on 'Derived Sources' to WebInspectorUI.framework.
1304         - Remove unused copies of jsmin.py and cssmin.py.
1305
1306 2016-09-03  Devin Rousso  <dcrousso+webkit@gmail.com>
1307
1308         Web Inspector: Change Cmd-D from kill line to selecting next occurrence
1309         https://bugs.webkit.org/show_bug.cgi?id=161514
1310
1311         Reviewed by Brian Burg.
1312
1313         * UserInterface/Controllers/CodeMirrorTextKillController.js:
1314         (WebInspector.CodeMirrorTextKillController):
1315         (WebInspector.CodeMirrorTextKillController.prototype._handleTextChange):
1316         Remove Cmd-D mapping.
1317
1318         * UserInterface/External/CodeMirror/sublime.js:
1319         * UserInterface/Main.html:
1320         Add Sublime Text keybinding support.
1321
1322         * UserInterface/Views/CodeMirrorAdditions.js:
1323         Use Sublime text selectNextOccurrence for Cmd-D instead of deleteLine.
1324
1325 2016-09-03  Devin Rousso  <dcrousso+webkit@gmail.com>
1326
1327         Web Inspector: Add keyboard shortcut for switching to last used dock configuration
1328         https://bugs.webkit.org/show_bug.cgi?id=110328
1329
1330         Reviewed by Brian Burg.
1331
1332         * UserInterface/Base/Main.js:
1333         (WebInspector.contentLoaded):
1334         (WebInspector.updateDockedState):
1335         (WebInspector._togglePreviousDockConfiguration):
1336         Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D
1337         shortcut to toggle the docked state between the current and previous states.
1338
1339         (WebInspector._undock):
1340         (WebInspector._dockBottom):
1341         (WebInspector._dockRight):
1342         (WebInspector._updateDockNavigationItems):
1343         (WebInspector._dockedResizerMouseDown):
1344         (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
1345         Make use of new WebInspector.DockConfiguration instead of hardcoded strings.
1346
1347         (WebInspector.DockConfiguration):
1348         Create enum for different WebInspector dock modes:
1349          - Right
1350          - Bottom
1351          - Undocked
1352
1353 2016-09-03  Joseph Pecoraro  <pecoraro@apple.com>
1354
1355         Web Inspector: Address ESLint undefined variable errors
1356         https://bugs.webkit.org/show_bug.cgi?id=161563
1357
1358         Reviewed by Darin Adler.
1359
1360         * UserInterface/Controllers/CSSStyleManager.js:
1361         (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
1362         * UserInterface/Models/IssueMessage.js:
1363         (WebInspector.IssueMessage):
1364         * UserInterface/Protocol/InspectorBackend.js:
1365
1366 2016-09-03  Joseph Pecoraro  <pecoraro@apple.com>
1367
1368         Web Inspector: Address ESLint undefined variable errors in UserInterface/Views
1369         https://bugs.webkit.org/show_bug.cgi?id=161565
1370
1371         Reviewed by Darin Adler.
1372
1373         * UserInterface/Views/DataGrid.js:
1374         (WebInspector.DataGrid.prototype.columnWidthsMap):
1375         * UserInterface/Views/SourceCodeTextEditor.js:
1376         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
1377         * UserInterface/Views/TextContentView.js:
1378         (WebInspector.TextContentView.prototype._togglePrettyPrint):
1379
1380 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
1381
1382         Web Inspector: Provide a way to open an inspector frontend for a remote target
1383         https://bugs.webkit.org/show_bug.cgi?id=161515
1384         <rdar://problem/13182127>
1385
1386         Reviewed by Brian Burg.
1387
1388         * UserInterface/Base/InspectorFrontendHostStub.js:
1389         (WebInspector.InspectorFrontendHostStub.prototype.backendCommandsURL):
1390         Stub new InspectorFrontendHost methods. This value causes the
1391         frontend to load the latest protocol.
1392
1393         * UserInterface/Protocol/LoadInspectorBackendCommands.js:
1394         Use formalized backendCommandsURL, and if empty load the latest protocol.
1395
1396 2016-09-02  Johan K. Jensen  <johan_jensen@apple.com>
1397
1398         Web Inspector: NetworkTimelineOverviewGraph.MinimumBarPaddingTime is undefined
1399         https://bugs.webkit.org/show_bug.cgi?id=161510
1400
1401         Reviewed by Brian Burg.
1402
1403         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
1404         (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
1405         (WebInspector.NetworkTimelineOverviewGraph):
1406         Calculate the minimumBarPaddingTime in similar ways to TimelineRecordBar,
1407         by using MinimumWidthPixel, MinimumMarginPixel and MinimumDurationPerPixel as the secondsPerPixel value.
1408
1409         * UserInterface/Views/TimelineOverview.js:
1410         (WebInspector.TimelineOverview):
1411         Make Minimum/MaximumDurationPerPixel public properties.
1412
1413 2016-09-01  Devin Rousso  <dcrousso+webkit@gmail.com>
1414
1415         Web Inspector: Add visual indicator for shadow content in DOM tree
1416         https://bugs.webkit.org/show_bug.cgi?id=160874
1417
1418         Reviewed by Brian Burg.
1419
1420         * UserInterface/Views/DOMTreeElement.js:
1421         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
1422         (WebInspector.DOMTreeElement.prototype._buildTagDOM):
1423         Moved "shadow" class to parent element to allow easier styling.
1424
1425         * UserInterface/Views/DOMTreeOutline.css:
1426         (.tree-outline.dom):
1427         (.tree-outline.dom li):
1428         (.tree-outline.dom .shadow):
1429         (.tree-outline.dom li.parent.shadow::after):
1430         (.tree-outline.dom li.parent.shadow + ol.children.expanded):
1431         (.tree-outline.dom .html-fragment.shadow): Deleted.
1432
1433 2016-09-01  Matt Baker  <mattbaker@apple.com>
1434
1435         Web Inspector: Value checks of secondsPerPixel cause errors
1436         https://bugs.webkit.org/show_bug.cgi?id=161304
1437         <rdar://problem/28050070>
1438
1439         Reviewed by Brian Burg.
1440
1441         * UserInterface/Views/NetworkTimelineView.js:
1442         (WebInspector.NetworkTimelineView.prototype.reset):
1443         Clear resource node map, which is used to determine which nodes
1444         to refresh during layout.
1445
1446         (WebInspector.NetworkTimelineView.prototype.layout):
1447         Like OverviewTimelineView, only refresh node graphs when times change.
1448         This prevents refreshing nodes when (endTime - startTime) === 0.
1449
1450         * UserInterface/Views/TimelineRecordingContentView.js:
1451         (WebInspector.TimelineRecordingContentView.prototype._recordingReset):
1452         TimelineViews must be cleared before calling _updateTimes to avoid
1453         doing layouts in timeline views containing stale data.
1454
1455 2016-09-01  Devin Rousso  <dcrousso+webkit@gmail.com>
1456
1457         Web Inspector: add Object.awaitEvent which is like singleFireEventListener but returns a promise
1458         https://bugs.webkit.org/show_bug.cgi?id=161451
1459
1460         Reviewed by Brian Burg.
1461
1462         * UserInterface/Base/Object.js:
1463         (WebInspector.Object.awaitEvent):
1464         (WebInspector.Object.prototype.awaitEvent):
1465
1466 2016-09-01  Nikita Vasilyev  <nvasilyev@apple.com>
1467
1468         Web Inspector: Minification detection produces false positives for small resources
1469         https://bugs.webkit.org/show_bug.cgi?id=161159
1470         <rdar://problem/27995306>
1471
1472         Reviewed by Brian Burg.
1473
1474         Improve minification detection algorithm. Minified resources rarely have tabs and usually
1475         have a very few line breaks. Counting tabs as 4 spaces and line breaks as 8 makes minification
1476         detection heuristic more accurate. Increase ratio thresholds to accommodate for the changes in
1477         whitespaceScore.
1478
1479         * UserInterface/Base/Utilities.js:
1480         (isTextLikelyMinified):
1481         * UserInterface/Views/SourceCodeTextEditor.js:
1482         (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
1483         (WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified): Deleted.
1484
1485 2016-09-01  Nikita Vasilyev  <nvasilyev@apple.com>
1486
1487         REGRESSION (r201454): Web Inspector: Text caret isn't visible when editing an attribute
1488         https://bugs.webkit.org/show_bug.cgi?id=160986
1489         <rdar://problem/27916207>
1490
1491         Reviewed by Brian Burg.
1492
1493         * UserInterface/Views/DOMTreeOutline.css:
1494         (.tree-outline.dom li .selection-area):
1495         (.tree-outline.dom li > span):
1496         Place selection area under the edited field, the way it was before r201454.
1497
1498 2016-09-01  Brian Burg  <bburg@apple.com>
1499
1500         Web Inspector: tweak one UIString for "reasons for compositing"
1501         https://bugs.webkit.org/show_bug.cgi?id=161495
1502         <rdar://problem/13718387>
1503
1504         Reviewed by Simon Fraser.
1505
1506         Change "Element establishes a stacking context" to "Element may overlap other compositing element".
1507
1508         * Localizations/en.lproj/localizedStrings.js:
1509         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1510         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
1511         (WebInspector.LayerTreeDetailsSidebarPanel):
1512
1513 2016-08-30  Devin Rousso  <dcrousso+webkit@gmail.com>
1514
1515         Web Inspector: Remove largest common indentation spacing in debugger popover
1516         https://bugs.webkit.org/show_bug.cgi?id=161417
1517
1518         Reviewed by Joseph Pecoraro.
1519
1520         * UserInterface/Views/SourceCodeTextEditor.css:
1521         (.popover .debugger-popover-content.function > .body):
1522         (.popover .debugger-popover-content.function > .body .CodeMirror):
1523
1524         * UserInterface/Views/SourceCodeTextEditor.js:
1525         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
1526         Use CodeMirror and FormatterWorker to display a non-editable popover.
1527
1528         * UserInterface/Workers/Formatter/FormatterWorker.js:
1529         (FormatterWorker.prototype.formatJavaScript):
1530         Reworked logic to always attempt to format by wrapping content in "(...)".  This is
1531         necessary for unnamed functions, since they are not valid programs by themselves.
1532
1533 2016-08-30  Johan K. Jensen  <johan_jensen@apple.com>
1534
1535         Web Inspector: Add resource timing model with timing information
1536         https://bugs.webkit.org/show_bug.cgi?id=161314
1537
1538         Reviewed by Joseph Pecoraro.
1539
1540         Add a resource timing data model and populate it with info from the
1541         response from the backend.
1542
1543         * UserInterface/Controllers/FrameResourceManager.js:
1544         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
1545         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
1546         Forward timing data from response to Resource.js.
1547
1548         * UserInterface/Main.html: Add new ResourceTimingData.js.
1549         * UserInterface/Test.html: Add new ResourceTimingData.js.
1550
1551         * UserInterface/Models/Resource.js:
1552         (WebInspector.Resource): Instantiate ResourceTimingData object.
1553
1554         (WebInspector.Resource.prototype.get timing):
1555         (WebInspector.Resource.prototype.get firstTimestamp):
1556         (WebInspector.Resource.prototype.get lastTimestamp):
1557         (WebInspector.Resource.prototype.get duration):
1558         (WebInspector.Resource.prototype.get latency):
1559         (WebInspector.Resource.prototype.get receiveDuration):
1560         Update getters to use new timing model.
1561
1562         (WebInspector.Resource.prototype.updateForResponse):
1563         Update timing object with info from response.
1564
1565         (WebInspector.Resource.prototype.markAsFinished):
1566         Log response end time.
1567
1568         * UserInterface/Models/ResourceTimelineRecord.js:
1569         (WebInspector.ResourceTimelineRecord.prototype.get startTime):
1570         (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
1571         (WebInspector.ResourceTimelineRecord.prototype.get endTime):
1572         Update getters to use new timing model.
1573
1574         * UserInterface/Models/ResourceTimingData.js: Added.
1575         (WebInspector.ResourceTimingData):
1576         (WebInspector.ResourceTimingData.fromPayload):
1577         (WebInspector.ResourceTimingData.prototype.get startTime):
1578         (WebInspector.ResourceTimingData.prototype.get domainLookupStart):
1579         (WebInspector.ResourceTimingData.prototype.get domainLookupEnd):
1580         (WebInspector.ResourceTimingData.prototype.get connectStart):
1581         (WebInspector.ResourceTimingData.prototype.get connectEnd):
1582         (WebInspector.ResourceTimingData.prototype.get secureConnectionStart):
1583         (WebInspector.ResourceTimingData.prototype.get requestStart):
1584         (WebInspector.ResourceTimingData.prototype.get responseStart):
1585         (WebInspector.ResourceTimingData.prototype.get responseEnd):
1586         (WebInspector.ResourceTimingData.prototype.markResponseEndTime):
1587         Add new ResourceTimingData model and fall back on old timestamps
1588         for when data is unavailable.
1589
1590 2016-08-30  Alex Christensen  <achristensen@webkit.org>
1591
1592         Fix WebInspectorUI in internal Windows build
1593         https://bugs.webkit.org/show_bug.cgi?id=161221
1594         rdar://problem/28019023
1595
1596         Reviewed by Brent Fulgham and Joseph Pecoraro.
1597
1598         * WebInspectorUI.vcxproj/WebInspectorUI.make:
1599         * WebInspectorUI.vcxproj/WebInspectorUI.proj:
1600
1601 2016-08-29  Devin Rousso  <dcrousso+webkit@gmail.com>
1602
1603         Web Inspector: Unify Resource entry context menus
1604         https://bugs.webkit.org/show_bug.cgi?id=161301
1605
1606         Reviewed by Brian Burg.
1607
1608         * UserInterface/Main.html:
1609         Add ContextMenuUtilities.
1610
1611         * UserInterface/Views/ContextMenuUtilities.js: Added.
1612         (WebInspector.appendContextMenuItemsForResource):
1613         Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource:
1614          - Open in New Tab
1615          - Copy Link Address
1616          - Copy as cURL (only if the resource is not from a data URL)
1617          - Save File
1618
1619         * UserInterface/Views/ResourceTimelineDataGridNode.js:
1620         (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
1621         Make use of new WebInspector.appendContextMenuItemsForResource.
1622
1623         * UserInterface/Views/ResourceTreeElement.js:
1624         (WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
1625         Make use of new WebInspector.appendContextMenuItemsForResource.
1626
1627 2016-08-27  Joseph Pecoraro  <pecoraro@apple.com>
1628
1629         Web Inspector: Make localizedString.js diff and commit friendly (UTF16 -> UTF8)
1630         https://bugs.webkit.org/show_bug.cgi?id=28685
1631         <rdar://problem/16460975>
1632
1633         Reviewed by Darin Adler.
1634
1635         * Localizations/en.lproj/localizedStrings.js:
1636         * WebInspectorUI.xcodeproj/project.pbxproj:
1637         Convert the file to UTF-8. Future diffs should display as text.
1638
1639 2016-08-26  Joseph Pecoraro  <pecoraro@apple.com>
1640
1641         Web Inspector: Add protocol version for iOS 10
1642         https://bugs.webkit.org/show_bug.cgi?id=161266
1643         <rdar://problem/28036594>
1644
1645         Rubber-stamped by Brian Burg.
1646
1647         * Localizations/en.lproj/localizedStrings.js:
1648         Update missing localized strings.
1649
1650         * Versions/Inspector-iOS-10.0.json: Added.
1651         Protocol for iOS 10.
1652
1653         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
1654         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1655         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1656         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1657         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
1658         Re-generate the legacy backend commands files.
1659
1660 2016-08-25  Joseph Pecoraro  <pecoraro@apple.com>
1661
1662         Web Inspector: Show IndexedDB Database/ObjectStore/Index data in a details sidebar
1663         https://bugs.webkit.org/show_bug.cgi?id=161180
1664         <rdar://problem/28003417>
1665
1666         Reviewed by Brian Burg.
1667
1668         * Localizations/en.lproj/localizedStrings.js:
1669         * UserInterface/Main.html:
1670         New strings and file.
1671
1672         * UserInterface/Base/Main.js:
1673         (WebInspector.contentLoaded):
1674         Instantiate the global details sidebar.
1675
1676         * UserInterface/Views/StorageTabContentView.js:
1677         (WebInspector.StorageTabContentView):
1678         Include the new details sidebar in the Storage tab.
1679
1680         * UserInterface/Controllers/StorageManager.js:
1681         (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processKeyPath):
1682         Use the protocol generated types.
1683
1684         * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js: Added.
1685         (WebInspector.IndexedDatabaseDetailsSidebarPanel):
1686         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.inspect):
1687         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
1688         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype._keyPathString):
1689         Show the sidebar for an IndexedDatabase, ObjectStore, or Index.
1690         Show each section if we can based on the objects we have.
1691
1692 2016-08-25  Joseph Pecoraro  <pecoraro@apple.com>
1693
1694         Web Inspector: Provide a way to clear an IndexedDB object store
1695         https://bugs.webkit.org/show_bug.cgi?id=161167
1696         <rdar://problem/27996932>
1697
1698         Reviewed by Brian Burg.
1699
1700         * Localizations/en.lproj/localizedStrings.js:
1701         "Clear object store".
1702
1703         * UserInterface/Controllers/StorageManager.js:
1704         (WebInspector.StorageManager.prototype.clearObjectStore):
1705         Provide a wrapper for clearing an object store.
1706
1707         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
1708         (WebInspector.IndexedDatabaseObjectStoreContentView):
1709         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems):
1710         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._clearButtonClicked):
1711         Add a navigation button on ObjectStore content views to clear the object store.
1712
1713 2016-08-26  Devin Rousso  <dcrousso+webkit@gmail.com>
1714
1715         Web Inspector: Some CSS selectors in the UI aren't escaped
1716         https://bugs.webkit.org/show_bug.cgi?id=151378
1717
1718         Reviewed by Joseph Pecoraro.
1719
1720         * UserInterface/Base/DOMUtilities.js:
1721         (WebInspector.displayNameForNode): Deleted.
1722         (WebInspector.linkifyNodeReference):
1723         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1724
1725         * UserInterface/Models/DOMNode.js:
1726         (WebInspector.DOMNode.prototype.get escapedIdSelector):
1727         (WebInspector.DOMNode.prototype.get escapedClassSelector):
1728         (WebInspector.DOMNode.prototype.get displayName):
1729         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
1730         Rework escaping of ids and class names into separate public functions using CSS.escape.
1731
1732         * UserInterface/Views/CSSStyleDeclarationSection.js:
1733         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
1734         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1735
1736         * UserInterface/Views/DOMTreeDataGridNode.js:
1737         (WebInspector.DOMTreeDataGridNode.prototype._createNameCellDocumentFragment):
1738         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1739
1740         * UserInterface/Views/DOMTreeElementPathComponent.js:
1741         (WebInspector.DOMTreeElementPathComponent):
1742         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1743
1744         * UserInterface/Views/LayerTreeDataGridNode.js:
1745         (WebInspector.LayerTreeDataGridNode.prototype.set layer):
1746         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1747
1748         * UserInterface/Views/VisualStyleSelectorSection.js:
1749         (WebInspector.VisualStyleSelectorSection.prototype.update):
1750         Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.
1751
1752 2016-08-24  Matt Baker  <mattbaker@apple.com>
1753
1754         Web Inspector: unexpected cursor changes while dragging ruler handle in rendering frames timeline
1755         https://bugs.webkit.org/show_bug.cgi?id=161101
1756         <rdar://problem/27974117>
1757
1758         Reviewed by Brian Burg.
1759
1760         -webkit-grab(bing) cursor styles shouldn't be applied to the selection
1761         drag element when resizing.
1762
1763         * UserInterface/Views/TimelineRuler.css:
1764         (.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag):
1765         (.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag:active):
1766         (.timeline-ruler:not(.disabled) > .selection-drag): Deleted.
1767         (.timeline-ruler:not(.disabled) > .selection-drag:active): Deleted.
1768
1769 2016-08-24  Devin Rousso  <dcrousso+webkit@gmail.com>
1770
1771         Web Inspector: Shift-Tab should unindent selected line
1772         https://bugs.webkit.org/show_bug.cgi?id=159316
1773
1774         Reviewed by Joseph Pecoraro.
1775
1776         * UserInterface/Views/CodeMirrorAdditions.js:
1777         (CodeMirror.keyMap["default"]):
1778         Changed "Shift-Tab" mapping to "indentLess".
1779
1780 2016-08-23  Devin Rousso  <dcrousso+webkit@gmail.com>
1781
1782         Web Inspector: resource tree elements should provide "Download File" context menu items
1783         https://bugs.webkit.org/show_bug.cgi?id=158035
1784
1785         Reviewed by Joseph Pecoraro.
1786
1787         Add a context menu item to elements representing resources that
1788         initiates a download of that resource.
1789
1790         * Localizations/en.lproj/localizedStrings.js:
1791
1792         * UserInterface/Base/Main.js:
1793         (WebInspector.saveDataToFile):
1794         Add support for saving base64 objects.
1795
1796         * UserInterface/Base/MIMETypeUtilities.js:
1797         (WebInspector.fileExtensionForMIMEType):
1798         Returns a file extension for the given MIME type if able.
1799
1800         * UserInterface/Views/FrameTreeElement.js:
1801         (WebInspector.FrameTreeElement.prototype.onattach):
1802         Add contextmenu event listener since superclass onattach call is explicitly not used.
1803
1804         * UserInterface/Views/ResourceTimelineDataGridNode.js:
1805         (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
1806         Add Save File context menu item.
1807
1808         * UserInterface/Views/ResourceTreeElement.js:
1809         (WebInspector.ResourceTreeElement.prototype.onattach):
1810         (WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
1811         Add contextmenu event listener and Save File context menu item.
1812
1813 2016-08-23  Devin Rousso  <dcrousso+webkit@gmail.com>
1814
1815         Web Inspector: No open/copy src resource in context menu
1816         https://bugs.webkit.org/show_bug.cgi?id=159028
1817
1818         Reviewed by Joseph Pecoraro.
1819
1820         * Localizations/en.lproj/localizedStrings.js:
1821
1822         * UserInterface/Views/DOMTreeElement.js:
1823         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
1824         Add options in the context menu of link attributes of DOM nodes to
1825          - Open in New Tab
1826          - Reveal in Resources Tab
1827          - Copy Link Address
1828
1829 2016-08-23  Devin Rousso  <dcrousso+webkit@gmail.com>
1830
1831         Web Inspector: Add visual editor for spring() timing-function
1832         https://bugs.webkit.org/show_bug.cgi?id=159315
1833
1834         Reviewed by Joseph Pecoraro.
1835
1836         * Localizations/en.lproj/localizedStrings.js:
1837         * UserInterface/Main.html:
1838
1839         * UserInterface/Base/Utilities.js:
1840         (Number.prototype.maxDecimals):
1841         Limits the number of decimals for the number object via rounding.
1842
1843         * UserInterface/Controllers/CodeMirrorSpringEditingController.js:
1844         (WebInspector.CodeMirrorSpringEditingController.prototype.get initialValue):
1845         (WebInspector.CodeMirrorSpringEditingController.prototype.get cssClassName):
1846         (WebInspector.CodeMirrorSpringEditingController.prototype.popoverWillPresent):
1847         (WebInspector.CodeMirrorSpringEditingController.prototype.popoverDidPresent):
1848         (WebInspector.CodeMirrorSpringEditingController.prototype.popoverDidDismiss):
1849         (WebInspector.CodeMirrorSpringEditingController.prototype._springEditorSpringChanged):
1850         Controller for Spring editors inside CodeMirror instances.
1851
1852         * UserInterface/Models/Geometry.js:
1853         (WebInspector.Spring):
1854         (WebInspector.Spring.fromValues):
1855         (WebInspector.Spring.fromString):
1856         (WebInspector.Spring.prototype.copy):
1857         (WebInspector.Spring.prototype.toString):
1858         (WebInspector.Spring.prototype.solve):
1859         (WebInspector.Spring.prototype.calculateDuration):
1860         Spring data class based on <https://webkit.org/demos/spring/>.
1861
1862         * UserInterface/Models/TextMarker.js:
1863         (WebInspector.TextMarker.Type):
1864         Added Spring marker type.
1865
1866         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1867         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches):
1868         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update):
1869         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged):
1870         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged.update):
1871
1872         * UserInterface/Views/CodeMirrorTextMarkers.js:
1873         (createCodeMirrorSpringTextMarkers):
1874
1875         * UserInterface/Views/InlineSwatch.css:
1876         (.inline-swatch:matches(.bezier, .spring)):
1877         (.inline-swatch:matches(.bezier, .spring):hover):
1878         (.inline-swatch:matches(.bezier, .spring):active):
1879         (.inline-swatch:matches(.bezier, .spring) > span):
1880         (.inline-swatch.bezier): Deleted.
1881         (.inline-swatch.bezier:hover): Deleted.
1882         (.inline-swatch.bezier:active): Deleted.
1883         (.inline-swatch.bezier > span): Deleted.
1884
1885         * UserInterface/Views/InlineSwatch.js:
1886         (WebInspector.InlineSwatch):
1887         (WebInspector.InlineSwatch.prototype._fallbackValue):
1888         (WebInspector.InlineSwatch.prototype._swatchElementClicked):
1889         (WebInspector.InlineSwatch.prototype._valueEditorValueDidChange):
1890         (WebInspector.InlineSwatch.Type):
1891         Added support for Spring editor Inline Swatches.
1892
1893         * UserInterface/Views/SourceCodeTextEditor.js:
1894         (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
1895         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
1896
1897         * UserInterface/Views/SpringEditor.css:
1898         (.spring-editor):
1899         (.spring-editor > .spring-preview):
1900         (.spring-editor > .spring-preview > div):
1901         (.spring-editor > .spring-timing):
1902         (.spring-editor > .spring-timing > div):
1903         (.spring-editor > .spring-timing:matches(::before, ::after)):
1904         (.spring-editor > .spring-timing::before):
1905         (.spring-editor > .spring-timing::after):
1906         (.spring-editor > :matches(.spring-preview, .spring-timing) > div):
1907         (.spring-editor > .animate:matches(.spring-preview, .spring-timing) > div):
1908         (.spring-editor > .number-input-container > .number-input-row):
1909         (.spring-editor > .number-input-container > .number-input-row > .number-input-row-title):
1910         (.spring-editor > .number-input-container > .number-input-row > input):
1911         (.spring-editor > .number-input-container > .number-input-row > input[type="range"]):
1912
1913         * UserInterface/Views/SpringEditor.js:
1914         (WebInspector.SpringEditor):
1915         (WebInspector.SpringEditor.prototype.get element):
1916         (WebInspector.SpringEditor.prototype.set spring):
1917         (WebInspector.SpringEditor.prototype.get spring):
1918         (WebInspector.SpringEditor.prototype._handleNumberInputInput):
1919         (WebInspector.SpringEditor.prototype._handleNumberInputKeydown):
1920         (WebInspector.SpringEditor.prototype._handleNumberSliderInput):
1921         (WebInspector.SpringEditor.prototype._handleNumberSliderMousedown):
1922         (WebInspector.SpringEditor.prototype._handleNumberSliderMouseup):
1923         (WebInspector.SpringEditor.prototype._changeSpringForInput):
1924         (WebInspector.SpringEditor.prototype._resetPreviewAnimation):
1925         (WebInspector.SpringEditor.prototype._updatePreviewAnimation):
1926         (WebInspector.SpringEditor.Event):
1927         Visual editor for CSS Spring timing function values.  Organized into 5 rows:
1928          - Preview: shows movement of spring and total duration
1929          - Mass: slider and input for "mass" parameter
1930          - Stiffness: slider and input for "stiffness" parameter
1931          - Damping: slider and input for "damping" parameter
1932          - Initial Velocity: slider and input for "initial velocity" parameter
1933         The preview animation will loop indefinitely until the user clicks the animation row
1934         or changes the value of one of the parameters, at which point the duration will also
1935         be recalculated.
1936
1937         * UserInterface/Views/TextEditor.js:
1938         (WebInspector.TextEditor.prototype.createSpringMarkers):
1939         (WebInspector.TextEditor.prototype.editingControllerForMarker):
1940
1941         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1942         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
1943         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
1944         Add support for CSS spring timing functions by allowing parenthesis in comma separated
1945         values so long as there are no commas inside the parenthesis.
1946
1947         * UserInterface/Views/VisualStyleTimingEditor.css:
1948         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch:matches(.bezier, .spring)):
1949         (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.spring-value) > .inline-swatch.spring):
1950         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch.bezier): Deleted.
1951         (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.bezier-value) > .inline-swatch.bezier): Deleted.
1952
1953         * UserInterface/Views/VisualStyleTimingEditor.js:
1954         (WebInspector.VisualStyleTimingEditor):
1955         (WebInspector.VisualStyleTimingEditor.prototype.get value):
1956         (WebInspector.VisualStyleTimingEditor.prototype.set value):
1957         (WebInspector.VisualStyleTimingEditor.prototype.get synthesizedValue):
1958         (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
1959         (WebInspector.VisualStyleTimingEditor.prototype.get _bezierValue):
1960         (WebInspector.VisualStyleTimingEditor.prototype.set _bezierValue):
1961         (WebInspector.VisualStyleTimingEditor.prototype.get _springValue):
1962         (WebInspector.VisualStyleTimingEditor.prototype.set _springValue):
1963         (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
1964         (WebInspector.VisualStyleTimingEditor.prototype._springSwatchValueChanged):
1965         (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue): Renamed.
1966         (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue): Renamed.
1967         Duplicate Bezier custom timing function logic for Spring timing functions.
1968
1969 2016-08-22  Devin Rousso  <dcrousso+webkit@gmail.com>
1970
1971         Web Inspector: Styles -> Computed -> Box Model shows NaN x NaN for invisible elements
1972         https://bugs.webkit.org/show_bug.cgi?id=161038
1973
1974         Reviewed by Joseph Pecoraro.
1975
1976         * UserInterface/Base/Utilities.js:
1977         Add figureDash variable.
1978
1979         * UserInterface/Views/BoxModelDetailsSectionRow.js:
1980         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
1981         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement):
1982         Moved isNaN check of value to common createElement.
1983
1984 2016-08-22  Devin Rousso  <dcrousso+webkit@gmail.com>
1985
1986         Web Inspector: Visual styles sidebar should do something sane for SVG elements
1987         https://bugs.webkit.org/show_bug.cgi?id=148269
1988
1989         Reviewed by Joseph Pecoraro.
1990
1991         * Localizations/en.lproj/localizedStrings.js:
1992
1993         * UserInterface/Models/DOMNode.js:
1994         (WebInspector.DOMNode.prototype.get ownerSVGElement):
1995         (WebInspector.DOMNode.prototype.isSVGElement):
1996         Climbs ancestor tree to determine if node is an SVG node.
1997
1998         * UserInterface/Views/VisualStyleDetailsPanel.js:
1999         (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
2000         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
2001         (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
2002         (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
2003         (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection):
2004         (WebInspector.VisualStyleDetailsPanel.prototype._populateFillSection):
2005         (WebInspector.VisualStyleDetailsPanel.prototype._populateStrokeSection):
2006
2007         * UserInterface/Views/VisualStylePropertyEditor.css:
2008         (.visual-style-property-container.inactive):
2009         (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)):
2010
2011         * UserInterface/Views/VisualStyleRelativeNumberSlider.css:
2012         (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):
2013
2014         * UserInterface/Views/VisualStyleUnitSlider.css:
2015         (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider):
2016         (.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider): Deleted.
2017
2018 2016-08-22  Devin Rousso  <dcrousso+webkit@gmail.com>
2019
2020         Web Inspector: Visual Styles: "Text -> Content" section should only be visible for pseudo-element
2021         https://bugs.webkit.org/show_bug.cgi?id=158272
2022
2023         Reviewed by Joseph Pecoraro.
2024
2025         * Localizations/en.lproj/localizedStrings.js:
2026
2027         * UserInterface/Views/VisualStyleDetailsPanel.css:
2028         (.sidebar > .panel.details.css-style .visual > .details-section :matches(.details-section, .group).inactive):
2029         (.sidebar > .panel.details.css-style .visual > .details-section :matches(.details-section, .group).inactive > *):
2030         (.visual-style-property-container.transition): Deleted.
2031         (.visual-style-property-container.animation): Deleted.
2032
2033         * UserInterface/Views/VisualStyleDetailsPanel.js:
2034         (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout):
2035         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
2036         (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection):
2037
2038 2016-08-22  Devin Rousso  <dcrousso+webkit@gmail.com>
2039
2040         Web Inspector: Entering ":n" in Open Resource Dialog, where n > number of lines, should jump to the last line
2041         https://bugs.webkit.org/show_bug.cgi?id=160840
2042
2043         Reviewed by Joseph Pecoraro.
2044
2045         * UserInterface/Views/TextEditor.js:
2046         (TextEditor.prototype.revealPosition):
2047         Limit the given line and column to the maximum number of lines and the column count on the
2048         resulting line.
2049
2050 2016-08-22  Devin Rousso  <dcrousso+webkit@gmail.com>
2051
2052         Web Inspector: Add indicator to matched selector being a pseudo-element
2053         https://bugs.webkit.org/show_bug.cgi?id=160893
2054
2055         Reviewed by Joseph Pecoraro.
2056
2057         Instead of using "{}" icons for CSS rules, use a "P" icon with the same coloring to identify
2058         that the rule contains a pseudo-selector that is currently being applied to the selected element.
2059
2060         * UserInterface/Base/Utilities.js:
2061         (Array.prototype.toggleIncludes):
2062         Toggles whether or not to include the given value in the array based on its existence or a
2063         "force" flag parameter.
2064
2065         * UserInterface/Images/StyleRuleAuthorPseudo.svg:
2066         * UserInterface/Images/StyleRuleInspectorPseudo.svg:
2067         * UserInterface/Images/StyleRuleUserAgentPseudo.svg:
2068         * UserInterface/Images/StyleRuleUserPseudo.svg:
2069
2070         * UserInterface/Models/CSSRule.js:
2071         (WebInspector.CSSRule.prototype.hasMatchedPseudoElementSelector):
2072
2073         * UserInterface/Models/CSSSelector.js:
2074         (WebInspector.CSSSelector.prototype.isPseudoElementSelector):
2075
2076         * UserInterface/Views/CSSStyleDeclarationSection.js:
2077         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2078
2079         * UserInterface/Views/StyleRuleIcons.css:
2080         (.author-style-rule-icon.pseudo-element-selector .icon):
2081         (.user-style-rule-icon.pseudo-element-selector .icon):
2082         (.user-agent-style-rule-icon.pseudo-element-selector .icon):
2083         (.inspector-style-rule-icon.pseudo-element-selector .icon):
2084
2085          * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2086         (WebInspector.VisualStyleSelectorTreeItem):
2087         (WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
2088         (WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon):
2089
2090 2016-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
2091
2092         Web Inspector: Make an icon for Code Coverage Profiler
2093         https://bugs.webkit.org/show_bug.cgi?id=160872
2094         <rdar://problem/27855650>
2095
2096         Reviewed by Joseph Pecoraro.
2097
2098         Add a "C" icon, similar to the existing "T" (Type Profiler) icon.
2099         "C" can stand for Code Coverage or Control Flow.
2100
2101         * UserInterface/Images/NavigationItemCodeCoverage.svg: Added.
2102
2103 2016-08-19  Devin Rousso  <dcrousso+webkit@gmail.com>
2104
2105         Web Inspector: Console log counter on the dashboard should be better at displaying large numbers
2106         https://bugs.webkit.org/show_bug.cgi?id=160054
2107
2108         Reviewed by Matt Baker.
2109
2110         * Localizations/en.lproj/localizedStrings.js:
2111
2112         * UserInterface/Base/Utilities.js:
2113         (Number.abbreviate):
2114         Add logic for formatting a number as "#K", "#M", and "#B" when it is very large.
2115
2116         * UserInterface/Views/DefaultDashboardView.js:
2117         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
2118         (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber): Deleted.
2119         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
2120
2121 2016-08-17  Matt Baker  <mattbaker@apple.com>
2122
2123         Web Inspector: Network Tab should not layout if not visible
2124         https://bugs.webkit.org/show_bug.cgi?id=160920
2125         <rdar://problem/27876629>
2126
2127         Reviewed by Timothy Hatcher.
2128
2129         Avoid updating the current time when the Network tab is hidden.
2130         The timer, and any debounced timer cancellations, need to be stopped
2131         as soon as the view is hidden.
2132
2133         * UserInterface/Views/NetworkGridContentView.js:
2134         (WebInspector.NetworkGridContentView.prototype.hidden):
2135         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
2136         (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime):
2137         (WebInspector.NetworkGridContentView):
2138
2139 2016-08-17  Devin Rousso  <dcrousso+webkit@gmail.com>
2140
2141         Web Inspector: Select elements in DOM hierarchy are misaligned
2142         https://bugs.webkit.org/show_bug.cgi?id=160885
2143
2144         Reviewed by Timothy Hatcher.
2145
2146         * UserInterface/Views/HierarchicalPathComponent.css:
2147         (.hierarchical-path-component > select):
2148
2149 2016-08-17  Devin Rousso  <dcrousso+webkit@gmail.com>
2150
2151         Web Inspector: rapid updates to status icons in Visual Styles sidebar causes flicker
2152         https://bugs.webkit.org/show_bug.cgi?id=160887
2153
2154         Reviewed by Timothy Hatcher.
2155
2156         * UserInterface/Views/VisualStyleBasicInput.js:
2157         (WebInspector.VisualStyleBasicInput):
2158
2159         * UserInterface/Views/VisualStyleColorPicker.js:
2160         (WebInspector.VisualStyleColorPicker):
2161
2162         * UserInterface/Views/VisualStyleNumberInputBox.js:
2163         (WebInspector.VisualStyleNumberInputBox):
2164         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
2165
2166         * UserInterface/Views/VisualStylePropertyNameInput.js:
2167         (WebInspector.VisualStylePropertyNameInput):
2168
2169 2016-08-16  Nikita Vasilyev  <nvasilyev@apple.com>
2170
2171         Web Inspector: DOM nodes shift when hovering over them in Console
2172         https://bugs.webkit.org/show_bug.cgi?id=160789
2173         <rdar://problem/27815600>
2174
2175         Reviewed by Matt Baker.
2176
2177         * UserInterface/Views/FormattedValue.css:
2178         (.formatted-node > .tree-outline.dom ol): Deleted.
2179
2180 2016-08-16  Nikita Vasilyev  <nvasilyev@apple.com>
2181
2182         Web Inspector: Data grid has a double left border when the first column is hidden
2183         https://bugs.webkit.org/show_bug.cgi?id=160723
2184         <rdar://problem/27778081>
2185
2186         Reviewed by Timothy Hatcher.
2187
2188         This patch exploits the fact hiding columns that aren't first in DataGrid don't create double
2189         borders.
2190
2191         * UserInterface/Views/DataGrid.css:
2192         (.data-grid table.header,):
2193         (.data-grid :matches(th, td):first-child):
2194         (@media (-webkit-min-device-pixel-ratio: 2)):
2195         * UserInterface/Views/SourceCodeTextEditor.js:
2196         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
2197
2198 2016-08-16  Joseph Pecoraro  <pecoraro@apple.com>
2199
2200         Web Inspector: Do not request Scope Chain lists if section is collapsed (mainly Global Variables)
2201         https://bugs.webkit.org/show_bug.cgi?id=140567
2202         <rdar://problem/19504745>
2203
2204         Reviewed by Timothy Hatcher.
2205
2206         * UserInterface/Main.html:
2207         New file name.
2208
2209         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2210         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection):
2211         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties):
2212         Avoid fetching object properties until the user expands the section.
2213
2214         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2215         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
2216         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
2217         Avoid fetching scope variable properties until the user expands the section.
2218
2219         * UserInterface/Views/ObjectPropertiesDetailSectionRow.js: Renamed from Source/WebInspectorUI/UserInterface/Views/DetailsSectionPropertiesRow.js.
2220         (WebInspector.ObjectPropertiesDetailSectionRow):
2221         (WebInspector.ObjectPropertiesDetailSectionRow.prototype.get objectTree):
2222         (WebInspector.ObjectPropertiesDetailSectionRow.prototype._detailsSectionCollapsedStateChanged):
2223         Rename and simplify the class since it always has an ObjectTreeView.
2224         By default the section will auto-expand the ObjectTreeView, however
2225         if provided a details section group, it will defer expanion until
2226         the group expands.
2227
2228 2016-08-16  Devin Rousso  <dcrousso+webkit@gmail.com>
2229
2230         Web Inspector: add "Copy Selected" context menu item to Console
2231         https://bugs.webkit.org/show_bug.cgi?id=151836
2232
2233         Reviewed by Timothy Hatcher.
2234
2235         * Localizations/en.lproj/localizedStrings.js:
2236         * UserInterface/Views/LogContentView.js:
2237         (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
2238         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
2239         (WebInspector.LogContentView.prototype._mousedown):
2240
2241 2016-08-16  Devin Rousso  <dcrousso+webkit@gmail.com>
2242
2243         Web Inspector: Visual Styles: "Text -> Content" isn't escaped
2244         https://bugs.webkit.org/show_bug.cgi?id=158271
2245
2246         Reviewed by Timothy Hatcher.
2247
2248         * UserInterface/Base/Utilities.js:
2249         (String.prototype.hasMatchingEscapedQuotes):
2250         Checks that the given string has property escaped quotes (single or double).
2251
2252         * UserInterface/Views/VisualStyleBasicInput.js:
2253         (WebInspector.VisualStyleBasicInput):
2254         (WebInspector.VisualStyleBasicInput.prototype._handleInputElementInput):
2255
2256 2016-08-16  Joseph Pecoraro  <pecoraro@apple.com>
2257
2258         Modernize model objects simple getters
2259         https://bugs.webkit.org/show_bug.cgi?id=160863
2260
2261         Reviewed by Timothy Hatcher.
2262
2263         Simplify the style of many Model objects with basic accessors.
2264         We reduce them to a single line and group them together so
2265         that they can be more easily read at a glance.
2266
2267         * UserInterface/Models/AnalyzerMessage.js:
2268         * UserInterface/Models/ApplicationCacheFrame.js:
2269         * UserInterface/Models/ApplicationCacheManifest.js:
2270         * UserInterface/Models/BreakpointAction.js:
2271         * UserInterface/Models/CSSMedia.js:
2272         * UserInterface/Models/CSSSelector.js:
2273         * UserInterface/Models/CollectionEntry.js:
2274         * UserInterface/Models/CollectionEntryPreview.js:
2275         * UserInterface/Models/DOMStorageObject.js:
2276         * UserInterface/Models/DatabaseObject.js:
2277         * UserInterface/Models/DatabaseTableObject.js:
2278         * UserInterface/Models/ExecutionContext.js:
2279         * UserInterface/Models/GarbageCollection.js:
2280         * UserInterface/Models/IndexedDatabase.js:
2281         * UserInterface/Models/IndexedDatabaseObjectStore.js:
2282         * UserInterface/Models/IndexedDatabaseObjectStoreIndex.js:
2283         * UserInterface/Models/ObjectPreview.js:
2284         * UserInterface/Models/ProbeSet.js:
2285         * UserInterface/Models/PropertyDescriptor.js:
2286         * UserInterface/Models/PropertyPath.js:
2287         * UserInterface/Models/PropertyPreview.js:
2288         * UserInterface/Models/SourceCodePosition.js:
2289         * UserInterface/Models/SourceCodeSearchMatchObject.js:
2290         * UserInterface/Models/SourceCodeTimeline.js:
2291         * UserInterface/Models/StructureDescription.js:
2292         * UserInterface/Models/TextRange.js:
2293         * UserInterface/Models/Timeline.js:
2294         * UserInterface/Models/TimelineRecording.js:
2295         * UserInterface/Models/TypeDescription.js:
2296
2297 2016-08-15  Devin Rousso  <dcrousso+webkit@gmail.com>
2298
2299         Web Inspector: Large class lists are not easily discoverable with "Classes" quick-toggle
2300         https://bugs.webkit.org/show_bug.cgi?id=160856
2301
2302         Reviewed by Joseph Pecoraro.
2303
2304         * UserInterface/Base/DOMUtilities.js:
2305         (WebInspector.linkifyNodeReference):
2306         Add option to truncate the text of the linkified node.
2307
2308         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2309         (.sidebar > .panel.details.css-style > .content ~ .class-list-container):
2310         Increase the max-height to partially show additional classes if many are set.
2311
2312         * UserInterface/Views/RulesStyleDetailsPanel.js:
2313         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2314         Trucate the name of inherited nodes so they don't take up as much space in the sidebar.
2315
2316         * UserInterface/Views/VisualStyleSelectorSection.css:
2317         (.details-section.visual-style-selector-section > .header > .current-selector): Deleted.
2318         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles): Deleted.
2319         Removed since they are already inherited.
2320
2321 2016-08-15  Devin Rousso  <dcrousso+webkit@gmail.com>
2322
2323         Web Inspector: Close button on selected item in Network tab is misaligned
2324         https://bugs.webkit.org/show_bug.cgi?id=160884
2325
2326         Reviewed by Matt Baker.
2327
2328         * UserInterface/Views/NetworkSidebarPanel.css:
2329         (.sidebar > .panel.navigation.network .status .close.status-button):
2330
2331 2016-08-15  Devin Rousso  <dcrousso+webkit@gmail.com>
2332
2333         Web Inspector: Error/Warning icons are misplaced in the Visual sidebar
2334         https://bugs.webkit.org/show_bug.cgi?id=160875
2335
2336         Reviewed by Matt Baker.
2337
2338         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
2339         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-special-property-placeholder): Deleted.
2340         Reworked to apply more generally to editors without titles.
2341
2342         * UserInterface/Views/VisualStylePropertyEditor.css:
2343         (.visual-style-property-container.missing-dependency > .visual-style-property-editor-warning):
2344         (.visual-style-property-container.invalid-value > .visual-style-property-editor-warning):
2345         (.visual-style-property-container:matches(.missing-dependency, .invalid-value) > *:first-child:matches(.visual-style-property-value-container)):
2346         (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container) > .visual-style-special-property-placeholder):
2347         (.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency): Deleted.
2348         (.visual-style-property-container > .visual-style-property-editor-warning.invalid-value): Deleted.
2349         Reworked class names to be on the element container instead of the icon.
2350
2351         * UserInterface/Views/VisualStylePropertyEditor.js:
2352         (WebInspector.VisualStylePropertyEditor.prototype.update):
2353         (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
2354         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
2355         (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies):
2356
2357 2016-08-15  Saam Barati  <sbarati@apple.com>
2358
2359         Web Inspector: Introduce a method to enable code coverage profiler without enabling type profiler
2360         https://bugs.webkit.org/show_bug.cgi?id=160750
2361         <rdar://problem/27793469>
2362
2363         Reviewed by Joseph Pecoraro.
2364
2365         * UserInterface/Base/Main.js:
2366         (WebInspector.loaded):
2367         * UserInterface/Views/SourceCodeTextEditor.js:
2368         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
2369
2370 2016-08-12  Timothy Hatcher  <timothy@apple.com>
2371
2372         Web Inspector: Add application/vnd.api+json as a valid JSON MIME-type
2373         https://bugs.webkit.org/show_bug.cgi?id=160834
2374         rdar://problem/27608536
2375
2376         Reviewed by Joseph Pecoraro.
2377
2378         * UserInterface/Views/CodeMirrorAdditions.js: Add Add application/vnd.api+json to extraJSONTypes.
2379
2380 2016-08-12  Nikita Vasilyev  <nvasilyev@apple.com>
2381
2382         Web Inspector: Command-Shift-O causes infinite loop if web page has frames
2383         https://bugs.webkit.org/show_bug.cgi?id=160810
2384
2385         Reviewed by Joseph Pecoraro.
2386
2387         * UserInterface/Views/OpenResourceDialog.js:
2388         (WebInspector.OpenResourceDialog.prototype._addResourcesForFrame):
2389         "frame" doesn't change inside the loop.
2390
2391 2016-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2392
2393         Web Inspector: Support for :lineNumber syntax in Open Resource Dialog
2394         https://bugs.webkit.org/show_bug.cgi?id=159732
2395         <rdar://problem/27684491>
2396
2397         Reviewed by Matt Baker.
2398
2399         Allow the Open Resource Dialog to support line/column syntax.
2400         Other tools allow "<name>:<line>:<column>" syntax, where the
2401         location data at the end is optional. If the <name> portion
2402         is missing, the location can be used for the active content
2403         view, assuming it has text data and has lines.
2404
2405         * UserInterface/Base/Main.js:
2406         (WebInspector.focusedOrVisibleContentView):
2407         Expose a function to access the current focused / visible content view.
2408
2409         (WebInspector.dialogWasDismissed):
2410         Include passing on cookie data when showing a represented object.
2411
2412         * UserInterface/Views/Dialog.js:
2413         (WebInspector.Dialog):
2414         (WebInspector.Dialog.prototype.get visible):
2415         (WebInspector.Dialog.prototype.get delegate):
2416         (WebInspector.Dialog.prototype.get representedObject):
2417         (WebInspector.Dialog.prototype.get cookie):
2418         (WebInspector.Dialog.prototype.dismiss):
2419         * UserInterface/Models/ResourceQueryResult.js:
2420         (WebInspector.ResourceQueryResult):
2421         (WebInspector.ResourceQueryResult.prototype.get cookie):
2422         Include cookie data along with the represented object in matches
2423         and dialog results.
2424
2425         * UserInterface/Controllers/ResourceQueryController.js:
2426         (WebInspector.ResourceQueryController.prototype.executeQuery):
2427         Cut off location data from a query, and stash it on the query result.
2428         A query can be "<name>:<line>:<column>", and the line/column data
2429         becomes cookie data for the resource.
2430
2431         * UserInterface/Views/OpenResourceDialog.js:
2432         (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline):
2433         If the query is just ":<line>:<column>" have it jump to a location
2434         in the current content view if applicable.
2435
2436         (WebInspector.OpenResourceDialog.prototype._handleKeydownEvent):
2437         (WebInspector.OpenResourceDialog.prototype._treeSelectionDidChange):
2438         When dismissing, include cookie data.
2439
2440 2016-08-11  Nikita Vasilyev  <nvasilyev@apple.com>
2441
2442         REGRESSION (r204264): Web Inspector: Uncaught Exception in Network tab when reloading a web page
2443         https://bugs.webkit.org/show_bug.cgi?id=160781
2444         <rdar://problem/27810452>
2445
2446         Reviewed by Matt Baker.
2447
2448         WebInspector.TimelineDataGrid.prototype.closed was removed in r204264.
2449         Define a stub method on DataGrid so it's available to all its subclasses.
2450
2451         * UserInterface/Views/DataGrid.js:
2452         this._dataGrid.closed()
2453
2454 2016-08-10  Joseph Pecoraro  <pecoraro@apple.com>
2455
2456         Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes
2457         https://bugs.webkit.org/show_bug.cgi?id=160762
2458         <rdar://problem/27798271>
2459
2460         Reviewed by Ryosuke Niwa.
2461
2462         * UserInterface/Models/DOMNode.js:
2463         (WebInspector.DOMNode.prototype.isInUserAgentShadowTree):
2464         (WebInspector.DOMNode.prototype.isShadowRoot):
2465         (WebInspector.DOMNode.prototype.isUserAgentShadowRoot):
2466         (WebInspector.DOMNode.prototype.ancestorShadowRoot):
2467         (WebInspector.DOMNode.prototype.ancestorShadowHost):
2468         Add methods for determining the shadow root, host, and easily
2469         checking the type of shadow tree a node is in.
2470
2471         * UserInterface/Models/CSSStyleDeclaration.js:
2472         (WebInspector.CSSStyleDeclaration.prototype.get editable):
2473         * UserInterface/Views/DOMTreeElement.js:
2474         (WebInspector.DOMTreeElement.prototype.get editable):
2475         (WebInspector.DOMTreeElement.prototype._startEditingTarget):
2476         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
2477         * UserInterface/Views/RulesStyleDetailsPanel.js:
2478         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
2479         * UserInterface/Views/VisualStyleSelectorSection.js:
2480         (WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
2481         Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree.
2482
2483         * UserInterface/Views/DOMTreeOutline.js:
2484         (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
2485         Disallow "Log Element" on UserAgent shadow tree nodes.
2486
2487 2016-08-10  Nikita Vasilyev  <nvasilyev@apple.com>
2488
2489         Web Inspector: Can't click on the lower half of "S" icon in JavaScript Allocations timeline
2490         https://bugs.webkit.org/show_bug.cgi?id=160743
2491         <rdar://problem/27790098>
2492
2493         Reviewed by Timothy Hatcher.
2494
2495         "S" icons are covered by .scroll-container, which has `z-index: calc(var(--z-index-resizer) + 1)`.
2496         Set larger z-index on the "S" icons.
2497
2498         * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:
2499         (.timeline-overview-graph.heap-allocations > img.snapshot):
2500
2501 2016-08-08  Joseph Pecoraro  <pecoraro@apple.com>
2502
2503         Web Inspector: Popover for Color Picker should update position when window resizes
2504         https://bugs.webkit.org/show_bug.cgi?id=160321
2505
2506         Reviewed by Brian Burg.
2507
2508         * UserInterface/Views/Popover.js:
2509         (WebInspector.Popover):
2510         (WebInspector.Popover.prototype.set windowResizeHandler):
2511         (WebInspector.Popover.prototype.dismiss):
2512         (WebInspector.Popover.prototype.handleEvent):
2513         (WebInspector.Popover.prototype._addListenersIfNeeded):
2514         The popover already has a set of window listeners, add "resize" to
2515         the list. If there is a resize, invoke a resize handler. The resize
2516         handler will only be called while the popover is visible.
2517
2518         * UserInterface/Views/HeapSnapshotDataGridTree.js:
2519         (WebInspector.HeapSnapshotDataGridTree):
2520         (WebInspector.HeapSnapshotDataGridTree.prototype.get visible):
2521         (WebInspector.HeapSnapshotDataGridTree.prototype.get popoverNode):
2522         (WebInspector.HeapSnapshotDataGridTree.prototype.set popoverNode):
2523         (WebInspector.HeapSnapshotDataGridTree.prototype.get popoverTargetElement):
2524         (WebInspector.HeapSnapshotDataGridTree.prototype.set popoverTargetElement):
2525         (WebInspector.HeapSnapshotDataGridTree.prototype.get popover):
2526         (WebInspector.HeapSnapshotDataGridTree.prototype.willDismissPopover):
2527         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2528         Update heap snapshot popovers to reposition on window resize.
2529         Set a target to reposition around, since the popover is shared.
2530
2531         * UserInterface/Views/ProbeSetDetailsSection.js:
2532         (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
2533         Update probe expression popover to respect window resizes.
2534
2535         * UserInterface/Views/VisualStylePropertyEditor.js:
2536         (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
2537         Though not yet visible, update this to respect window resizes.
2538
2539         * UserInterface/Views/InlineSwatch.js:
2540         (WebInspector.InlineSwatch.prototype._swatchElementClicked):
2541         Add a window resize handler to reposition over the swatch element.
2542
2543         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2544         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updatePopoverForSelectedNode):
2545         (WebInspector.LayerTreeDetailsSidebarPanel): Deleted.
2546         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._windowResized): Deleted.
2547         * UserInterface/Views/TimelineDataGrid.js:
2548         (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon):
2549         (WebInspector.TimelineDataGrid): Deleted.
2550         (WebInspector.TimelineDataGrid.prototype.closed): Deleted.
2551         (WebInspector.TimelineDataGrid.prototype.handleEvent): Deleted.
2552         (WebInspector.TimelineDataGrid.prototype._windowResized): Deleted.
2553         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2554         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
2555         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
2556         Replace custom popover repositioning with standard Popover handling.
2557
2558 2016-08-07  Matt Baker  <mattbaker@apple.com>
2559
2560         REGRESSION (r201245): switching between Computed and Visual Styles panels causes internal error
2561         https://bugs.webkit.org/show_bug.cgi?id=160604
2562         <rdar://problem/27723416>
2563
2564         Reviewed by Timothy Hatcher.
2565
2566         * UserInterface/Views/StyleDetailsPanel.js:
2567         (WebInspector.StyleDetailsPanel.prototype.shown):
2568         Only perform a layout if needed. Subclasses access node style
2569         data during layout, which may not exist yet.
2570
2571 2016-08-06  Matt Baker  <mattbaker@apple.com>
2572
2573         REGRESSION (r203253): Node details sidebar flickers while resizing
2574         https://bugs.webkit.org/show_bug.cgi?id=160631
2575         <rdar://problem/27733024>
2576
2577         Reviewed by Timothy Hatcher.
2578
2579         Sidebar panel layouts can be expensive, and should be performed only
2580         when necessary (i.e., when the panel is shown for the first time, or
2581         model data changed while the panel was hidden).
2582
2583         * UserInterface/Views/Sidebar.js:
2584         (WebInspector.Sidebar.prototype._recalculateWidth):
2585
2586         * UserInterface/Views/SidebarPanel.js:
2587         (WebInspector.SidebarPanel.prototype.shown):
2588
2589         * UserInterface/Views/View.js:
2590         (WebInspector.View.prototype.updateLayoutIfNeeded):
2591         Update the layout if an initial layout was never performed.
2592
2593 2016-08-04  Matt Baker  <mattbaker@apple.com>
2594
2595         Web Inspector: UI polish for Edit Breakpoint dialog
2596         https://bugs.webkit.org/show_bug.cgi?id=160566
2597         <rdar://problem/27706378>
2598
2599         Reviewed by Timothy Hatcher.
2600
2601         * UserInterface/Images/BreakpointActionAdd.svg: Removed.
2602         * UserInterface/Images/BreakpointActionRemove.svg: Removed.
2603         Use Plus13.svg and Minus.svg instead.
2604
2605         * UserInterface/Views/BreakpointActionView.css:
2606         (.breakpoint-action-button-container):
2607         (.breakpoint-action-append-button,):
2608         (.breakpoint-action-append-button):
2609         (.breakpoint-action-remove-button):
2610         Button styles should match Xcode.
2611         (.breakpoint-action-append-button:active,): Deleted.
2612         Brightness on activation no longer needed.
2613
2614         * UserInterface/Views/BreakpointActionView.js:
2615         (WebInspector.BreakpointActionView):
2616         Add a button container so buttons can float together.
2617
2618         * UserInterface/Views/BreakpointPopoverController.css:
2619         (.wide .edit-breakpoint-popover-condition > .CodeMirror):
2620         Increase condition field width by the same amount as the popover.
2621
2622 2016-08-04  Matt Baker  <mattbaker@apple.com>
2623
2624         Web Inspector: Popover's arrow is misplaced
2625         https://bugs.webkit.org/show_bug.cgi?id=151236
2626         <rdar://problem/23527296>
2627
2628         Reviewed by Brian Burg.
2629
2630         * UserInterface/Views/Popover.js:
2631         (WebInspector.Popover.prototype._setAnchorPoint):
2632         Drive-by style fix.
2633         (WebInspector.Popover.prototype._drawFrame):
2634         Position the arrow so that the arrow head doesn't overlap the
2635         rounded corners of its edge.
2636
2637 2016-08-04  Matt Baker  <mattbaker@apple.com>
2638
2639         Web Inspector: Add placeholder graphs to TimelineOverview while editing
2640         https://bugs.webkit.org/show_bug.cgi?id=160485
2641         <rdar://problem/27670755>
2642
2643         Reviewed by Brian Burg.
2644
2645         Insert placeholder elements in TimelineOverview's graph container
2646         when editing instruments. This allows alternating overview graph styles
2647         to be shown for disabled instruments, and ensures that every tree element
2648         has a corresponding element in the overview during dragging/reordering
2649         of instruments (see https://webkit.org/b/157957).
2650
2651         * UserInterface/Views/TimelineOverview.js:
2652         (WebInspector.TimelineOverview.prototype._startEditingInstruments):
2653         (WebInspector.TimelineOverview.prototype._stopEditingInstruments):
2654
2655 2016-08-04  Matt Baker  <mattbaker@apple.com>
2656
2657         Web Inspector: UI polish for Open Quickly and Goto Line dialogs
2658         https://bugs.webkit.org/show_bug.cgi?id=159849
2659         <rdar://problem/27383068>
2660
2661         Reviewed by Brian Burg.
2662
2663         * UserInterface/Images/Search.svg: Added.
2664         Magnifying glass icon.
2665
2666         * UserInterface/Views/GoToLineDialog.css:
2667         (.go-to-line-dialog):
2668         (.go-to-line-dialog > div):
2669         (.go-to-line-dialog > div::before):
2670         * UserInterface/Views/OpenResourceDialog.css:
2671         (.open-resource-dialog > .field):
2672         (.open-resource-dialog > .field::before):
2673         (.open-resource-dialog.has-results > .tree-outline):
2674         (.open-resource-dialog > .tree-outline .item):
2675         Add search icon to left of the input field in both dialogs,
2676         and adjust styles to better match Xcode 8.
2677
2678         * UserInterface/Views/OpenResourceDialog.js:
2679         (WebInspector.OpenResourceDialog):
2680         Remove "input" event listener, as styles are now toggled in _updateFilter.
2681         (WebInspector.OpenResourceDialog.prototype._updateFilter):
2682         Toggle "has-results" and "non-empty" class names.
2683         (WebInspector.OpenResourceDialog.prototype._handleInputEvent): Deleted.
2684         (WebInspector.OpenResourceDialog.prototype._clear): Deleted.
2685         Moved class toggle to _updateFilter.
2686
2687 2016-08-03  Chris Dumez  <cdumez@apple.com>
2688
2689         Drop DocumentType.internalSubset attribute
2690         https://bugs.webkit.org/show_bug.cgi?id=160530
2691
2692         Reviewed by Alex Christensen.
2693
2694         Drop DocumentType.internalSubset attribute.
2695
2696         * UserInterface/Models/DOMNode.js:
2697         (WebInspector.DOMNode): Deleted.
2698         * UserInterface/Models/DOMSearchMatchObject.js:
2699         (WebInspector.DOMSearchMatchObject.titleForDOMNode): Deleted.
2700         * UserInterface/Views/DOMTreeElement.js:
2701         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Deleted.
2702
2703 2016-08-03  Matt Baker  <mattbaker@apple.com>
2704
2705         Web Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspected page
2706         https://bugs.webkit.org/show_bug.cgi?id=158028
2707         <rdar://problem/26516663>
2708
2709         Reviewed by Timothy Hatcher.
2710
2711         Remove Command-L shortcut for opening the Line Number dialog, since
2712         we already support Control-G.
2713
2714         * UserInterface/Views/SourceCodeTextEditor.js:
2715         (WebInspector.SourceCodeTextEditor): Deleted.
2716
2717 2016-08-01  Nikita Vasilyev  <nvasilyev@apple.com>
2718
2719         Web Inspector: Don't set `width:calc(100% - 0px); left:0px` on console messages
2720         https://bugs.webkit.org/show_bug.cgi?id=160428
2721         <rdar://problem/27646033>
2722
2723         Reviewed by Timothy Hatcher.
2724
2725         Console messages inside console.group() are indented. Console messages outside of
2726         console.group() aren't and there is no reason to set inline styles that do nothing
2727         on each one of them.
2728
2729         * UserInterface/Views/LogContentView.js:
2730         (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
2731
2732 2016-08-01  Matt Baker  <mattbaker@apple.com>
2733
2734         Web Inspector: Grid column resizer elements positioned incorrectly
2735         https://bugs.webkit.org/show_bug.cgi?id=160311
2736         <rdar://problem/27595586>
2737
2738         Reviewed by Brian Burg.
2739
2740         Perform a resize layout on a newly shown tab content view if the tab
2741         browser was resized before showing the tab.
2742
2743         * UserInterface/Views/TabBrowser.js:
2744         (WebInspector.TabBrowser):
2745         (WebInspector.TabBrowser.prototype.layout):
2746         Mark all recent tab content views (except for the current view)
2747         as needing a resize layout.
2748
2749         (WebInspector.TabBrowser.prototype._tabBarItemSelected):
2750         If the tab browser was resized while the view was hidden, update the
2751         view's layout for the new content view container size.
2752
2753 2016-08-01  Matt Baker  <mattbaker@apple.com>
2754
2755         Web Inspector: Waterfall graph in Network tab shows too much whitespace/dead time
2756         https://bugs.webkit.org/show_bug.cgi?id=160373
2757
2758         Reviewed by Timothy Hatcher.
2759
2760         Track the start and end time separate from the ruler to remove
2761         leading/trailing whitespace in the graph. Also prevent network
2762         record bars from being clipped.
2763
2764         * UserInterface/Views/NetworkGridContentView.js:
2765         (WebInspector.NetworkGridContentView):
2766         (WebInspector.NetworkGridContentView.prototype.get zeroTime):
2767         Set equal to the ruler start time.
2768         (WebInspector.NetworkGridContentView.prototype.reset):
2769         Reset start and end time.
2770         (WebInspector.NetworkGridContentView.prototype.layout):
2771         Set the initial values for ruler start/zero time if needed.
2772         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
2773         Set the start time if needed.
2774         Reduce debounce from 250ms to 150ms. This prevents the current time from
2775         exceeding the end time by as wide a margin, while keeping the current
2776         time "timer" from being restarted too frequently.
2777
2778         (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime):
2779         Update the ruler end time and schedule a layout.
2780         Add padding equal to the time needed to draw a network bar at minimum width
2781         to prevent bars from being clipped.
2782
2783 2016-07-29  Matt Baker  <mattbaker@apple.com>
2784
2785         Web Inspector: Inactive/active network bar segments overlap when latency is zero
2786         https://bugs.webkit.org/show_bug.cgi?id=160147
2787         <rdar://problem/27516007>
2788
2789         Reviewed by Joseph Pecoraro.
2790
2791         TimelineRecordBar should hide the inactive segment when its duration
2792         is less than the minimum displayable size. The active segment can
2793         assume the whole width of the bar.
2794
2795         * UserInterface/Views/TimelineOverviewGraph.js:
2796         (WebInspector.TimelineOverviewGraph.prototype.get secondsPerPixel):
2797         Make secondsPerPixel available during TimelineRecordBars.refresh.
2798
2799         * UserInterface/Views/TimelineRecordBar.js:
2800         (WebInspector.TimelineRecordBar.prototype.refresh):
2801         Check inactive duration against the minimum display size,
2802         and add/remove DOM nodes and bar styles as needed.
2803
2804 2016-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
2805
2806         REGRESSION (r195456): Web Inspector: Changing tabs in Styles sidebar shouldn't change sidebar's width
2807         https://bugs.webkit.org/show_bug.cgi?id=159646
2808         <rdar://problem/27286338>
2809
2810         Reviewed by Brian Burg.
2811
2812         Remember sidebar width on per tab basis. For example, Node, Styles, and Layers sidebar panels in
2813         Elements tab should all have the same width, but Resource sidebar panel in Debugger tab should NOT
2814         share its width Element tab's sidebar.
2815
2816         TabContentView stores the width but TabBrowser manages saving and restoring it.
2817         The same way collapsed sidebar state is handled.
2818
2819         * UserInterface/Views/Sidebar.js:
2820         (WebInspector.Sidebar.prototype.set collapsed):
2821         Don't change sidebar's width when sidebar panels change.
2822
2823         (WebInspector.Sidebar.prototype._recalculateWidth):
2824         (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Deleted.
2825         Pass newWidth as an argument so it can be saved in TabBrowser.
2826
2827         * UserInterface/Views/SidebarPanel.js:
2828         (WebInspector.SidebarPanel): Deleted.
2829         (WebInspector.SidebarPanel.prototype.get savedWidth): Deleted.
2830         (WebInspector.SidebarPanel.prototype.sizeDidChange): Deleted.
2831         Remove the per sidebar panel width setting that was added in r195456.
2832
2833         * UserInterface/Views/TabBrowser.js:
2834         (WebInspector.TabBrowser):
2835         (WebInspector.TabBrowser.prototype._detailsSidebarWidthDidChange):
2836         (WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView):
2837         * UserInterface/Views/TabContentView.js:
2838         (WebInspector.TabContentView):
2839         (WebInspector.TabContentView.prototype.get detailsSidebarWidthSetting):
2840         Store details sidebar width on TabContentView.
2841
2842 2016-07-29  Matt Baker  <mattbaker@apple.com>
2843
2844         Web Inspector: Assertion in NetworkGridContentView when updating data grid for the first time
2845         https://bugs.webkit.org/show_bug.cgi?id=160330
2846         <rdar://problem/27600905>
2847
2848         Reviewed by Brian Burg.
2849
2850         When the first grid node is added, a view layout and current time update
2851         are scheduled. A view layout occurring before the current time is updated
2852         should be skipped, since the ruler end time hasn't been set.
2853
2854         * UserInterface/Views/NetworkGridContentView.js:
2855         (WebInspector.NetworkGridContentView.prototype.layout):
2856         Skip layout until current time is updated.
2857         (WebInspector.NetworkGridContentView.prototype._update):
2858         Remove unused variables `startTime` and `endTime`. Don't force a layout
2859         if the elapsed time is zero.
2860
2861 2016-07-28  Chris Dumez  <cdumez@apple.com>
2862
2863         Parameters to Event.initEvent() should be mandatory
2864         https://bugs.webkit.org/show_bug.cgi?id=160320
2865
2866         Reviewed by Darin Adler.
2867
2868         Update WebInspector accordingly.
2869
2870         * UserInterface/Models/NativeFunctionParameters.js:
2871
2872 2016-07-28  Chris Dumez  <cdumez@apple.com>
2873
2874         First parameter to canvas.getContext() / probablySupportsContext() should be mandatory
2875         https://bugs.webkit.org/show_bug.cgi?id=160312
2876
2877         Reviewed by Darin Adler.
2878
2879         Update WebInspector accordingly.
2880
2881         * UserInterface/Models/NativeFunctionParameters.js:
2882
2883 2016-07-28  Matt Baker  <mattbaker@apple.com>
2884
2885         Web Inspector: Hiding a column which contains a TimelineRuler as the headerview, doesn't hide the headerView
2886         https://bugs.webkit.org/show_bug.cgi?id=160093
2887         <rdar://problem/27499300>
2888
2889         Reviewed by Joseph Pecoraro.
2890
2891         * UserInterface/Views/DataGrid.js:
2892         (WebInspector.DataGrid.prototype._positionHeaderViews):
2893         Remove early return so that a header view in a hidden column will have
2894         its width resized to zero, matching the column.
2895
2896 2016-07-28  Johan K. Jensen  <johan_jensen@apple.com>
2897
2898         Web Inspector: Waterfall view should be visible in Network tab and Network Timeline
2899         https://bugs.webkit.org/show_bug.cgi?id=160061
2900
2901         Reviewed by Joseph Pecoraro.
2902
2903         Adds a Timeline-column (waterfall) to the Network tab and Network Timeline.
2904
2905         * Localizations/en.lproj/localizedStrings.js:
2906         Add "Timeline" localized string.
2907
2908         * UserInterface/Views/NetworkGridContentView.js:
2909         (WebInspector.NetworkGridContentView):
2910         Add the Timeline-column with a TimelineRuler as the headerview,
2911         and properties for updating current time.
2912
2913         (WebInspector.NetworkGridContentView.prototype.get secondsPerPixel):
2914         (WebInspector.NetworkGridContentView.prototype.get startTime):
2915         (WebInspector.NetworkGridContentView.prototype.get currentTime):
2916         (WebInspector.NetworkGridContentView.prototype.get endTime):
2917         Acting as a graphDataSource used by TimelineDataGridNode.
2918
2919         (WebInspector.NetworkGridContentView.prototype.shown):
2920         (WebInspector.NetworkGridContentView.prototype.reset):
2921         (WebInspector.NetworkGridContentView.prototype.layout):
2922         Refresh graphs and update the TimelineRuler on layout changes.
2923
2924         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
2925         Add listeners for when resources are finished to stop the timer.
2926
2927         (WebInspector.NetworkGridContentView.prototype._update):
2928         (WebInspector.NetworkGridContentView.prototype._startUpdatingCurrentTime):
2929         (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime):
2930         Adding a timer which updates the TimelineRuler and the layout
2931         if any non-finished requests are running.
2932
2933         * UserInterface/Views/NetworkTimelineView.js:
2934         (WebInspector.NetworkTimelineView):
2935         Add the Timeline-column with a TimelineRuler as the headerview.
2936
2937         (WebInspector.NetworkTimelineView.prototype.get secondsPerPixel):
2938         (WebInspector.NetworkTimelineView.prototype.layout):
2939         Refresh graphs on layout changes.
2940
2941         * UserInterface/Views/TimelineDataGrid.css:
2942         (.tree-outline.timeline-data-grid .item:hover .subtitle):
2943         (.data-grid.timeline th):
2944         (.data-grid.timeline th.graph-column > .timeline-ruler):
2945         (.data-grid.timeline td.graph-column):
2946         (.data-grid.timeline td.graph-column > .cell-content):
2947         (.data-grid.timeline td.graph-column .timeline-record-bar):
2948
2949 2016-07-28  Chris Dumez  <cdumez@apple.com>
2950
2951         Parameter to table.deleteRow() / body.deleteRow() should be mandatory
2952         https://bugs.webkit.org/show_bug.cgi?id=160307
2953
2954         Reviewed by Ryosuke Niwa.
2955
2956         Update WebInspector accordingly.
2957
2958         * UserInterface/Models/NativeFunctionParameters.js:
2959
2960 2016-07-28  Chris Dumez  <cdumez@apple.com>
2961
2962         2 first parameters to input.setSelectionRange() should be mandatory
2963         https://bugs.webkit.org/show_bug.cgi?id=160310
2964
2965         Reviewed by Alex Christensen.
2966
2967         Update WebInspector accordingly.
2968
2969         * UserInterface/Models/NativeFunctionParameters.js:
2970
2971 2016-07-28  Chris Dumez  <cdumez@apple.com>
2972
2973         Parameter to tr.deleteCell() should be mandatory
2974         https://bugs.webkit.org/show_bug.cgi?id=160308
2975
2976         Reviewed by Ryosuke Niwa.
2977
2978         Report tr.deleteCell() parameter as mandatory.
2979
2980         * UserInterface/Models/NativeFunctionParameters.js:
2981
2982 2016-07-27  Nikita Vasilyev  <nvasilyev@apple.com>
2983
2984         Web Inspector: Visual Styles Sidebar should have only one column when it's narrow
2985         https://bugs.webkit.org/show_bug.cgi?id=159905
2986         <rdar://problem/27413248>
2987
2988         Reviewed by Joseph Pecoraro.
2989
2990         Many CSS values often get clipped in the two colunm layout. Change the layout to one colunm
2991         when visual style rows get too narrow.
2992
2993         * UserInterface/Views/VisualStyleDetailsPanel.css:
2994         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
2995         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .metric-section-row):
2996         Wrap all rows except for position/padding/margin controls.
2997
2998         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child): Deleted.
2999         Margin between the first and the second column doesn't make sense one column layout.
3000         Set the margin in .visual-style-property-container instead.
3001
3002         * UserInterface/Views/VisualStyleDetailsPanel.js:
3003         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
3004         * UserInterface/Views/VisualStylePropertyEditor.css:
3005         (.visual-style-property-container):
3006
3007 2016-07-27  Joseph Pecoraro  <pecoraro@apple.com>
3008
3009         [Mac] Web Inspector: CodeMirror-based editor bindings for Home and End don't match system behavior
3010         https://bugs.webkit.org/show_bug.cgi?id=160267
3011         <rdar://problem/27575553>
3012
3013         Reviewed by Brian Burg.
3014
3015         * UserInterface/Views/CodeMirrorEditor.js:
3016         (WebInspector.CodeMirrorEditor.create):
3017         (WebInspector.CodeMirrorEditor):
3018         Add some key map overrides for Home and End to better match system Mac
3019         behavior. This scrolls to the start or end of a document and does not
3020         change the cursor position.
3021
3022 2016-07-27  Brian Burg  <bburg@apple.com>
3023
3024         Regression(r203535): Uncaught Exception: TypeError: Not enough arguments at LayerTreeDataGridNode.js:47
3025         https://bugs.webkit.org/show_bug.cgi?id=160187
3026         <rdar://problem/27540435>
3027
3028         Reviewed by Eric Carlson.
3029
3030         After r203535, document.createTextNode() requires an argument.
3031
3032         * UserInterface/Views/LayerTreeDataGridNode.js:
3033         (WebInspector.LayerTreeDataGridNode.prototype.createCellContent):
3034         Since this use-site is for creating a cell in an unknown column,
3035         initialize it to '–'. Previously it would have been the string
3036         "undefined" or empty.
3037
3038 2016-07-24  Matt Baker  <mattbaker@apple.com>
3039
3040         Web Inspector: Filtering is broken in the Overview timeline view
3041         https://bugs.webkit.org/show_bug.cgi?id=160152
3042         <rdar://problem/27517481>
3043
3044         Reviewed by Joseph Pecoraro.
3045
3046         * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
3047         (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.filterableDataForColumn):
3048         Non-resource nodes should be filtered based on their display name.
3049
3050 2016-07-23  Nikita Vasilyev  <nvasilyev@apple.com>
3051
3052         REGRESSION (r202876): Web Inspector: Switching away from Console tab with a lot of messages is slow
3053         https://bugs.webkit.org/show_bug.cgi?id=160112
3054
3055         Reviewed by Joseph Pecoraro.
3056
3057         Showing NavigationSidebar before removing previous TabContentView can be very slow when
3058         TabContentView is ConsoleTabContentView with a lot of messages. The order of operations
3059         (show sidebar, change content view, show sidebar) caused more forced layouts. This patch
3060         reduces the number of forced layouts by changes the order to: show content view, show sidebar,
3061         show sidebar.
3062
3063         * UserInterface/Views/TabBrowser.js:
3064         (WebInspector.TabBrowser.prototype._tabBarItemSelected):
3065
3066 2016-07-20  Joseph Pecoraro  <pecoraro@apple.com>
3067
3068         Web Inspector: Pausing when Debugger tab is closed opens tab in wrong state
3069         https://bugs.webkit.org/show_bug.cgi?id=159946
3070         <rdar://problem/27429886>
3071
3072         Reviewed by Timothy Hatcher.
3073
3074         * UserInterface/Views/DebuggerSidebarPanel.js:
3075         (WebInspector.DebuggerSidebarPanel):
3076         At the end of construction, update the UI to match the current state
3077         of the world. Such as updating the UI if we are paused, or if the
3078         Timeline is capturing and we are temporarily disabling breakpoints.
3079
3080 2016-07-15  Timothy Hatcher  <timothy@apple.com>
3081
3082         Web Inspector: Make Open Quickly and Goto Line dialogs match Xcode 8
3083         https://bugs.webkit.org/show_bug.cgi?id=159823
3084         rdar://problem/27376501
3085
3086         Reviewed by Brian Burg.
3087
3088         * UserInterface/Views/GoToLineDialog.css:
3089         (.go-to-line-dialog):
3090         (.go-to-line-dialog > div > input):
3091         (.go-to-line-dialog > div > input::placeholder):
3092         (.go-to-line-dialog > div > img):
3093         (.go-to-line-dialog > div): Deleted.
3094         * UserInterface/Views/OpenResourceDialog.css:
3095         (.open-resource-dialog):
3096         (.open-resource-dialog > .field):
3097         (.open-resource-dialog > .field > input):
3098         (.open-resource-dialog > .field > input::placeholder):
3099         (.open-resource-dialog > .field > img):
3100         (.open-resource-dialog > .tree-outline .item): Deleted.
3101         (.open-resource-dialog > .tree-outline .item:first-child): Deleted.
3102
3103 2016-07-14  Joseph Pecoraro  <pecoraro@apple.com>
3104
3105         Web Inspector: Rename CCTNode to CallingContextTreeNode
3106         https://bugs.webkit.org/show_bug.cgi?id=159782
3107
3108         Reviewed by Timothy Hatcher.
3109
3110         * UserInterface/Models/CallingContextTree.js:
3111         * UserInterface/Models/CallingContextTreeNode.js:
3112         Extra to its own file and rename.
3113
3114         * UserInterface/Main.html:
3115         * UserInterface/Test.html:
3116         * UserInterface/TestStub.html:
3117         Include the new file.
3118
3119         * UserInterface/Views/ProfileDataGridNode.js:
3120         (WebInspector.ProfileDataGridNode):
3121         * UserInterface/Views/ProfileDataGridTree.js:
3122         (WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails):
3123         Rename shorthand "cctnode".
3124
3125 2016-07-14  Matt Baker  <mattbaker@apple.com>
3126
3127         Web Inspector: SidebarPanel classes should use View.layout instead of "refresh"
3128         https://bugs.webkit.org/show_bug.cgi?id=159745
3129         <rdar://problem/27335252>
3130
3131         Reviewed by Timothy Hatcher.
3132
3133         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
3134         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
3135         Use needsLayout.
3136
3137         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3138         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.layout):
3139         Move refresh logic to layout.
3140         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
3141         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleSheetAddedOrRemoved):
3142         Defer layout to coalesce updates.
3143         (WebInspector.CSSStyleDetailsSidebarPanel):
3144         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Deleted.
3145
3146         * UserInterface/Views/DOMDetailsSidebarPanel.js:
3147         (WebInspector.DOMDetailsSidebarPanel.prototype.set domNode):
3148         Use needsLayout.
3149
3150         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3151         Move refresh logic to layout.
3152
3153         * UserInterface/Views/DetailsSidebarPanel.js:
3154         (WebInspector.DetailsSidebarPanel.prototype.shown): Deleted.
3155         Base class already forces a layout when shown.
3156         (WebInspector.DetailsSidebarPanel.prototype.needsRefresh): Deleted.
3157         No longer needed.
3158         (WebInspector.DetailsSidebarPanel.prototype.refresh): Deleted.
3159         Renamed layout.
3160         (WebInspector.DetailsSidebarPanel): Deleted.
3161
3162         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
3163         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.supportsDOMNode):
3164         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._layerTreeDidChange):
3165         Use needsLayout.
3166         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
3167         Base class already forces a layout when shown.
3168
3169         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
3170         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
3171         Use needsLayout.
3172
3173         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
3174         (WebInspector.ScopeChainDetailsSidebarPanel):
3175         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame):
3176         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
3177         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
3178         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
3179         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
3180         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._didEvaluateExpression):
3181         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
3182         Use needsLayout.
3183
3184 2016-07-14  Joseph Pecoraro  <pecoraro@apple.com>
3185
3186         Web Inspector: Maintain selected function when switching between different profile representations
3187         https://bugs.webkit.org/show_bug.cgi?id=159778
3188         <rdar://problem/27355913>
3189
3190         Reviewed by Timothy Hatcher.
3191
3192         * UserInterface/Models/CallingContextTree.js:
3193         (WebInspector.CCTNode):
3194         (WebInspector.CCTNode.prototype.get hash):
3195         (WebInspector.CCTNode.prototype.findOrMakeChild):
3196         (WebInspector.CCTNode.prototype.equals):
3197         Expose the hash so two nodes can be compared cheaply.
3198
3199         * UserInterface/Views/ProfileView.js:
3200         (WebInspector.ProfileView.prototype._repopulateDataGridFromTree):
3201         (WebInspector.ProfileView.prototype._restoreSharedState):
3202         (WebInspector.ProfileView.prototype._dataGridNodeSelected):
3203         Share data between multiple ProfileViews. Currently just remembering
3204         and restoring the selected function.
3205
3206         * UserInterface/Views/ScriptProfileTimelineView.js:
3207         (WebInspector.ScriptProfileTimelineView):
3208         (WebInspector.ScriptProfileTimelineView.prototype._showProfileViewForOrientation):
3209         Include the shared data when constructing new ProfileViews.
3210
3211 2016-07-13  Matt Baker  <mattbaker@apple.com>
3212
3213         Uncaught Exception: TypeError: null is not an object (evaluating 'this._contentViewContainer.currentContentView.showsFilterBar')
3214         https://bugs.webkit.org/show_bug.cgi?id=159696
3215         <rdar://problem/27312356>
3216
3217         Reviewed by Joseph Pecoraro.
3218
3219         * UserInterface/Views/TimelineRecordingContentView.js:
3220         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
3221         Early return if content view not visible, since the event is sent during
3222         tab teardown and the current TimelineView may be invalid.
3223
3224 2016-07-12  Joseph Pecoraro  <pecoraro@apple.com>
3225
3226         REGRESSION(r192789): Web Inspector: Log Value context menu appears twice
3227         https://bugs.webkit.org/show_bug.cgi?id=159681
3228         <rdar://problem/27304804>
3229
3230         Reviewed by Brian Burg.
3231
3232         In r192789 contextmenu events may bubble up so that multiple handlers
3233         may append ContextMenuItems. In nested ObjectTrees / ObjectPreviews
3234         this could result in duplicate items. Add a flag on the bubbling event
3235         so that we only include Object Tree context menu items for the deepest
3236         part of the Object Tree, but still allow bubbling up to the root.
3237
3238         * UserInterface/Views/ObjectPreviewView.js:
3239         (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
3240         (WebInspector.ObjectPreviewView):
3241         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
3242         (WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler):
3243
3244 2016-07-12  Johan K. Jensen  <johan_jensen@apple.com>
3245
3246         Web Inspector: ER: Copy as cURL
3247         https://bugs.webkit.org/show_bug.cgi?id=159380