c8ff1e815880cd1d672037467fdc01533ba7f63c
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-08-04  Devin Rousso  <drousso@apple.com>
2
3         Web Inspector: "No Filter Results" overlaps other UI elements when docked Inspector is small
4         https://bugs.webkit.org/show_bug.cgi?id=147659
5
6         Reviewed by Timothy Hatcher.
7
8         Hide overflow of empty content label containers in navigation sidebars.
9
10         * UserInterface/Views/NavigationSidebarPanel.css:
11         (.sidebar > .panel.navigation > .empty-content-placeholder):
12
13 2015-08-04  Joseph Pecoraro  <pecoraro@apple.com>
14
15         Improve some LayoutTests/inspector flakey output for tests with InspectorTest.reloadPage
16         https://bugs.webkit.org/show_bug.cgi?id=147655
17
18         Reviewed by Timothy Hatcher.
19
20         * UserInterface/Base/Test.js:
21         (InspectorTest.reloadPage):
22         Immediately mark the page as reloading so that any logs that may happen
23         before the callback for PageAgent.reload wait to be sent after the page
24         load. What was happening in flakey results was that the logs were
25         happening before this callback, and therefore getting logged and then
26         resent after page load and getting relogged.
27
28 2015-08-04  Devin Rousso  <drousso@apple.com>
29
30         Web Inspector: Existing text after completions do not have their completion style removed once hint is applied
31         https://bugs.webkit.org/show_bug.cgi?id=147536
32
33         Reviewed by Timothy Hatcher.
34
35         No longer applies a class to the text after the completion hint.
36
37         * UserInterface/Controllers/CodeMirrorCompletionController.css:
38         (.CodeMirror .CodeMirror-lines .completion-hint):
39         * UserInterface/Controllers/CodeMirrorCompletionController.js:
40         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
41         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
42         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker):
43         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
44         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
45
46 2015-08-04  Matt Baker  <mattbaker@apple.com>
47
48         Web Inspector: Don't show 'Reveal In Debugger Tab' menu item if already in Debugger tab
49         https://bugs.webkit.org/show_bug.cgi?id=147554
50
51         Reviewed by Timothy Hatcher.
52
53         Check current tab before appending context menu items.
54
55         * UserInterface/Base/Main.js:
56         (WebInspector.isShowingDebuggerTab):
57         * UserInterface/Views/SourceCodeTextEditor.js:
58
59 2015-08-04  Devin Rousso  <drousso@apple.com>
60
61         Web Inspector: buttons in new tab screen lack hover styles
62         https://bugs.webkit.org/show_bug.cgi?id=145355
63
64         Reviewed by Timothy Hatcher.
65
66         Added hover brightness filter to new tab buttons.
67
68         * UserInterface/Views/NewTabContentView.css:
69         (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
70         (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
71
72 2015-08-04  Devin Rousso  <drousso@apple.com>
73
74         Web Inspector: Merge the styles sidebar navigation bar into a selectable item in the elements sidebar
75         https://bugs.webkit.org/show_bug.cgi?id=146878
76
77         Reviewed by Timothy Hatcher.
78
79         Replaced the default navigationItem of the CSSStyleDetailsSidebarPanel with a
80         ScopeRadioButtonNavigationItem that will open a select element containing the labels
81         of each style sidebar when reselected.
82
83         * Localizations/en.lproj/localizedStrings.js:
84         * UserInterface/Main.html:
85         * UserInterface/Views/ComputedStyleDetailsPanel.js:
86         (WebInspector.ComputedStyleDetailsPanel):
87         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
88         (.sidebar > .panel.details.css-style > .content):
89         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
90         (WebInspector.CSSStyleDetailsSidebarPanel):
91         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
92         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._panelMatchingIdentifier):
93         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleSelectedItemChanged):
94         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
95         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected): Deleted.
96         * UserInterface/Views/DOMDetailsSidebarPanel.js:
97         (WebInspector.DOMDetailsSidebarPanel):
98         * UserInterface/Views/DetailsSidebarPanel.js:
99         (WebInspector.DetailsSidebarPanel):
100         * UserInterface/Views/MetricsStyleDetailsPanel.js:
101         (WebInspector.MetricsStyleDetailsPanel):
102         * UserInterface/Views/NavigationBar.js:
103         (WebInspector.NavigationBar.prototype._mouseDown):
104         * UserInterface/Views/RulesStyleDetailsPanel.js:
105         (WebInspector.RulesStyleDetailsPanel):
106         * UserInterface/Views/ScopeRadioButtonNavigationItem.css: Added.
107         * UserInterface/Views/ScopeRadioButtonNavigationItem.js: Added.
108         * UserInterface/Views/SidebarPanel.js:
109         (WebInspector.SidebarPanel):
110         * UserInterface/Views/StyleDetailsPanel.js:
111         (WebInspector.StyleDetailsPanel):
112
113 2015-08-04  Matt Baker  <mattbaker@apple.com>
114
115         Web Inspector: timeline overview should visually distinguish selection bounds outside the visible duration
116         https://bugs.webkit.org/show_bug.cgi?id=132764
117
118         Reviewed by Brian Burg.
119
120         * UserInterface/Views/TimelineRuler.css:
121         (.timeline-ruler > .selection-handle.clamped):
122         Added style for selection handle outside visible range.
123         * UserInterface/Views/TimelineRuler.js:
124         (WebInspector.TimelineRuler.prototype._updateSelection):
125         Toggle style class and add tool tip showing the handle's value when outside the visible range.
126
127 2015-08-04  Brian J. Burg  <bburg@apple.com>
128
129         Web Inspector: Convert DataGrid and DataGridNode classes to ES6 classes
130         https://bugs.webkit.org/show_bug.cgi?id=147439
131
132         Reviewed by Joseph Pecoraro.
133
134         Along the way, inline a few style class names.
135
136         Elided mechanical changes from the Changelog.
137
138         * UserInterface/Views/DOMTreeDataGrid.js:
139         * UserInterface/Views/DataGrid.js:
140         * UserInterface/Views/DatabaseTableContentView.js:
141         * UserInterface/Views/IndexedDatabaseEntryDataGridNode.js:
142         * UserInterface/Views/LayerTreeDataGridNode.js:
143         * UserInterface/Views/LayoutTimelineDataGrid.js:
144         * UserInterface/Views/LayoutTimelineDataGridNode.js:
145         * UserInterface/Views/ProbeSetDataGrid.js:
146         * UserInterface/Views/ProfileNodeDataGridNode.js:
147         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
148         * UserInterface/Views/ResourceTimelineDataGridNode.js:
149         * UserInterface/Views/ScriptTimelineDataGrid.js:
150         * UserInterface/Views/ScriptTimelineDataGridNode.js:
151         * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
152         * UserInterface/Views/TimelineDataGrid.js:
153         * UserInterface/Views/TimelineDataGridNode.js: Move a function definition out
154         of an else branch, since this is not allowed in ES6 strict mode.
155
156 2015-08-04  Brian J. Burg  <burg@cs.washington.edu>
157
158         Web Inspector: console error when clicking AppCache folder tree element
159         https://bugs.webkit.org/show_bug.cgi?id=130042
160
161         Reviewed by Joseph Pecoraro.
162
163         * UserInterface/Views/StorageSidebarPanel.js:
164         (WebInspector.StorageSidebarPanel._treeElementSelected): Don't try to
165         create a content view for ApplicationCacheManifestTreeElement. We can
166         only create a content view for AppCache frames.
167
168 2015-08-04  Andres Gomez  <agomez@igalia.com>
169
170         [GTK] Add gtk icon to remove comma separated values from CSS properties
171         https://bugs.webkit.org/show_bug.cgi?id=147623
172
173         Reviewed by Carlos Garcia Campos.
174
175         * UserInterface/Images/gtk/Minus.svg: Added.
176
177 2015-08-03  Matt Baker  <mattbaker@apple.com>
178
179         Web Inspector: REGRESSION (r187708): Breakpoint dialog script action editing broken
180         https://bugs.webkit.org/show_bug.cgi?id=147553
181
182         Reviewed by Joseph Pecoraro.
183
184         Passing a widget to CodeMirror.setBookmark generates a viewportChange event, causing the
185         BreakpointActionView to update the popup for the breakpoint. The spurious update dismisses
186         the suggestion list, removes the CodeMirror completion hint, and causes other problems.
187
188         Now we ignore viewportChange events unless the viewport size changes. We still want to update
189         the popup when a carriage return or text wrap modifies the viewport.
190
191         * UserInterface/Views/BreakpointActionView.js:
192         (WebInspector.BreakpointActionView.prototype._updateBody):
193         Evaluate and Probe actions store the current viewport size.
194         (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
195         Check if viewport size has changed since last event.
196
197 2015-08-03  Brian J. Burg  <burg@cs.washington.edu>
198
199         Web Inspector: Application cache DataGrid has incorrect column heading styles
200         https://bugs.webkit.org/show_bug.cgi?id=147531
201
202         Reviewed by Joseph Pecoraro.
203
204         * UserInterface/Views/ApplicationCacheFrameContentView.js:
205         (WebInspector.ApplicationCacheFrameContentView): Remove erroneous
206         "storage-view" class, which is intended for databases, not AppCache.
207
208 2015-08-02  Matt Baker  <mattbaker@apple.com>
209
210         Web Inspector: Unnamespaced Formatter classes break CSSStyleDeclarationTextEditor
211         https://bugs.webkit.org/show_bug.cgi?id=147544
212
213         Reviewed by Brian Burg.
214
215         Added Formatter and FormatterContentBuilder to WebInspector namespace.
216
217         * UserInterface/Controllers/Formatter.js:
218         * UserInterface/Controllers/FormatterContentBuilder.js:
219         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
220         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
221         * UserInterface/Views/TextEditor.js:
222         (WebInspector.TextEditor.prototype.prettyPrint.prettyPrintAndUpdateEditor):
223         (WebInspector.TextEditor.prototype.prettyPrint):
224
225 2015-08-02  Matt Baker  <mattbaker@apple.com>
226
227         Web Inspector: REGRESSION (r187689): Timeline overview graph layout is broken
228         https://bugs.webkit.org/show_bug.cgi?id=147539
229
230         Reviewed by Brian Burg.
231
232         Removed timeline argument being passed to TimelineOverviewGraph constructor.
233
234         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
235         (WebInspector.LayoutTimelineOverviewGraph):
236         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
237         (WebInspector.NetworkTimelineOverviewGraph):
238         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
239         (WebInspector.RenderingFrameTimelineOverviewGraph):
240         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
241         (WebInspector.ScriptTimelineOverviewGraph):
242
243 2015-08-01  Nikita Vasilyev  <nvasilyev@apple.com>
244
245         Web Inspector: Replace "unknown-mac" CSS class with "el-capitan"
246         https://bugs.webkit.org/show_bug.cgi?id=147524
247
248         Reviewed by Timothy Hatcher.
249
250         * UserInterface/Base/Platform.js:
251         No need to repeat WebInspector.Platform.version.release for every possible case.
252
253         * UserInterface/Views/Toolbar.css:
254         (body:not(.el-capitan) .toolbar .dashboard-container):
255         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]):
256         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus):
257         (body:not(.el-capitan) .toolbar .item.button:active):
258         (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container):
259         (body.el-capitan .toolbar .dashboard-container):
260         (body.el-capitan .toolbar .search-bar > input[type="search"]):
261         (body.el-capitan .toolbar .search-bar > input[type="search"]:focus):
262         (@media (-webkit-min-device-pixel-ratio: 2)):
263         (body.el-capitan .toolbar .item.button:active):
264         (body.el-capitan.window-inactive .toolbar .dashboard-container):
265         (body:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
266         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]): Deleted.
267         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus): Deleted.
268         (body:not(.unknown-mac) .toolbar .item.button:active): Deleted.
269         (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
270         (body.unknown-mac .toolbar .dashboard-container): Deleted.
271         (body.unknown-mac .toolbar .search-bar > input[type="search"]): Deleted.
272         (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
273         (body.unknown-mac .toolbar .item.button:active): Deleted.
274         (body.unknown-mac.window-inactive .toolbar .dashboard-container): Deleted.
275
276 2015-07-31  Devin Rousso  <drousso@apple.com>
277
278         Web Inspector: inherited CSS rules disappear from Styles sidebar while editing
279         https://bugs.webkit.org/show_bug.cgi?id=147441
280
281         Reviewed by Timothy Hatcher.
282
283         If the user edits a style declaration such that it would dissapear mid-edit, prevent
284         the rules panel from refreshing until that editor is blurred.
285
286         * UserInterface/Views/CSSStyleDeclarationSection.js:
287         (WebInspector.CSSStyleDeclarationSection):
288         (WebInspector.CSSStyleDeclarationSection.prototype.get editorActive):
289         (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
290         (WebInspector.CSSStyleDeclarationSection.prototype._editorContentChanged):
291         (WebInspector.CSSStyleDeclarationSection.prototype._editorBlurred):
292         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
293         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
294         (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
295         * UserInterface/Views/RulesStyleDetailsPanel.js:
296         (WebInspector.RulesStyleDetailsPanel):
297         (WebInspector.RulesStyleDetailsPanel.prototype._removeSectionWithActiveEditor):
298         * UserInterface/Views/StyleDetailsPanel.js:
299         (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition):
300
301 2015-07-31  Devin Rousso  <drousso@apple.com>
302
303         Web Inspector: Autocomplete: Undo (Cmd+Z) doesn't work as expected
304         https://bugs.webkit.org/show_bug.cgi?id=147316
305
306         Reviewed by Timothy Hatcher.
307
308         Instead of replacing the text for a completion, which messes up the undo history, add
309         a unique marker that contains the remaining text for the current completion.
310
311         * UserInterface/Controllers/CodeMirrorCompletionController.js:
312         (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker):
313         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
314         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
315         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
316         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
317
318 2015-07-31  Devin Rousso  <drousso@apple.com>
319
320         Web Inspector: Scrolling "jumps" in console
321         https://bugs.webkit.org/show_bug.cgi?id=147482
322
323         Reviewed by Joseph Pecoraro.
324
325         Removed focus call on messageElement.
326
327         * UserInterface/Views/LogContentView.js:
328         (WebInspector.LogContentView):
329         (WebInspector.LogContentView.prototype._mousedown): Deleted.
330         (WebInspector.LogContentView.prototype._didFocus): Deleted.
331         (WebInspector.LogContentView.prototype._didBlur): Deleted.
332
333 2015-07-31  Joseph Pecoraro  <pecoraro@apple.com>
334
335         Web Inspector: Unskip / Unflake inspector tests after r187627
336         https://bugs.webkit.org/show_bug.cgi?id=147503
337
338         Reviewed by Brian Burg.
339
340         * UserInterface/Base/Test.js:
341         (InspectorTest.completeTest):
342         (InspectorTest.completeTest.signalCompletionToTestPage): Deleted.
343         (InspectorTest.testPageDidLoad):
344         Instead of immediately resending results if completeTest was called
345         during a reload before the load has completed, we just set a flag
346         to complete the test when the load completes. This consistently
347         resends the output to the new page for test output.
348         
349         (InspectorTest._resendResults):
350         Delete clear results. If the page had logged anything directly on
351         the page side (using InspectorTestProxy) this clearMessages would
352         have deleted those messages and not been able to recreate them.
353         Clearing messages wasn't really serving a purpose.
354
355 2015-07-31  Brian J. Burg  <burg@cs.washington.edu>
356
357         Web Inspector: Convert timeline view classes to ES6 classes
358         https://bugs.webkit.org/show_bug.cgi?id=147381
359
360         Reviewed by Joseph Pecoraro.
361
362         Along the way, inline a few style class names.
363
364         Elided mechanical changes from the Changelog.
365
366         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
367         * UserInterface/Views/LayoutTimelineView.js:
368         * UserInterface/Views/LinearTimelineOverview.js:
369         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
370         * UserInterface/Views/NetworkTimelineView.js:
371         * UserInterface/Views/OverviewTimelineView.js:
372         * UserInterface/Views/RenderingFrameTimelineOverview.js:
373         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
374         * UserInterface/Views/RenderingFrameTimelineView.js:
375         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
376         * UserInterface/Views/ScriptTimelineView.js:
377         * UserInterface/Views/TimelineOverview.js:
378         * UserInterface/Views/TimelineOverviewGraph.js:
379         * UserInterface/Views/TimelineRecordBar.js:
380         * UserInterface/Views/TimelineRecordFrame.js:
381         * UserInterface/Views/TimelineRecordingContentView.js:
382         * UserInterface/Views/TimelineRuler.js:
383         * UserInterface/Views/TimelineTabContentView.js:
384         * UserInterface/Views/TimelineView.js:
385
386 2015-07-30  Matt Baker  <mattbaker@apple.com>
387
388         Web Inspector: Better share objects generated from timeline events (Records)
389         https://bugs.webkit.org/show_bug.cgi?id=147029
390
391         Reviewed by Brian Burg.
392
393         This patch changes the way TimelineManager processes events, preserving the event hierarchy after
394         converting payloads to TimelineRecord objects by retaining parent-child relationships between records.
395         This eliminates the need for RenderingFrameTimelineRecord objects to create a separate copy of their child
396         records, and provides richer data for the Timelines UI.
397
398         * UserInterface/Controllers/TimelineManager.js:
399         (WebInspector.TimelineManager.prototype.eventRecorded):
400         Track the parent TimelineRecord as child record payloads are unpacked, and create
401         a hierarchy of TimelineRecords that mirrors the original event payload hierarchy.
402         (WebInspector.TimelineManager.prototype._processRecord):
403         RenderingFrameTimelineRecord is now processed like any other event.
404         (WebInspector.TimelineManager.prototype._processNestedRecords): Deleted.
405         Reverted back to a single pass over the incoming timeline event payload.
406
407         * UserInterface/Models/LayoutTimelineRecord.js:
408         (WebInspector.LayoutTimelineRecord):
409         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Deleted.
410         Removed duringComposite property and constructor parameter. No longer needed.
411
412         * UserInterface/Models/RenderingFrameTimelineRecord.js:
413         (WebInspector.RenderingFrameTimelineRecord.prototype.get children): Deleted.
414         Removed children property. It now exists on the base class TimelineRecord.
415         Also removed code that was needed to prevent paint time from being added twice.
416
417         * UserInterface/Models/ScriptTimelineRecord.js:
418         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
419         (WebInspector.ScriptTimelineRecord):
420         Removed workaround added in:
421         <https://webkit.org/b/147025> Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
422
423         * UserInterface/Models/TimelineRecord.js:
424         (WebInspector.TimelineRecord):
425         (WebInspector.TimelineRecord.prototype.get children):
426         Added children property.
427
428         * UserInterface/Views/RenderingFrameTimelineView.js:
429         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
430         Now that we preserve the frame's child record hierarchy, we process the entire tree,
431         yielding richer data grid output:
432
433            Frame X
434               Styles Recalculated
435                  Layout Invalidated
436               Composite
437                  Paint
438                  Paint
439
440         Compared to the previous output:
441
442            Frame X
443               Styles Recalculated
444               Layout Invalidated
445               Composite
446               Paint
447               Paint
448
449 2015-07-30  Devin Rousso  <drousso@apple.com>
450
451         Web Inspector: Support smart-pasting in the Rules sidebar panel
452         https://bugs.webkit.org/show_bug.cgi?id=147362
453
454         Reviewed by Timothy Hatcher.
455
456         When pasting over the selector, if the pasted text matches CSS rule
457         formatting, replace the selected rule with the selector and text in
458         the pasted data.
459
460         * UserInterface/Models/DOMNodeStyles.js:
461         (WebInspector.DOMNodeStyles.prototype.changeRule.changeCompleted):
462         (WebInspector.DOMNodeStyles.prototype.changeRule.styleChanged):
463         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
464         (WebInspector.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged):
465         (WebInspector.DOMNodeStyles.prototype.changeRule):
466         * UserInterface/Views/CSSStyleDeclarationSection.js:
467         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
468         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
469         (WebInspector.CSSStyleDeclarationSection):
470
471 2015-07-30  Matt Baker  <mattbaker@apple.com>
472
473         Web Inspector: Fix typo in frame duration filtering console.assert message
474         https://bugs.webkit.org/show_bug.cgi?id=147458
475
476         Rubber-stamped by Joseph Pecoraro.
477
478         * UserInterface/Views/RenderingFrameTimelineView.js:
479         (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
480
481 2015-07-30  Nikita Vasilyev  <nvasilyev@apple.com>
482
483         Web Inspector: Regression: %c is broken for console.group
484         https://bugs.webkit.org/show_bug.cgi?id=147436
485
486         Reviewed by Timothy Hatcher.
487
488         * UserInterface/Views/ConsoleMessageView.js:
489         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
490
491 2015-07-30  Devin Rousso  <drousso@apple.com>
492
493         Web Inspector: Add special case for deleting the next character when editing rules in the CSS Sidebar
494         https://bugs.webkit.org/show_bug.cgi?id=147442
495
496         Reviewed by Timothy Hatcher.
497
498         If the cursor is on the first position of the first line in a CSS Rule and that line
499         has no content, delete the line instead of doing nothing.
500
501         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
502         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
503
504 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
505
506         Web Inspector: Improve styles of debugger popovers
507         https://bugs.webkit.org/show_bug.cgi?id=147437
508
509         Reviewed by Timothy Hatcher.
510
511         Use non-monospace font and improve spacing.
512
513         * UserInterface/Views/SourceCodeTextEditor.css:
514         (.popover .debugger-popover-content > .title):
515         (.popover .debugger-popover-content > .body):
516
517 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
518
519         Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
520         https://bugs.webkit.org/show_bug.cgi?id=147435
521
522         Reviewed by Timothy Hatcher.
523
524         * UserInterface/Views/SourceCodeTextEditor.css:
525         (.popover .debugger-popover-content > .body):
526         (@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.
527
528 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
529
530         Web Inspector: " = $0" text in the Elements panel should anti-aliased
531         https://bugs.webkit.org/show_bug.cgi?id=147432
532
533         Reviewed by Timothy Hatcher.
534
535         * UserInterface/Views/DOMTreeOutline.css:
536         (.dom-tree-outline li.selected > span::after):
537         (.dom-tree-outline:focus li.selected > span::after):
538         Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.
539
540 2015-07-29  Matt Baker  <mattbaker@apple.com>
541
542         Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
543         https://bugs.webkit.org/show_bug.cgi?id=147419
544
545         Reviewed by Timothy Hatcher.
546
547         * Localizations/en.lproj/localizedStrings.js:
548         New scope bar item labels.
549
550         * UserInterface/Views/RenderingFrameTimelineView.js:
551         (WebInspector.RenderingFrameTimelineView):
552         New scope bar for frame duration filtering.
553         (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
554         (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
555         Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
556         (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
557         Force sidebar filtering when duration filter changes.
558
559 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
560
561         Web Inspector: console.groupEnd causes negative indent when no group is active
562         https://bugs.webkit.org/show_bug.cgi?id=147375
563
564         Reviewed by Timothy Hatcher.
565
566         * UserInterface/Views/LogContentView.js:
567         (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
568
569 2015-07-28  Brian J. Burg  <burg@cs.washington.edu>
570
571         Web Inspector: Convert NavigationItem subclasses to ES6
572         https://bugs.webkit.org/show_bug.cgi?id=147364
573
574         Reviewed by Timothy Hatcher.
575
576         Convert remaining NavigationItem subclasses to use ES6 class.
577
578         Also promote the _additionalClassNames to be a protected getter,
579         and inline the style class names that are only used in one place.
580
581         Mechanical changes are elided from the changelog.
582
583         * UserInterface/Views/ActivateButtonNavigationItem.js:
584         (WebInspector.ActivateButtonNavigationItem):
585         (WebInspector.ActivateButtonNavigationItem.prototype.get additionalClassNames):
586         * UserInterface/Views/ActivateButtonToolbarItem.js:
587         (WebInspector.ActivateButtonToolbarItem):
588         * UserInterface/Views/ButtonNavigationItem.js:
589         (WebInspector.ButtonNavigationItem):
590         (WebInspector.ButtonNavigationItem.prototype.get additionalClassNames):
591         * UserInterface/Views/ButtonToolbarItem.js:
592         (WebInspector.ButtonToolbarItem):
593         * UserInterface/Views/ControlToolbarItem.js:
594         (WebInspector.ControlToolbarItem):
595         (WebInspector.ControlToolbarItem.prototype.get additionalClassNames):
596         * UserInterface/Views/DividerNavigationItem.js:
597         (WebInspector.DividerNavigationItem):
598         (WebInspector.DividerNavigationItem.prototype.get additionalClassNames):
599         * UserInterface/Views/FlexibleSpaceNavigationItem.js:
600         (WebInspector.FlexibleSpaceNavigationItem):
601         (WebInspector.FlexibleSpaceNavigationItem.prototype.get additionalClassNames):
602         * UserInterface/Views/HierarchicalPathNavigationItem.js:
603         (WebInspector.HierarchicalPathNavigationItem.prototype.get additionalClassNames):
604         (WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames): Deleted.
605         * UserInterface/Views/NavigationItem.js:
606         (WebInspector.NavigationItem):
607         (WebInspector.NavigationItem.prototype.get _classNames):
608         * UserInterface/Views/RadioButtonNavigationItem.js:
609         (WebInspector.RadioButtonNavigationItem):
610         (WebInspector.RadioButtonNavigationItem.prototype.get additionalClassNames):
611         * UserInterface/Views/ToggleButtonNavigationItem.js:
612         (WebInspector.ToggleButtonNavigationItem):
613         (WebInspector.ToggleButtonNavigationItem.prototype.get additionalClassNames):
614         * UserInterface/Views/ToggleControlToolbarItem.js:
615         (WebInspector.ToggleControlToolbarItem):
616         (WebInspector.ToggleControlToolbarItem.prototype.get additionalClassNames):
617
618 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
619
620         Web Inspector: Include <template> node content in DOM Tree
621         https://bugs.webkit.org/show_bug.cgi?id=147335
622
623         Reviewed by Timothy Hatcher.
624
625         * UserInterface/Controllers/DOMTreeManager.js:
626         (WebInspector.DOMTreeManager.prototype._unbind):
627         Cleanup templateContent when DOMNodes get removed.
628
629         * UserInterface/Models/DOMNode.js:
630         (WebInspector.DOMNode.prototype.templateContent):
631         Create a DOMNode from the payload's templateContent.
632
633         * UserInterface/Views/DOMTreeElement.js:
634         (WebInspector.DOMTreeElement.prototype._singleTextChild):
635         (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
636         (WebInspector.DOMTreeElement.prototype._visibleChildren):
637         A DOMTreeElement has children if the DOMNode has template content.
638
639 2015-07-28  Devin Rousso  <drousso@apple.com>
640
641         Web Inspector: Invalid selectors can be applied to the stylesheet
642         https://bugs.webkit.org/show_bug.cgi?id=147230
643
644         Reviewed by Timothy Hatcher.
645
646         * Localizations/en.lproj/localizedStrings.js:
647
648         * UserInterface/Models/CSSRule.js:
649         (WebInspector.CSSRule.prototype.set selectorText):
650         Fires an event with data stating if the newly applied selector was valid or not.
651         (WebInspector.CSSRule.prototype._selectorRejected):
652         (WebInspector.CSSRule.prototype._selectorResolved):
653         (WebInspector.CSSRule):
654
655         * UserInterface/Models/DOMNodeStyles.js:
656         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
657         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
658         Now returns a promise that will reject if CSSAgent.setRuleSelector has an
659         error, such as if the selector is invalid, and resolve otherwise.
660
661         * UserInterface/Views/CSSStyleDeclarationSection.css:
662         (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
663         (.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon):
664         (.style-declaration-section.invalid-selector > .header > .icon):
665         (.style-declaration-section.invalid-selector > .header > .selector > *):
666         (.style-declaration-section > .header > .icon.toggle-able:hover): Deleted.
667         (.style-declaration-section.rule-disabled > .header > .icon): Deleted.
668
669         * UserInterface/Views/CSSStyleDeclarationSection.js:
670         (WebInspector.CSSStyleDeclarationSection):
671         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff):
672         Only allow rule toggling if the selector is valid.
673         (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
674         If the new selector is valid, refresh the section. Otherwise, apply a class
675         to the section element that marks the selector as being invalid.
676         (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
677
678 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
679
680         Web Inspector: Show Pseudo Elements in DOM Tree
681         https://bugs.webkit.org/show_bug.cgi?id=139612
682
683         Reviewed by Timothy Hatcher.
684
685         * UserInterface/Controllers/DOMTreeManager.js:
686         (WebInspector.DOMTreeManager.prototype._pseudoElementAdded):
687         Hook up the new pseudo element DOMNode to the parent.
688
689         (WebInspector.DOMTreeManager.prototype._pseudoElementRemoved):
690         Unhook the pseudo element from its parent.
691
692         (WebInspector.DOMTreeManager.prototype._unbind):
693         When unbinding, unbind any pseudo element children we may have had.
694
695         * UserInterface/Models/DOMNode.js:
696         (WebInspector.DOMNode.prototype.isPseudoElement):
697         (WebInspector.DOMNode.prototype.pseudoType):
698         (WebInspector.DOMNode.prototype.hasPseudoElements):
699         (WebInspector.DOMNode.prototype.pseudoElements):
700         New state of a DOMNode may include pseudo elements.
701
702         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
703         A selector for this node includes the selector for the node above it.
704
705         * UserInterface/Protocol/DOMObserver.js:
706         (WebInspector.DOMObserver.prototype.pseudoElementAdded):
707         (WebInspector.DOMObserver.prototype.pseudoElementRemoved):
708         Pass the message on to DOMTreeManager.
709
710         * UserInterface/Views/DOMTreeElement.js:
711         (WebInspector.DOMTreeElement.prototype.get editable):
712         Pseudo element nodes are not editable.
713
714         (WebInspector.DOMTreeElement.prototype.showChildNode):
715         (WebInspector.DOMTreeElement.prototype.onpopulate):
716         (WebInspector.DOMTreeElement.prototype.updateChildren):
717         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
718         (WebInspector.DOMTreeElement.prototype._singleTextChild):
719         (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
720         (WebInspector.DOMTreeElement.prototype._visibleChildren):
721         (WebInspector.DOMTreeElement.prototype._updateChildren):
722         (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
723         (WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
724         A DOMTreeElement's children are no longer 1-to-1 to DOMNode's children.
725         Instead a DOMNode may have a before/after pseudo element child that
726         are not included in the children list. Update parts of DOMTreeElement
727         to respect this list of visible children.
728
729         * UserInterface/Views/DOMTreeElementPathComponent.js:
730         (WebInspector.DOMTreeElementPathComponent):
731         * UserInterface/Views/PathComponentIcons.css:
732         (.dom-pseudo-element-icon .icon):
733         Styling for the path component when a pseudo element is selected.
734
735         * UserInterface/Views/DOMTreeOutline.css:
736         (.dom-tree-outline .html-pseudo-element):
737         (.dom-tree-outline .html-fragment.shadow):
738         (.webkit-html-fragment.shadow): Deleted.
739         Styles for pseudo elements in the DOM tree.
740
741         * UserInterface/Views/DOMTreeOutline.js:
742         (WebInspector.DOMTreeOutline.prototype._hideElement):
743         Make the hide element selector hide the host element.
744
745         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
746         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
747         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
748         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
749         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
750         Pseudo class changes won't happen on pseudo elements, but will
751         happen on their host element, so listen to and make pseudo class
752         changes to the host element.
753
754         * UserInterface/Views/RulesStyleDetailsPanel.css:
755         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)):
756         Since a pseudo element does not have a style attribute,
757         give some margin in the style sidebar above the "New Rule"
758         button so it looks better.
759
760 2015-07-27  Matt Baker  <mattbaker@apple.com>
761
762         Web Inspector: Record button in Timelines view is clipped on non-retina. Hovering over the dot draws it correctly.
763         https://bugs.webkit.org/show_bug.cgi?id=147346
764
765         Reviewed by Joseph Pecoraro.
766
767         Since the hovered button isn't clipped (-webkit-filter is applied in that case), add a filter that
768         doesn't alter the button's appearance to the non-hovered selector.
769
770         * UserInterface/Views/TimelineSidebarPanel.css:
771         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
772         Added brightness 100% filter to non-hovered selector.
773
774 2015-07-27  Matt Baker  <mattbaker@apple.com>
775
776         Web Inspector: Clicking a frame in the Rendering Frames timeline should select the corresponding grid row
777         https://bugs.webkit.org/show_bug.cgi?id=147013
778
779         Reviewed by Timothy Hatcher.
780
781         Added ability to select (or highlight) a particular frame by clicking in the overview graph. A tick mark
782         appears above the selected frame inside the ruler, and the frame element's background color changes to a light
783         blue vertical highlight. Frame selection is synced across the timeline view's data grid, overview graph, and
784         navigation bar path components.
785
786         A few behaviors:
787            - Clicking a frame outside the current ruler selection selects the frame.
788            - Clicking the selected frame will deselect it.
789            - Resizing the ruler selection to exclude the selected frame will deselect it.
790
791         * UserInterface/Views/DataGrid.js:
792         (WebInspector.DataGridNode.prototype.select):
793         No need to generate two SelectedNodeChanged events when selecting a node causes
794         the currently selected node to be deselected.
795
796         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
797         (WebInspector.LayoutTimelineOverviewGraph):
798         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
799         (WebInspector.NetworkTimelineOverviewGraph):
800         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
801         (WebInspector.ScriptTimelineOverviewGraph): Set TimelineOverview during construction.
802         Set TimelineOverview during construction.
803
804         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
805         (.timeline-overview-graph.rendering-frame > .frame-marker):
806         (body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker):
807         Added styles for selected frame marker.
808
809         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
810         (WebInspector.RenderingFrameTimelineOverviewGraph):
811         Set TimelineOverview during construction.
812         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._mouseClicked):
813         Added frame marker element and frame selection via mouse click.
814
815         * UserInterface/Views/RenderingFrameTimelineView.js:
816         (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected):
817         Deselect grid node when frame is deselected from the overview graph.
818         (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange): Deleted.
819         Removed unnecessary override.
820
821         * UserInterface/Views/TimelineOverview.js:
822         Added selectRecord method and RecordSelected event.
823         (WebInspector.TimelineOverview):
824         (WebInspector.TimelineOverview.prototype._timelineRulerMouseDown):
825         (WebInspector.TimelineOverview.prototype._timelineRulerMouseClicked):
826         Since timeline ruler specifies pointer-events: all, click events must be forwarded to the
827         underlying overview graph. Click events following changes to the ruler's selection are ignored.
828
829         (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
830         (WebInspector.TimelineOverview.prototype._recordSelected):
831         Forward RecordSelected events from child graphs to clients of the overview.
832
833         * UserInterface/Views/TimelineOverviewGraph.js:
834         Added RecordSelected event.
835         (WebInspector.TimelineOverviewGraph):
836         (WebInspector.TimelineOverviewGraph.prototype.get visible):
837         (WebInspector.TimelineOverviewGraph.prototype.get selectedRecord):
838         (WebInspector.TimelineOverviewGraph.prototype.set selectedRecord):
839         Added property for selecting a record in the graph. Derived graph types can implement record selection
840         and choose how to style the selected record.
841         (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
842         (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
843         Update frame marker during an animation frame.
844         (WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent):
845         Dispatch wrapper to simplify things.
846         (WebInspector.TimelineOverviewGraph.prototype.updateSelectedRecord):
847         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update):
848         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
849         Inform derived overview graph to optionally style the selected record.
850         (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview): Deleted.
851         No longer needed. TimelineOverview set during construction.
852
853         * UserInterface/Views/TimelineRecordFrame.css:
854         (.timeline-record-frame):
855         (.timeline-record-frame.tall):
856         Limit the "fade out" effect to frames that are >= 95% of the graph height, otherwise the
857         gradient mask is noticeable when selecting a shorter frame.
858         (.timeline-record-frame.selected):
859         (body.window-inactive .timeline-record-frame.selected):
860         (.timeline-record-frame.selected > .frame):
861         Added highlight (and dimmed inactive highlight) for selected frame element.
862
863         * UserInterface/Views/TimelineRecordFrame.js:
864         (WebInspector.TimelineRecordFrame.prototype.get selected):
865         (WebInspector.TimelineRecordFrame.prototype.set selected):
866         Added property for setting selected style.
867
868         * UserInterface/Views/TimelineRecordingContentView.js:
869         (WebInspector.TimelineRecordingContentView):
870         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
871         Select record in overview in response to changing navigation path.
872         (WebInspector.TimelineRecordingContentView.prototype._recordSelected.get console):
873         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
874         Update selected tree element in response to changing record selection in the overview graph.
875
876 2015-07-27  Joseph Pecoraro  <pecoraro@apple.com>
877
878         Web Inspector: Revert change to DOMTreeElement.prototype.remove
879         https://bugs.webkit.org/show_bug.cgi?id=147336
880
881         Reviewed by Timothy Hatcher.
882
883         * UserInterface/Views/DOMTreeElement.js:
884         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
885         This change was accidental, and just resulted in the function calling
886         itself again. It didn't infinite loops because another path would have
887         removed the DOMTreeElement, but lets correct this code.
888
889 2015-07-27  Devin Rousso  <drousso@apple.com>
890
891         Web Inspector: support live editing of rule selectors
892         https://bugs.webkit.org/show_bug.cgi?id=139153
893
894         Reviewed by Timothy Hatcher.
895
896         * UserInterface/Controllers/DOMTreeManager.js:
897         (WebInspector.DOMTreeManager.prototype.highlightSelector):
898         Moved from CSSStyleDeclarationSection.
899
900         * UserInterface/Views/CSSStyleDeclarationSection.js:
901         (WebInspector.CSSStyleDeclarationSection):
902         (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
903         Returns the current selector text, either from the style ownerRule or the selector element text.
904         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
905         Now highlights all nodes matching the current selector instead of the ownerRule's selector.
906         (WebInspector.CSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
907         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOver):
908         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOut):
909         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
910         If the character is not a tab, highlight all nodes matching the current selector text.
911         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyUp):
912         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Deleted.
913
914 2015-07-27  Nikita Vasilyev  <nvasilyev@apple.com>
915
916         Web Inspector: " = $0" in Elements panel can cause a jerk by pushing nodes below it
917         https://bugs.webkit.org/show_bug.cgi?id=147318
918
919         Reviewed by Timothy Hatcher.
920
921         * UserInterface/Views/DOMTreeOutline.css:
922         (.dom-tree-outline li.selected > span::after):
923
924 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
925
926         Web Inspector: Start using Node.prototype.remove
927         https://bugs.webkit.org/show_bug.cgi?id=147304
928
929         Reviewed by Timothy Hatcher.
930
931         * UserInterface/Base/Main.js:
932         (WebInspector.elementDragStart):
933         (WebInspector.elementDragEnd):
934         (WebInspector.revertDomChanges):
935         * UserInterface/Views/DOMTreeElement.js:
936         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
937         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
938         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
939         (WebInspector.DOMTreeElement.prototype.remove):
940         * UserInterface/Views/Resizer.js:
941         (WebInspector.Resizer.prototype._resizerMouseDown):
942         (WebInspector.Resizer.prototype._resizerMouseUp):
943         (WebInspector.Resizer):
944
945 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
946
947         Web Inspector: Fix color declaration for not-executed comments
948         https://bugs.webkit.org/show_bug.cgi?id=147305
949
950         Reviewed by Timothy Hatcher.
951
952         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
953         (.cm-s-default .basic-block-has-not-executed.cm-comment):
954         This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
955         and convert it to HSL.
956
957 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
958
959         Web Inspector: Start using Node.prototype.replaceWith
960         https://bugs.webkit.org/show_bug.cgi?id=147303
961
962         Reviewed by Timothy Hatcher.
963
964         * UserInterface/Views/Popover.js:
965         (WebInspector.Popover.prototype._update):
966
967 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
968
969         Web Inspector: Start using Node.prototype.append
970         https://bugs.webkit.org/show_bug.cgi?id=147301
971
972         Convert all instances of element.appendChild(document.createTextNode(aString))
973         to element.append(aString).
974
975         Reviewed by Timothy Hatcher.
976
977         * UserInterface/Base/DOMUtilities.js:
978         * UserInterface/Base/Main.js:
979         (WebInspector.linkifyLocation):
980         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
981         * UserInterface/Models/Breakpoint.js:
982         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
983         * UserInterface/Views/BoxModelDetailsSectionRow.js:
984         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
985         * UserInterface/Views/CSSStyleDeclarationSection.js:
986         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
987         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
988         (WebInspector.CSSStyleDetailsSidebarPanel):
989         * UserInterface/Views/ChartDetailsSectionRow.js:
990         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
991         * UserInterface/Views/ConsoleMessageView.js:
992         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
993         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
994         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
995         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
996         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
997         * UserInterface/Views/DOMTreeElement.js:
998         (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
999         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
1000         (WebInspector.DOMTreeElement.prototype._buildTagDOM):
1001         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
1002         defaultElement variable is unused, remove it.
1003
1004         * UserInterface/Views/DataGrid.js:
1005         (WebInspector.DataGridNode.prototype.createCell.get if):
1006         (WebInspector.DataGridNode.prototype.createCell):
1007         * UserInterface/Views/DebuggerDashboardView.js:
1008         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
1009         * UserInterface/Views/EventListenerSectionGroup.js:
1010         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
1011         (WebInspector.EventListenerSectionGroup):
1012         * UserInterface/Views/FormattedValue.js:
1013         (WebInspector.FormattedValue.createLinkifiedElementString):
1014         (WebInspector.FormattedValue.createElementForNodePreview):
1015         * UserInterface/Views/ObjectPreviewView.js:
1016         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
1017         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1018         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1019         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
1020         (WebInspector.ResourceDetailsSidebarPanel):
1021         * UserInterface/Views/RulesStyleDetailsPanel.js:
1022         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
1023         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
1024         * UserInterface/Views/SearchResultTreeElement.js:
1025         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
1026         * UserInterface/Views/SyntaxHighlightingSupport.js:
1027         (.appendText):
1028         (WebInspector.syntaxHighlightStringAsDocumentFragment):
1029         * UserInterface/Views/TimelineDataGridNode.js:
1030         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
1031
1032 2015-07-24  Joseph Pecoraro  <pecoraro@apple.com>
1033
1034         Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
1035         https://bugs.webkit.org/show_bug.cgi?id=147257
1036
1037         Reviewed by Timothy Hatcher.
1038
1039         * UserInterface/Models/NativeFunctionParameters.js:
1040
1041 2015-07-23  Matt Baker  <mattbaker@apple.com>
1042
1043         Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
1044         https://bugs.webkit.org/show_bug.cgi?id=147095
1045
1046         Reviewed by Brian Burg.
1047
1048         * UserInterface/Views/TimelineRuler.css:
1049         (.timeline-ruler.resizing-selection > .selection-drag):
1050         Override selection-drag element's cursor when "resizing-selection" selector is applied.
1051         (.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
1052         Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.
1053
1054         * UserInterface/Views/TimelineRuler.js:
1055         (WebInspector.TimelineRuler.prototype._handleMouseMove):
1056         (WebInspector.TimelineRuler.prototype._handleMouseUp):
1057         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
1058         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
1059         Toggle cursor styles.
1060
1061 2015-07-23  Devin Rousso  <drousso@apple.com>
1062
1063         Web Inspector: Add a function to CSSCompletions to get a list of supported system fonts
1064         https://bugs.webkit.org/show_bug.cgi?id=147009
1065
1066         Reviewed by Joseph Pecoraro.
1067
1068         * UserInterface/Base/Main.js:
1069         (WebInspector.loaded):
1070         (WebInspector.activateExtraDomains):
1071         * UserInterface/Base/Test.js:
1072         (WebInspector.loaded):
1073         * UserInterface/Models/CSSCompletions.js:
1074         (WebInspector.CSSCompletions.requestCSSCompletions.fontFamilyNamesCallback):
1075         (WebInspector.CSSCompletions.requestCSSCompletions):
1076         Now also grabs the list of system font family names and adds that list to the existing completion
1077         list for both font and font-family in CSSKeywordCompletions.
1078         (WebInspector.CSSCompletions.requestCSSNameCompletions): Deleted.
1079
1080 2015-07-23  Matt Baker  <mattbaker@apple.com>
1081
1082         Web Inspector: wrong cursor shown when selecting time interval from timeline overview
1083         https://bugs.webkit.org/show_bug.cgi?id=147094
1084
1085         Reviewed by Timothy Hatcher.
1086
1087         * UserInterface/Views/TimelineRuler.css:
1088         (.timeline-ruler.allows-time-range-selection.creating-selection):
1089         New cursor style for entire ruler element.
1090
1091         * UserInterface/Views/TimelineRuler.js:
1092         (WebInspector.TimelineRuler.prototype._handleMouseMove):
1093         (WebInspector.TimelineRuler.prototype._handleMouseUp):
1094         Toggle cursor style when dragging to create a new selection in the overview.
1095
1096 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
1097
1098         Web Inspector: Timeline should immediately start moving play head when starting a new recording
1099         https://bugs.webkit.org/show_bug.cgi?id=147210
1100
1101         Reviewed by Timothy Hatcher.
1102
1103         * UserInterface/Protocol/TimelineObserver.js:
1104         (WebInspector.TimelineObserver.prototype.recordingStarted):
1105         (WebInspector.TimelineObserver.prototype.recordingStopped):
1106         Pass on the new timestamps.
1107
1108         * UserInterface/Controllers/TimelineManager.js:
1109         (WebInspector.TimelineManager.prototype.capturingStarted):
1110         (WebInspector.TimelineManager.prototype.capturingStopped):
1111         Pass on the new timestamps in the events.
1112
1113         * UserInterface/Views/TimelineRecordingContentView.js:
1114         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
1115         Pass on the new timestamp from the event as it can be used to update the currentTime.
1116
1117         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
1118         If provided a startTime we can use that as the new currentTime. Otherwise fallback
1119         to determining a good currentTime from the next incoming record for legacy backends.
1120
1121         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
1122         Update the comment, as there is now a solution but this is required for legacy backends.
1123
1124 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
1125
1126         Web Inspector: Timeline's Current Time does not jump forward to new start time when starting a new recording, causes timeline to appear delayed and broken
1127         https://bugs.webkit.org/show_bug.cgi?id=147204
1128
1129         Reviewed by Timothy Hatcher.
1130
1131         * UserInterface/Views/TimelineRecordingContentView.js:
1132         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
1133         We were skipping a timeline, but it might have a new event record with
1134         a new start time. This ensures we get an updated current time which makes
1135         sense, and we jump forward to that time in the main timeline.
1136
1137 2015-07-22  Matt Baker  <mattbaker@apple.com>
1138
1139         Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
1140         https://bugs.webkit.org/show_bug.cgi?id=147219
1141
1142         Reviewed by Timothy Hatcher.
1143
1144         Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
1145         ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.
1146
1147         * UserInterface/Views/TimelineRuler.js:
1148         (WebInspector.TimelineRuler):
1149         (WebInspector.TimelineRuler.prototype._updateSelection):
1150         (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
1151         Check for this._timeRangeSelectionChanged moved into dispatch function.
1152         (WebInspector.TimelineRuler.prototype._handleMouseDown):
1153         (WebInspector.TimelineRuler.prototype._handleMouseMove):
1154         (WebInspector.TimelineRuler.prototype._handleMouseUp):
1155         We now suppress the next dispatch only, rather than a toggle.
1156
1157 2015-07-22  Devin Rousso  <drousso@apple.com>
1158
1159         Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
1160         https://bugs.webkit.org/show_bug.cgi?id=147207
1161
1162         Reviewed by Timothy Hatcher.
1163
1164         * UserInterface/Views/RulesStyleDetailsPanel.js:
1165         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
1166         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
1167         Now inserts pseudo-styles based on whether their selector specificity is greater than
1168         the previous style's selector specificity.
1169         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1170
1171 2015-07-22  Nikita Vasilyev  <nvasilyev@apple.com>
1172
1173         Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
1174         https://bugs.webkit.org/show_bug.cgi?id=146956
1175
1176         Reviewed by Timothy Hatcher.
1177
1178         * UserInterface/Views/FormattedValue.css:
1179         (.formatted-regexp):
1180         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1181         (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
1182         (.syntax-highlighted .javascript-regexp):
1183         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.
1184
1185 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
1186
1187         Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
1188         https://bugs.webkit.org/show_bug.cgi?id=147163
1189
1190         Reviewed by Timothy Hatcher.
1191
1192         * UserInterface/Views/ConsoleMessageView.js:
1193         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
1194         When appending the result for a substitution formatter, don't check against a
1195         falsey value, check against undefined. This will allow falsely values like
1196         0 and NaN to be output as expected.
1197
1198 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
1199
1200         Web Inspector: Total download size doesn't update soon after loading
1201         https://bugs.webkit.org/show_bug.cgi?id=147161
1202
1203         Reviewed by Timothy Hatcher.
1204
1205         * UserInterface/Models/DefaultDashboard.js:
1206         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
1207         Previously autorecording would always have made us start capturing,
1208         however we only autorecord if users are on the Timeline tab. Just
1209         reset the time always, a navigation happened and start the timer.
1210
1211         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
1212         Move to a better location within the file.
1213
1214 2015-07-21  Nikita Vasilyev  <nvasilyev@apple.com>
1215
1216         Web Inspector: Convert all colors from RGB to HSL color scheme
1217         https://bugs.webkit.org/show_bug.cgi?id=147143
1218
1219         HSL color scheme is more human friendly than RGB.
1220
1221         RGB -> HSL
1222         RGB hex (e.g. #bada55 and #456) -> HSL
1223         RGBA -> HSLA
1224         Named colors (white, black, lightgoldenrodyellow) are unchanged        
1225
1226         Reviewed by Timothy Hatcher.
1227
1228         * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
1229         (.gradient-editing-controller > label > input):
1230         * UserInterface/Views/BoxModelDetailsSectionRow.css:
1231         (.details-section .row.box-model .position):
1232         (.details-section .row.box-model .margin):
1233         (.details-section .row.box-model .margin.active):
1234         (.details-section .row.box-model .border):
1235         (.details-section .row.box-model .border.active):
1236         (.details-section .row.box-model .padding):
1237         (.details-section .row.box-model .padding.active):
1238         (.details-section .row.box-model .content):
1239         (.details-section .row.box-model .content.active):
1240         * UserInterface/Views/Breakpoint.css:
1241         (.popover .edit-breakpoint-popover-content > table > tr > th):
1242         * UserInterface/Views/BreakpointActionView.css:
1243         (.breakpoint-action-remove-button):
1244         (.breakpoint-action-append-button):
1245         (.breakpoint-action-block-body):
1246         (.breakpoint-action-eval-editor):
1247         * UserInterface/Views/BreakpointTreeElement.css:
1248         (.breakpoint-generic-line-icon .icon > span):
1249         (.data-updated.breakpoint-generic-line-icon .icon > span):
1250         * UserInterface/Views/ButtonNavigationItem.css:
1251         (.navigation-bar .item.button.text-only):
1252         (.navigation-bar .item.button.suppress-emboss > .glyph):
1253         * UserInterface/Views/ButtonToolbarItem.css:
1254         (.toolbar .item.button > .label):
1255         (.toolbar.label-only .item.activate.button.activated > .label):
1256         * UserInterface/Views/CSSStyleDeclarationSection.css:
1257         (.style-declaration-section > .header > .selector):
1258         (.style-declaration-section > .header > .origin):
1259         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1260         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
1261         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
1262         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
1263         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
1264         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
1265         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
1266         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
1267         (.css-style-text-editor > .CodeMirror .cm-link):
1268         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1269         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
1270         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
1271         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
1272         (.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
1273         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):
1274         * UserInterface/Views/ChartDetailsSectionRow.css:
1275         (.details-section > .content > .group > .row.chart > .title):
1276         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
1277         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
1278         * UserInterface/Views/CodeMirrorOverrides.css:
1279         (.CodeMirror .CodeMirror-selected):
1280         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
1281         (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
1282         (.CodeMirror .CodeMirror-gutters):
1283         (.CodeMirror .CodeMirror-linenumber):
1284         * UserInterface/Views/CompletionSuggestionsView.css:
1285         (.completion-suggestions):
1286         (.completion-suggestions-container > .item:active):
1287         * UserInterface/Views/ConsoleMessageView.css:
1288         (.console-user-command.special-user-log > .console-message-text):
1289         (.console-message .repeat-count):
1290         (.console-message-preview-divider):
1291         (.console-message-enclosed):
1292         (.console-user-command > .console-message-text):
1293         (.console-saved-variable):
1294         * UserInterface/Views/DOMStorageContentView.css:
1295         (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
1296         (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
1297         * UserInterface/Views/DOMTreeOutline.css:
1298         (.dom-tree-outline li.hovered:not(.selected) .selection):
1299         (.dom-tree-outline li.selected .selection):
1300         (.dom-tree-outline li.elements-drag-over .selection):
1301         (.dom-tree-outline:focus li.selected .selection):
1302         (.showing-find-banner .dom-tree-outline .search-highlight):
1303         * UserInterface/Views/DataGrid.css:
1304         (.data-grid .highlight):
1305         (.data-grid.inline):
1306         (.data-grid th):
1307         (body.window-inactive .data-grid th):
1308         (.data-grid :matches(th, td):not(:last-child)):
1309         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
1310         (.data-grid th.sortable:active):
1311         (.data-grid th:matches(.sort-ascending, .sort-descending)):
1312         (.data-grid table.data):
1313         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
1314         (.data-grid tr.selected):
1315         (.data-grid:matches(:focus, .force-focus) tr.selected):
1316         (.data-grid td .subtitle):
1317         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
1318         (.data-grid td.error):
1319         * UserInterface/Views/DatabaseContentView.css:
1320         (.storage-view .storage-table-error):
1321         (.database-user-query):
1322         (.database-query-text):
1323         * UserInterface/Views/DebuggerDashboardView.css:
1324         (.toolbar .dashboard.debugger):
1325         (.dashboard.debugger .navigation-bar .item.button > .glyph):
1326         (.dashboard.debugger > .divider):
1327         (.dashboard.debugger > .location .function-name):
1328         (.dashboard.debugger > .location .go-to-link):
1329         * UserInterface/Views/DebuggerSidebarPanel.css:
1330         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
1331         * UserInterface/Views/DefaultDashboardView.css:
1332         (.toolbar .dashboard.default > .item.enabled:hover):
1333         (.toolbar .dashboard.default > .item.enabled:active):
1334         (.toolbar .dashboard.default > .item > div):
1335         (.toolbar .dashboard.default > .item.enabled > div):
1336         (.toolbar .dashboard.default > .item.enabled:hover > div):
1337         (.toolbar .dashboard.default > .errors.enabled > div):
1338         (.toolbar .dashboard.default > .errors.enabled:hover > div):
1339         (.toolbar .dashboard.default > .issues.enabled > div):
1340         (.toolbar .dashboard.default > .issues.enabled:hover > div):
1341         * UserInterface/Views/DetailsSection.css:
1342         (.details-section):
1343         (.details-section .details-section):
1344         (.details-section .details-section:first-child):
1345         (.details-section > .header):
1346         (.details-section .details-section > .header):
1347         (.details-section .details-section:not(.collapsed) > .header):
1348         (.details-section.computed-style-properties:not(.collapsed) > .header):
1349         (.details-section > .header > label):
1350         (.details-section > .content > .group):
1351         (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
1352         (.details-section > .content > .group > .row.simple > .label):
1353         (.details-section > .content .data-grid tr:nth-child(odd)):
1354         * UserInterface/Views/DividerNavigationItem.css:
1355         (.navigation-bar .item.divider):
1356         * UserInterface/Views/Editing.css:
1357         (.editing):
1358         * UserInterface/Views/FilterBar.css:
1359         (.filter-bar):
1360         (.filter-bar > input[type="search"]):
1361         (.filter-bar > input[type="search"]::-webkit-input-placeholder):
1362         * UserInterface/Views/FindBanner.css:
1363         (.find-banner):
1364         (body.window-inactive .find-banner):
1365         (.find-banner > input[type="search"]):
1366         (.find-banner > button):
1367         (.find-banner > button:active:not(:disabled)):
1368         (.find-banner > button:disabled):
1369         * UserInterface/Views/FormattedValue.css:
1370         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
1371         (.formatted-number):
1372         (.formatted-boolean):
1373         (.formatted-string):
1374         (.formatted-regexp):
1375         (.formatted-symbol):
1376         (.formatted-null, .formatted-undefined):
1377         * UserInterface/Views/GoToLineDialog.css:
1378         (.go-to-line-dialog):
1379         (.go-to-line-dialog > div):
1380         (.go-to-line-dialog > div > input):
1381         (.go-to-line-dialog > div > input::-webkit-input-placeholder):
1382         (.go-to-line-dialog > div > img):
1383         (.go-to-line-dialog > div > img:active):
1384         * UserInterface/Views/GradientSlider.css:
1385         (.gradient-slider):
1386         (.gradient-slider-knob > div):
1387         * UserInterface/Views/HierarchicalPathComponent.css:
1388         (.hierarchical-path-component > .title):
1389         * UserInterface/Views/HoverMenu.css:
1390         (.hover-menu > svg > :matches(path, rect)):
1391         * UserInterface/Views/ImageResourceContentView.css:
1392         (.content-view.resource.image):
1393         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
1394         (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
1395         * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
1396         (.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
1397         (.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
1398         (.panel.details.layer-tree .bottom-bar):
1399         * UserInterface/Views/LogContentView.css:
1400         (.console-item):
1401         (.console-session + .console-session):
1402         (.console-messages a):
1403         (.console-messages a:hover):
1404         (.search-bar.log-search-bar > input[type="search"]):
1405         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
1406         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
1407         * UserInterface/Views/Main.css:
1408         (body.docked.bottom):
1409         (body.docked.right):
1410         (body.window-inactive.docked.bottom):
1411         (body.window-inactive.docked.right):
1412         (#split-content-browser):
1413         (body.window-inactive #split-content-browser):
1414         (#split-content-browser > .navigation-bar):
1415         (#split-content-browser .hierarchical-path-component.log-icon .title):
1416         (.message-text-view):
1417         (.message-text-view.error):
1418         (.go-to-link):
1419         (.value-with-clarification .clarification):
1420         (.bouncy-highlight):
1421         * UserInterface/Views/NavigationBar.css:
1422         (.navigation-bar):
1423         (body.window-inactive .navigation-bar):
1424         * UserInterface/Views/NavigationSidebarPanel.css:
1425         (.sidebar > .panel.navigation > .overflow-shadow):
1426         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
1427         (.sidebar > .panel.navigation > .empty-content-placeholder > .message):
1428         (.navigation-sidebar-panel-content-tree-outline .item.selected):
1429         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
1430         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1431         (.navigation-sidebar-panel-content-tree-outline .item .highlighted):
1432         (.navigation-sidebar-panel-content-tree-outline .item .subtitle):
1433         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
1434         * UserInterface/Views/NetworkGridContentView.css:
1435         (.content-view.network-grid > .data-grid table.data):
1436         * UserInterface/Views/NetworkSidebarPanel.css:
1437         (.sidebar > .panel.navigation.network > .title-bar):
1438         (body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
1439         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
1440         * UserInterface/Views/NetworkTimelineOverviewGraph.css:
1441         (.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
1442         * UserInterface/Views/NewTabContentView.css:
1443         (.new-tab.tab.content-view):
1444         (.new-tab.tab.content-view > .tab-item > .box):
1445         * UserInterface/Views/ObjectPreviewView.css:
1446         (.object-preview .name):
1447         (.object-preview > .size):
1448         * UserInterface/Views/ObjectTreeView.css:
1449         (.object-tree-outline li .empty-message):
1450         * UserInterface/Views/OverviewTimelineView.css:
1451         (.timeline-view.overview > .timeline-ruler > .header):
1452         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
1453         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
1454         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
1455         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
1456         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
1457         * UserInterface/Views/ProbeSetDataGrid.css:
1458         (.details-section.probe-set .data-grid tr.past-value td):
1459         (.details-section.probe-set .data-grid > td.unknown-value):
1460         (@-webkit-keyframes blink-frame-highlight):
1461         (100%):
1462         (.details-section.probe-set .data-grid tr.separator):
1463         (@-webkit-keyframes blink-probe-frame):
1464         * UserInterface/Views/QuickConsole.css:
1465         (.quick-console):
1466         (body.window-inactive .quick-console):
1467         (.quick-console.showing-log):
1468         * UserInterface/Views/RadioButtonNavigationItem.css:
1469         (.navigation-bar .item.radio.button.text-only:hover):
1470         (.navigation-bar .item.radio.button.text-only.selected):
1471         (.navigation-bar .item.radio.button.text-only:active):
1472         (.navigation-bar .item.radio.button.text-only.selected:active):
1473         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
1474         (.timeline-overview-graph.rendering-frame > .divider):
1475         (.timeline-overview-graph.rendering-frame > .divider > .label):
1476         * UserInterface/Views/ReplayDashboardView.css:
1477         (.toolbar .dashboard.replay):
1478         * UserInterface/Views/ResourceTreeElement.css:
1479         (.item.resource.failed):
1480         (.item.resource.failed .subtitle):
1481         * UserInterface/Views/RulesStyleDetailsPanel.css:
1482         (.sidebar > .panel.details.css-style .rules .label):
1483         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
1484         * UserInterface/Views/ScopeBar.css:
1485         (.scope-bar > li):
1486         (.scope-bar > li:hover):
1487         (.scope-bar > li.selected):
1488         (.scope-bar > li:active):
1489         (.scope-bar > li.selected:active):
1490         * UserInterface/Views/SearchBar.css:
1491         (.search-bar > input[type="search"]):
1492         (.search-bar > input[type="search"]::-webkit-input-placeholder):
1493         * UserInterface/Views/SearchSidebarPanel.css:
1494         (.sidebar > .panel.navigation.search > .search-bar):
1495         * UserInterface/Views/Sidebar.css:
1496         (.sidebar):
1497         (.sidebar.left):
1498         (.sidebar.right):
1499         (body.window-inactive .sidebar.left):
1500         (body.window-inactive .sidebar.right):
1501         * UserInterface/Views/SourceCodeTextEditor.css:
1502         (.source-code.text-editor > .CodeMirror .warning):
1503         (.source-code.text-editor > .CodeMirror .error):
1504         (.source-code.text-editor > .CodeMirror .issue-widget.warning):
1505         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
1506         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
1507         (.source-code.text-editor > .CodeMirror .issue-widget.error):
1508         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
1509         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
1510         (.popover .debugger-popover-content > .body):
1511         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1512         (.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
1513         (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
1514         (.syntax-highlighted :matches(.css-number, .javascript-number)):
1515         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
1516         (.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
1517         (.syntax-highlighted .html-attribute-name):
1518         (.syntax-highlighted a):
1519         (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
1520         (.cm-s-default .basic-block-has-not-executed):
1521         (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
1522         (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
1523         (.cm-s-default .basic-block-has-not-executed.cm-string):
1524         (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
1525         * UserInterface/Views/TabBar.css:
1526         (.tab-bar):
1527         (body.window-inactive .tab-bar):
1528         (.tab-bar > .top-border):
1529         (body.window-inactive .tab-bar > .top-border):
1530         (.tab-bar > .item):
1531         (.tab-bar.dragging-tab > .item.selected):
1532         (.tab-bar > .item:not(.disabled).selected):
1533         (.tab-bar > .item.new-tab-button:not(.disabled):hover):
1534         (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
1535         (body.window-inactive .tab-bar > .item):
1536         (body.window-inactive .tab-bar > .item.selected):
1537         (.tab-bar > .item > .close:hover):
1538         (.tab-bar > .item > .title):
1539         (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
1540         (.tab-bar > .item.selected > .title):
1541         (.tab-bar.animating.closing-tab > .item.selected):
1542         (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
1543         * UserInterface/Views/TextEditor.css:
1544         (.text-editor > .CodeMirror .execution-line):
1545         (.text-editor > .CodeMirror .hovered-expression-highlight):
1546         (to):
1547         * UserInterface/Views/TimelineDataGrid.css:
1548         (.data-grid.timeline th):
1549         (body.window-inactive .data-grid.timeline th):
1550         (.timeline-data-grid-tree-outline .item:hover):
1551         (.timeline-data-grid-tree-outline .item .subtitle):
1552         * UserInterface/Views/TimelineOverview.css:
1553         (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
1554         (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
1555         * UserInterface/Views/TimelineRecordBar.css:
1556         (.timeline-record-bar > .segment):
1557         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
1558         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
1559         (.timeline-record-bar.timeline-record-type-network > .segment):
1560         (.timeline-record-bar.timeline-record-type-network > .segment.inactive):
1561         (.timeline-record-bar.timeline-record-type-layout > .segment):
1562         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
1563         (.timeline-record-bar.timeline-record-type-script > .segment):
1564         * UserInterface/Views/TimelineRecordFrame.css:
1565         (.timeline-record-frame):
1566         (.timeline-record-frame > .frame > .duration):
1567         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
1568         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
1569         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
1570         * UserInterface/Views/TimelineRecordingContentView.css:
1571         (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
1572         * UserInterface/Views/TimelineRuler.css:
1573         (.timeline-ruler > .header):
1574         (body.window-inactive .timeline-ruler > .header):
1575         (.timeline-ruler > .header > .divider):
1576         (body.window-inactive .timeline-ruler > .header > .divider):
1577         (.timeline-ruler > .header > .divider > .label):
1578         (.timeline-ruler > .markers > .divider):
1579         (.timeline-ruler > .markers > .marker):
1580         (.timeline-ruler > .markers > .marker.load-event):
1581         (.timeline-ruler > .markers > .marker.dom-content-event):
1582         (.timeline-ruler > .markers > .marker.timestamp):
1583         (.timeline-ruler > .selection-handle):
1584         (.timeline-ruler > .shaded-area):
1585         * UserInterface/Views/TimelineSidebarPanel.css:
1586         (.sidebar > .panel.navigation.timeline > .status-bar):
1587         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
1588         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
1589         (.sidebar > .panel.navigation.timeline > .title-bar):
1590         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
1591         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1592         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1593         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
1594         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
1595         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1596         (body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
1597         (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
1598         * UserInterface/Views/TimelineView.css:
1599         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
1600         * UserInterface/Views/Toolbar.css:
1601         (.toolbar):
1602         (body.window-inactive .toolbar):
1603         * UserInterface/Views/TreeElementStatusButton.css:
1604         (.item > .status > .status-button > svg .filled):
1605         (.item > .status > .status-button > svg .stroked):
1606         * UserInterface/Views/TypeTokenView.css:
1607         (.type-token-function, .type-token-boolean):
1608         (.type-token-number):
1609         (.type-token-string):
1610         (.type-token-symbol):
1611         (.type-token-default):
1612         (.type-token-empty):
1613         (.type-token-many):
1614         * UserInterface/Views/TypeTreeView.css:
1615         (.type-tree-outline li .empty-message):
1616
1617 2015-07-20  Joseph Pecoraro  <pecoraro@apple.com>
1618
1619         Web Inspector: console.assert(false, "Message") message is not visible in console
1620         https://bugs.webkit.org/show_bug.cgi?id=147130
1621
1622         Reviewed by Timothy Hatcher.
1623
1624         * Localizations/en.lproj/localizedStrings.js:
1625         * UserInterface/Views/ConsoleMessageView.js:
1626         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
1627         We were forgetting to assign the result of args.concat back into args.
1628         In re-addressing this, improve the formatting of output if there is
1629         a string message or not as the second argument to console.assert(), as
1630         that is the common usage.
1631
1632 2015-07-18  Saam barati  <saambarati1@gmail.com>
1633
1634         [ES6] Add support for block scope const
1635         https://bugs.webkit.org/show_bug.cgi?id=31813
1636
1637         Reviewed by Filip Pizlo.
1638
1639         "const" variables do not live on the global object and are only
1640         accessible within the "Program" they're defined in. Therefore,
1641         the WebInspector global must be defined as "var" and not "const".
1642
1643         * UserInterface/Base/WebInspector.js:
1644
1645 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
1646
1647         Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
1648         https://bugs.webkit.org/show_bug.cgi?id=147025
1649
1650         Reviewed by Timothy Hatcher.
1651
1652         The issue here was two ScriptTimelineRecord's were created for the same
1653         profile payload. When the first ScriptTimelineRecord processed the
1654         payload to create a Profile we modified the payload, then when the
1655         second ScriptTimelineRecord tries to process the payload the data is
1656         in an unexpected state and it crashes.
1657
1658         The solution here is to stash the result on the payload, so when the
1659         payload is shared we can just immediately jump to the resulting Profile.
1660         The longer term solution will be to share higher level objects and not
1661         attempt to process the payload multiple times. That is tracked by:
1662         <https://webkit.org/b/147029> Web Inspector: Better share objects generated from timeline events (Records)
1663
1664         * UserInterface/Models/ScriptTimelineRecord.js:
1665         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
1666         When processing the profile payload, store the Profile on the payload
1667         so if another ScriptTimelineRecord has that payload they can avoid
1668         re-processing it.
1669
1670 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
1671
1672         Web Inspector: Total Size of Resources number in dashboard is wrong (does not update during load)
1673         https://bugs.webkit.org/show_bug.cgi?id=147027
1674
1675         Reviewed by Timothy Hatcher.
1676
1677         * UserInterface/Models/DefaultDashboard.js:
1678         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
1679         Restore implementation of callback from r183328 to update total resource
1680         size as resources are downloaded.
1681
1682 2015-07-16  Andres Gomez  <agomez@igalia.com>
1683
1684         [GTK] Web Inspector: Further optimize the weight and time icons taken back to the toolbar dashboard for the GTK+ port
1685         https://bugs.webkit.org/show_bug.cgi?id=147010
1686
1687         SVG images optimized with a combination of sed replacements, the
1688         usage of the scour tool (http://www.codedread.com/scour/) and a
1689         forked version of the svgo tool (https://github.com/tanty/svgo).
1690
1691         Also, added the class attribute to the shape elements following
1692         the convention used in Apple's images.
1693
1694         Reviewed by Martin Robinson.
1695
1696         * UserInterface/Images/gtk/Time.svg: Optimized.
1697         * UserInterface/Images/gtk/Weight.svg: Optimized.
1698
1699 2015-07-16  Andres Gomez  <agomez@igalia.com>
1700
1701         [GTK] Web Inspector: Add new Network icon for the GTK+ port
1702         https://bugs.webkit.org/show_bug.cgi?id=147002
1703
1704         Reviewed by Martin Robinson.
1705
1706         * UserInterface/Images/gtk/Network.svg: Added.
1707         Icon for the new Network tab.
1708
1709 2015-07-16  Andres Gomez  <agomez@igalia.com>
1710
1711         [GTK] Web Inspector: Add new composite record icon for the GTK+ port
1712         https://bugs.webkit.org/show_bug.cgi?id=146998
1713
1714         Reviewed by Martin Robinson.
1715
1716         * UserInterface/Images/gtk/TimelineRecordComposite.svg: Added.
1717         New composite record icon.
1718
1719 2015-07-15  Matt Baker  <mattbaker@apple.com>
1720
1721         Web Inspector: Resizing TimelineRuler selection on both sides doesn't work with snapping enabled
1722         https://bugs.webkit.org/show_bug.cgi?id=146970
1723
1724         Reviewed by Brian Burg.
1725
1726         * UserInterface/Views/TimelineRuler.js:
1727         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
1728         Use snapped current time value when setting selection bounds.
1729
1730 2015-07-14  Nikita Vasilyev  <nvasilyev@apple.com>
1731
1732         REGRESSION (r186698): Web Inspector: Frame selector is monospace again
1733         https://bugs.webkit.org/show_bug.cgi?id=146954
1734
1735         Reviewed by Joseph Pecoraro.
1736
1737         * UserInterface/Views/HierarchicalPathComponent.css:
1738         (.hierarchical-path-component):
1739
1740 2015-07-14  Matt Baker  <mattbaker@apple.com>
1741
1742         Web Inspector: TimelineRuler minimum selection time range should be configurable
1743         https://bugs.webkit.org/show_bug.cgi?id=146944
1744
1745         Reviewed by Joseph Pecoraro.
1746
1747         * UserInterface/Views/RenderingFrameTimelineOverview.js:
1748         Set minimum selection to 1 frame.
1749
1750         * UserInterface/Views/TimelineOverview.js:
1751         (WebInspector.TimelineOverview.prototype.set selectionDuration):
1752         Use ruler's minimum duration.
1753
1754         * UserInterface/Views/TimelineRuler.js:
1755         (WebInspector.TimelineRuler):
1756         (WebInspector.TimelineRuler.prototype.get minimumSelectionDuration):
1757         (WebInspector.TimelineRuler.prototype.set minimumSelectionDuration):
1758         (WebInspector.TimelineRuler.prototype._handleMouseUp):
1759         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
1760         Added property for setting minimum selection duration. Default minimum duration is 0.01, which is
1761         equal to the old hard-coded minimum selection time range.
1762
1763 2015-07-13  Joseph Pecoraro  <pecoraro@apple.com>
1764
1765         Web Inspector: Uncaught exception in inspector for some ConsoleMessages
1766         https://bugs.webkit.org/show_bug.cgi?id=146919
1767
1768         Reviewed by Brian Burg.
1769
1770         * UserInterface/Views/ConsoleMessageView.js:
1771         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1772         The parameters list may not exist, so null check it before use.
1773
1774 2015-07-13  Nikita Vasilyev  <nvasilyev@apple.com>
1775
1776         Web Inspector: Use -apple-system-monospaced-numbers for line numbers
1777         https://bugs.webkit.org/show_bug.cgi?id=146898
1778
1779         Reviewed by Timothy Hatcher.
1780
1781         * UserInterface/Views/CodeMirrorOverrides.css:
1782         (.CodeMirror .CodeMirror-linenumber): Decrease font-size by 1px to make 4 digit numbers fit.
1783
1784 2015-07-12  Timothy Hatcher  <timothy@apple.com>
1785
1786         Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
1787         https://bugs.webkit.org/show_bug.cgi?id=146865
1788
1789         Reviewed by Daniel Bates.
1790
1791         * UserInterface/Models/CSSKeywordCompletions.js:
1792
1793 2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>
1794
1795         Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
1796         https://bugs.webkit.org/show_bug.cgi?id=146871
1797
1798         Reviewed by Timothy Hatcher.
1799
1800         * UserInterface/Views/Toolbar.css:
1801         (@media (max-width: 539px)): Hide download button to fit search field into the screen.
1802
1803 2015-07-11  Devin Rousso  <drousso@apple.com>
1804
1805         Web Inspector: Improve runtime of pseudo-element sidebar style ordering
1806         https://bugs.webkit.org/show_bug.cgi?id=146866
1807
1808         Reviewed by Timothy Hatcher.
1809
1810         * UserInterface/Models/CSSRule.js:
1811         (WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
1812         (WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
1813         (WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
1814         (WebInspector.CSSRule.prototype._determineMostSpecificSelector):
1815         Searches through the selector list to find and return the selector that is the most specific.
1816         (WebInspector.CSSRule):
1817         * UserInterface/Views/RulesStyleDetailsPanel.js:
1818         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1819
1820 2015-07-11  Devin Rousso  <drousso@apple.com>
1821
1822         Web Inspector: Warning icon tooltip for numbers with no units could be improved
1823         https://bugs.webkit.org/show_bug.cgi?id=146859
1824
1825         Reviewed by Timothy Hatcher.
1826
1827         * Localizations/en.lproj/localizedStrings.js:
1828         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1829         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
1830         If the property's value is incorrect and is comprised of only numbers, that must mean that the value needs
1831         to have units (like "px") after the number.  Added another warning icon case to support this scenario.
1832
1833 2015-07-10  Timothy Hatcher  <timothy@apple.com>
1834
1835         Web Inspector: Use -apple-system instead of -webkit-system-font
1836         https://bugs.webkit.org/show_bug.cgi?id=146860
1837
1838         Remove explicit uses of font-family where inhertance from the body is enough.
1839         Change -webkit-system-font to -apple-system and use -apple-system-monospaced-numbers
1840         for DataGrid and the toolbar dashboard.
1841
1842         Reviewed by Sam Weinig.
1843
1844         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1845         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
1846         * UserInterface/Views/DataGrid.css:
1847         (.data-grid td):
1848         * UserInterface/Views/DefaultDashboardView.css:
1849         (.toolbar .dashboard.default > .item):
1850         (.toolbar .dashboard.default > :matches(.time, .resourcesSize)):
1851         (.toolbar .dashboard.default > .resourcesSize):
1852         * UserInterface/Views/HierarchicalPathComponent.css:
1853         (.hierarchical-path-component):
1854         * UserInterface/Views/LogContentView.css:
1855         (.console-messages):
1856         * UserInterface/Views/Main.css:
1857         (body):
1858         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
1859         (.object-tree-array-index .index-name):
1860         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
1861         (.object-tree-property .prototype-name):
1862         * UserInterface/Views/ObjectTreeView.css:
1863         (.object-tree-outline li .empty-message):
1864         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
1865         (.timeline-overview-graph.rendering-frame > .divider > .label):
1866         * UserInterface/Views/SourceCodeTextEditor.css:
1867         (.source-code.text-editor > .CodeMirror .issue-widget > .text):
1868         * UserInterface/Views/TypeTreeView.css:
1869         (.type-tree):
1870
1871 2015-07-10  Devin Rousso  <drousso@apple.com>
1872
1873         Web Inspector: Add source links to functions logged in the console
1874         https://bugs.webkit.org/show_bug.cgi?id=146377
1875
1876         Reviewed by Timothy Hatcher.
1877
1878         * UserInterface/Protocol/RemoteObject.js:
1879         (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
1880         Returns a promise that contains the sourceCodeLocation if the object represents a function and has an objectId.
1881         (WebInspector.RemoteObject.prototype._isFunction):
1882         * UserInterface/Views/ConsoleMessageView.css:
1883         (.console-message .console-message-location):
1884         Added specified values for font sizing and family to ensure that all location links have the same styling.
1885         * UserInterface/Views/ConsoleMessageView.js:
1886         (WebInspector.ConsoleMessageView):
1887         Now creates a link to the source code of the entered text if the message is of the type "result".
1888         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1889         (WebInspector.ConsoleMessageView.prototype._createRemoteObjectIfNeeded):
1890         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
1891         (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
1892         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrameLocation):
1893         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
1894
1895 2015-07-10  Timothy Hatcher  <timothy@apple.com>
1896
1897         Web Inspector: Storage tab should have a scope bar in the sidebar
1898         https://bugs.webkit.org/show_bug.cgi?id=146799
1899
1900         Fix a couple typos found post review.
1901
1902         * UserInterface/Views/StorageSidebarPanel.js:
1903         (WebInspector.StorageSidebarPanel):
1904
1905 2015-07-09  Timothy Hatcher  <timothy@apple.com>
1906
1907         Web Inspector: Storage tab should have a scope bar in the sidebar
1908         https://bugs.webkit.org/show_bug.cgi?id=146799
1909
1910         Reviewed by Mark Lam.
1911
1912         * Localizations/en.lproj/localizedStrings.js: Updated.
1913         * UserInterface/Main.html: Added StorageSidebarPanel.css.
1914         * UserInterface/Views/StorageSidebarPanel.css: Added.
1915         * UserInterface/Views/StorageSidebarPanel.js:
1916         (WebInspector.StorageSidebarPanel):
1917         (WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
1918         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1919         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1920         (WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):
1921
1922 2015-07-09  Timothy Hatcher  <timothy@apple.com>
1923
1924         Web Inspector: Make the TabBar work better with AX
1925         https://bugs.webkit.org/show_bug.cgi?id=146806
1926
1927         Reviewed by Joseph Pecoraro.
1928
1929         * UserInterface/Views/TabBar.js:
1930         (WebInspector.TabBar): Set role to tablist and drop tabIndex.
1931         * UserInterface/Views/TabBarItem.js:
1932         (WebInspector.TabBarItem): Set role to tab and tabIndex.
1933         (WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.
1934
1935 2015-07-09  Devin Rousso  <drousso@apple.com>
1936
1937         Web Inspector: Don't clear the console when navigating to a different page
1938         https://bugs.webkit.org/show_bug.cgi?id=142751
1939
1940         Reviewed by Timothy Hatcher.
1941
1942         * Localizations/en.lproj/localizedStrings.js:
1943         * UserInterface/Controllers/LogManager.js:
1944         (WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
1945         (WebInspector.LogManager.prototype._delayedMessagesCleared):
1946         (WebInspector.LogManager.prototype._mainResourceDidChange):
1947         * UserInterface/Views/LogContentView.js:
1948         (WebInspector.LogContentView.prototype._sessionStarted):
1949         (WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
1950         (WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
1951         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.
1952
1953 2015-07-09  Devin Rousso  <drousso@apple.com>
1954
1955         Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
1956         https://bugs.webkit.org/show_bug.cgi?id=146804
1957
1958         Reviewed by Timothy Hatcher.
1959
1960         * UserInterface/Models/CSSRule.js:
1961         (WebInspector.CSSRule.prototype.selectorIsGreater):
1962         Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
1963         * UserInterface/Models/CSSSelector.js:
1964         (WebInspector.CSSSelector.prototype.isGreaterThan):
1965         Determines if the given selector's specificity is greater than this selector's specificity.
1966         (WebInspector.CSSSelector):
1967         * UserInterface/Views/RulesStyleDetailsPanel.js:
1968         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1969         If the pseudo-element selector's specificity is greater than the current selector's
1970         specificity, create the pseudo-element's section and add it before the current style.
1971
1972 2015-07-09  Devin Rousso  <drousso@apple.com>
1973
1974         Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
1975         https://bugs.webkit.org/show_bug.cgi?id=143840
1976
1977         Reviewed by Timothy Hatcher.
1978
1979         * UserInterface/Controllers/JavaScriptLogViewController.js:
1980         (WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
1981         Now applies a class to special logs initiated by the user (log element, log object, etc).
1982         * UserInterface/Views/ConsoleCommandView.js:
1983         (WebInspector.ConsoleCommandView): Added className parameter.
1984         * UserInterface/Views/ConsoleMessageView.css:
1985         (.console-user-command.selected-element-log):
1986         (.console-user-command.special-user-log > .console-message-text):
1987         * UserInterface/Views/DOMTreeOutline.js:
1988         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
1989         (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
1990         * UserInterface/Views/ObjectPreviewView.js:
1991         (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
1992         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1993         (WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
1994         (WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):
1995
1996 2015-07-09  Devin Rousso  <drousso@apple.com>
1997
1998         Web Inspector: Checkbox disappears when unchecking CSS background style
1999         https://bugs.webkit.org/show_bug.cgi?id=146776
2000
2001         Reviewed by Timothy Hatcher.
2002
2003         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2004         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
2005         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
2006         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
2007         Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
2008         the beginning of that lineHandle's line.
2009         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
2010         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.
2011
2012 2015-07-09  Nikita Vasilyev  <nvasilyev@apple.com>
2013
2014         Web Inspector: Align slider knobs in the color picker
2015         https://bugs.webkit.org/show_bug.cgi?id=146778
2016
2017         Also:
2018         - Use half pixel borders on retina
2019         - Remove one pixel white outline to match native OS X color picker more closely
2020
2021         Reviewed by Timothy Hatcher.
2022
2023         * UserInterface/Views/ColorPicker.css:
2024         (.color-picker > .slider > img):
2025         * UserInterface/Views/Slider.css:
2026         (.slider):
2027         (@media (-webkit-min-device-pixel-ratio: 2)):
2028
2029 2015-07-09  Matt Baker  <mattbaker@apple.com>
2030
2031         Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
2032         https://bugs.webkit.org/show_bug.cgi?id=146777
2033
2034         Reviewed by Brian Burg.
2035
2036         * UserInterface/Views/TimelineRecordFrame.css:
2037         (.timeline-record-frame > .frame > .duration):
2038         (.timeline-record-frame > .frame > .duration:last-child):
2039         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
2040         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
2041         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
2042         Use same RGB values as TimelineRecordBar.
2043
2044 2015-07-09  Matt Baker  <mattbaker@apple.com>
2045
2046         Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
2047         https://bugs.webkit.org/show_bug.cgi?id=146688
2048
2049         Reviewed by Brian Burg.
2050
2051         Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
2052         will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
2053         other controls in the popover.
2054
2055         * UserInterface/Models/Breakpoint.js:
2056         (WebInspector.Breakpoint.prototype.didDismissPopover):
2057         Clear empty Evaluate and Probe actions on popover dismissal.
2058
2059         * UserInterface/Views/BreakpointActionView.js:
2060         (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
2061         Don't remove actions with empty data on CodeMirror blur.
2062
2063 2015-07-09  Matt Baker  <mattbaker@apple.com>
2064
2065         Web Inspector: new breakpoint action dialog should reuse same action type
2066         https://bugs.webkit.org/show_bug.cgi?id=137255
2067
2068         Reviewed by Brian Burg.
2069
2070         * UserInterface/Views/BreakpointActionView.js:
2071         (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
2072         Use the view's action type instead of the default.
2073
2074 2015-07-08  Devin Rousso  <drousso@apple.com>
2075
2076         Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
2077         https://bugs.webkit.org/show_bug.cgi?id=146775
2078
2079         Reviewed by Timothy Hatcher.
2080
2081         * UserInterface/Views/CSSStyleDeclarationSection.js:
2082         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
2083         Now only uses properties from the rule's visibleProperties list.
2084
2085 2015-07-08  Timothy Hatcher  <timothy@apple.com>
2086
2087         Web Inspector: Add page weight and time back to the toolbar dashboard
2088         https://bugs.webkit.org/show_bug.cgi?id=146755
2089
2090         Revert r183328 which removed the page weight and load time from the dashboard. We have space
2091         in the dashboard, we can put these back since we didn't find a better home for them.
2092
2093         Reviewed by Joseph Pecoraro.
2094
2095         * Localizations/en.lproj/localizedStrings.js: Updated.
2096         * UserInterface/Base/Main.js:
2097         (WebInspector.showNetworkTab):
2098         * UserInterface/Images/Time.svg: Added.
2099         * UserInterface/Images/Weight.svg: Added.
2100         * UserInterface/Images/gtk/Time.svg: Added.
2101         * UserInterface/Images/gtk/Weight.svg: Added.
2102         * UserInterface/Models/DefaultDashboard.js:
2103         (WebInspector.DefaultDashboard):
2104         (WebInspector.DefaultDashboard.prototype.get resourcesSize):
2105         (WebInspector.DefaultDashboard.prototype.set resourcesSize):
2106         (WebInspector.DefaultDashboard.prototype.get time):
2107         (WebInspector.DefaultDashboard.prototype.set time):
2108         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
2109         (WebInspector.DefaultDashboard.prototype._capturingStopped):
2110         (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
2111         (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
2112         (WebInspector.DefaultDashboard.prototype._updateTime):
2113         * UserInterface/Views/DashboardContainerView.css:
2114         (body.web .toolbar .dashboard-container):
2115         (body.javascript .toolbar .dashboard-container):
2116         (.toolbar.collapsed .dashboard-container):
2117         (.toolbar .dashboard-container): Deleted.
2118         * UserInterface/Views/DefaultDashboardView.css:
2119         (body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
2120         (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
2121         (.toolbar .dashboard.default > .resourcesSize):
2122         (.toolbar .dashboard.default > .time > img):
2123         (.toolbar .dashboard.default > .resourcesSize > img):
2124         (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
2125         (body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
2126         * UserInterface/Views/DefaultDashboardView.js:
2127         (WebInspector.DefaultDashboardView):
2128         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
2129         (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
2130         (WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):
2131
2132 2015-07-08  Devin Rousso  <drousso@apple.com>
2133
2134         Web Inspector: Style sidebar is showing incorrect strikethroughs
2135         https://bugs.webkit.org/show_bug.cgi?id=146768
2136
2137         Reviewed by Timothy Hatcher.
2138
2139         * UserInterface/Models/DOMNodeStyles.js:
2140         (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
2141         No longer sets the effective property as overridden if the overriding property is anonymous (not visible).
2142
2143 2015-07-08  Devin Rousso  <drousso@apple.com>
2144
2145         Web Inspector: Color swatches show up in color names in comments
2146         https://bugs.webkit.org/show_bug.cgi?id=146757
2147
2148         Reviewed by Timothy Hatcher.
2149
2150         * UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.
2151
2152 2015-07-08  Timothy Hatcher  <timothy@apple.com>
2153
2154         Web Inspector: Only record a timeline when the Timelines tab is showing
2155         https://bugs.webkit.org/show_bug.cgi?id=146759
2156
2157         Reviewed by Joseph Pecoraro.
2158
2159         * UserInterface/Controllers/TimelineManager.js:
2160         (WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
2161         (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
2162         (WebInspector.TimelineManager.prototype._startAutoCapturing):
2163         * UserInterface/Views/TimelineTabContentView.js:
2164         (WebInspector.TimelineTabContentView.prototype.shown):
2165         (WebInspector.TimelineTabContentView.prototype.hidden):
2166
2167 2015-07-08  Timothy Hatcher  <timothy@apple.com>
2168
2169         Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
2170         https://bugs.webkit.org/show_bug.cgi?id=146691
2171
2172         Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
2173         Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.
2174
2175         Reviewed by Joseph Pecoraro.
2176
2177         * UserInterface/Views/NetworkGridContentView.js:
2178         (WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
2179         (WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
2180         NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.
2181
2182         * UserInterface/Views/NetworkSidebarPanel.js:
2183         (WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
2184         (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
2185         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
2186         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.
2187
2188         * UserInterface/Views/TimelineView.js:
2189         (WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.
2190
2191 2015-07-08  Devin Rousso  <drousso@apple.com>
2192
2193         Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
2194         https://bugs.webkit.org/show_bug.cgi?id=146727
2195
2196         Reviewed by Timothy Hatcher.
2197
2198         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2199         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
2200         The properties map used for refreshing each property now holds a list of properties for each line to ensure that
2201         if a duplicate property exists, it also gets refreshed.
2202
2203 2015-07-08  Devin Rousso  <drousso@apple.com>
2204
2205         Web Inspector: Can't select last row in the timeline because it's covered by filter selector
2206         https://bugs.webkit.org/show_bug.cgi?id=146603
2207
2208         Reviewed by Timothy Hatcher.
2209
2210         * UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
2211         * UserInterface/Views/LayoutTimelineView.js:
2212         * UserInterface/Views/NetworkTimelineView.js:
2213         * UserInterface/Views/TimelineDataGrid.css:
2214         (.data-grid.timeline > .navigation-bar-container): Deleted.
2215         (.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
2216         (.data-grid.timeline:hover > .navigation-bar-container): Deleted.
2217         (.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
2218         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
2219         * UserInterface/Views/TimelineDataGrid.js:
2220         (WebInspector.TimelineDataGrid):
2221         (WebInspector.TimelineDataGrid.createColumnScopeBar):
2222         (WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
2223         * UserInterface/Views/TimelineRecordingContentView.js:
2224         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
2225         * UserInterface/Views/TimelineSidebarPanel.css:
2226         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
2227         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
2228         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
2229         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
2230         * UserInterface/Views/TimelineSidebarPanel.js:
2231         (WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
2232         Clears the title bar scope element and adds the given element as a child node.
2233         * UserInterface/Views/TimelineView.js:
2234         (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
2235         Returns the scope bar element of the current object if it exists.
2236
2237 2015-07-08  Devin Rousso  <drousso@apple.com>
2238
2239         Web Inspector: Clicking style checkbox selects the property name while mouse down
2240         https://bugs.webkit.org/show_bug.cgi?id=146728
2241
2242         Reviewed by Timothy Hatcher.
2243
2244         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2245         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
2246         Now returns if the click was not at the end of the line.
2247
2248 2015-07-08  Timothy Hatcher  <timothy@apple.com>
2249
2250         REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
2251         https://bugs.webkit.org/show_bug.cgi?id=146675
2252
2253         Reviewed by Joseph Pecoraro.
2254
2255         * UserInterface/Views/TreeOutline.js:
2256         (WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
2257         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
2258         (WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
2259         This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
2260         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
2261         (WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.
2262
2263 2015-07-08  Devin Rousso  <drousso@apple.com>
2264
2265         Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
2266         https://bugs.webkit.org/show_bug.cgi?id=146715
2267
2268         Reviewed by Timothy Hatcher.
2269
2270         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2271         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
2272         Now returns if the change was in the first character of the first line.
2273
2274 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
2275
2276         Web Inspector: Use "hairline" borders on retina screen
2277         https://bugs.webkit.org/show_bug.cgi?id=146619
2278
2279         Reviewed by Timothy Hatcher.
2280
2281         * UserInterface/Views/CSSStyleDeclarationSection.css:
2282         (.style-declaration-section):
2283         (.style-declaration-section.locked):
2284         (.style-declaration-section:not(.locked)):
2285         (.style-declaration-section.last-in-group):
2286         (.style-declaration-section + .style-declaration-section):
2287         (.style-declaration-section.last-in-group + .style-declaration-section):
2288         (@media (-webkit-min-device-pixel-ratio: 2)):
2289         * UserInterface/Views/DetailsSection.css:
2290         (.details-section .details-section):
2291         (.details-section > .content > .group:nth-child(even)):
2292         (@media (-webkit-min-device-pixel-ratio: 2)):
2293         * UserInterface/Views/DividerNavigationItem.css:
2294         (@media (-webkit-min-device-pixel-ratio: 2)):
2295         * UserInterface/Views/RulesStyleDetailsPanel.css:
2296         (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
2297         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
2298         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
2299         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
2300         (@media (-webkit-min-device-pixel-ratio: 2)):
2301
2302 2015-07-07  Devin Rousso  <drousso@apple.com>
2303
2304         Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
2305         https://bugs.webkit.org/show_bug.cgi?id=146709
2306
2307         Reviewed by Timothy Hatcher.
2308
2309         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2310         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
2311         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
2312         (WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
2313         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
2314         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
2315         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
2316         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
2317         Determines if the text at the given cursor position in the given line is a comment.
2318         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
2319         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
2320
2321 2015-07-07  Devin Rousso  <drousso@apple.com>
2322
2323         Web Inspector: spacebar should pause/resume timeline recording when timelines are open
2324         https://bugs.webkit.org/show_bug.cgi?id=143267
2325
2326         Reviewed by Timothy Hatcher.
2327
2328         * Localizations/en.lproj/localizedStrings.js:
2329         * UserInterface/Views/TimelineTabContentView.js:
2330         (WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
2331         (WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
2332         (WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
2333         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
2334         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
2335         (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.
2336
2337 2015-07-07  Joseph Pecoraro  <pecoraro@apple.com>
2338
2339         Web Inspector: Improve names for unprefixed animation events
2340         https://bugs.webkit.org/show_bug.cgi?id=146708
2341
2342         Reviewed by Timothy Hatcher.
2343
2344         * UserInterface/Models/ScriptTimelineRecord.js:
2345
2346 2015-07-07  Timothy Hatcher  <timothy@apple.com>
2347
2348         Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
2349         https://bugs.webkit.org/show_bug.cgi?id=146694
2350
2351         Reviewed by Joseph Pecoraro.
2352
2353         * UserInterface/Views/TimelineRecordBar.css:
2354         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
2355         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
2356         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
2357
2358 2015-07-07  Devin Rousso  <drousso@apple.com>
2359
2360         Web Inspector: Unnecessary space added after -webkit- prefixed property values
2361         https://bugs.webkit.org/show_bug.cgi?id=146671
2362
2363         Reviewed by Joseph Pecoraro.
2364
2365         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
2366         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
2367         * Tools/PrettyPrinting/index.html:
2368         * UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
2369         tokens are a property, value, or atom.
2370
2371 2015-07-07  Matt Baker  <mattbaker@apple.com>
2372
2373         Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
2374         https://bugs.webkit.org/show_bug.cgi?id=146248
2375
2376         Reviewed by Timothy Hatcher.
2377
2378         * UserInterface/Views/RenderingFrameTimelineOverview.js:
2379         Enable duration pixel alignment.
2380
2381         * UserInterface/Views/TimelineOverview.css:
2382         (.timeline-overview.frames > .timeline-ruler > .header > .divider):
2383         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
2384         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
2385         Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
2386         positioned inside the gap between frame elements.
2387
2388         * UserInterface/Views/TimelineOverview.js:
2389         (WebInspector.TimelineOverview):
2390         (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
2391         (WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
2392         (WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
2393         (WebInspector.TimelineOverview.prototype._handleWheelEvent):
2394         Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
2395         When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
2396         and maintaining a consistent 1 pixel gap between frames.
2397
2398 2015-07-07  Devin Rousso  <drousso@apple.com>
2399
2400         Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
2401         https://bugs.webkit.org/show_bug.cgi?id=146676
2402
2403         Reviewed by Timothy Hatcher.
2404
2405         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2406         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
2407         remaining text after the current cursor position.
2408         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.
2409
2410 2015-07-07  Devin Rousso  <drousso@apple.com>
2411
2412         Web Inspector: Option+Click not jumping to resource
2413         https://bugs.webkit.org/show_bug.cgi?id=146498
2414
2415         Reviewed by Timothy Hatcher.
2416
2417         * UserInterface/Base/Main.js: Always show the tab which contains the represented object.
2418         (WebInspector._domNodeWasInspected):
2419         (WebInspector._frameWasAdded):
2420         (WebInspector.showConsoleTab):
2421         (WebInspector.showRepresentedObject): Removed forceShowTab parameter.
2422         (WebInspector.showMainFrameDOMTree):
2423         (WebInspector.showContentFlowDOMTree):
2424         (WebInspector.showSourceCodeForFrame):
2425         (WebInspector.showSourceCode):
2426         (WebInspector.showSourceCodeLocation):
2427         (WebInspector.showOriginalUnformattedSourceCodeLocation):
2428         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
2429         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
2430         (WebInspector.showResourceRequest):
2431         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
2432         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
2433         * UserInterface/Protocol/InspectorFrontendAPI.js:
2434         (InspectorFrontendAPI.showMainResourceForFrame):
2435         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2436         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
2437         (WebInspector.ComputedStyleDetailsPanel):
2438         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2439         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
2440         (WebInspector.ObjectTreeBaseTreeElement):
2441
2442 2015-07-07  Devin Rousso  <drousso@apple.com>
2443
2444         Web Inspector: Regression: CSS autocompletion suggestion applies on pressing delete
2445         https://bugs.webkit.org/show_bug.cgi?id=146672
2446
2447         Reviewed by Timothy Hatcher.
2448
2449         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2450         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now returns if completions are showing.
2451
2452 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
2453
2454         Web Inspector: Properly align checkboxes in the styles sidebar
2455         https://bugs.webkit.org/show_bug.cgi?id=146673
2456
2457         Reviewed by Timothy Hatcher.
2458
2459         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2460         (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]):
2461
2462 2015-07-06  Matt Baker  <mattbaker@apple.com>
2463
2464         Web Inspector: Rendering Frame bars appear misaligned and contain gaps when displaying small task segments
2465         https://bugs.webkit.org/show_bug.cgi?id=146475
2466
2467         Reviewed by Timothy Hatcher.
2468
2469         Displaying all task segments within a frame in the Rendering Frames graph is impossible, as very short tasks
2470         would result in a bar with a height of less than 1 pixel. Consecutive small tasks, each less than a visible
2471         pixel, appear as gaps in the frame bar. This patch addresses these shortcomings by introducing a minimum
2472         displayable frame height (3 pixels), and setting the height of every frame to a multiple of the minimum height.
2473
2474         * UserInterface/Base/Utilities.js:
2475         (.value):
2476         Added Math.roundTo to simplify rounding to arbitrary intervals.
2477
2478         * UserInterface/Views/TimelineRecordFrame.css:
2479         (.timeline-record-frame):
2480         (.timeline-record-frame > .frame > .duration):
2481         Enforce 3px min height for frames & segments. TimelineRenderingFrame's segment height calculator
2482         creates segments that are always at least 3px, this is just a precaution.
2483
2484         * UserInterface/Views/TimelineRecordFrame.js:
2485         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.updateDurationRemainder):
2486         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.pushCurrentSegment):
2487         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.invisibleSegments.forEach):
2488         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement): Deleted.
2489         Added algorithm for calculating frame segment heights, rather than simply dividing each task's
2490         duration by the frame duration. Results are cached so the segment heights aren't needlessly
2491         recalculated on every scroll/zoom.
2492
2493 2015-07-06  Timothy Hatcher  <timothy@apple.com>
2494
2495         Web Inspector: Force show Console tab when supportsSplitContentBrowser is false
2496         https://bugs.webkit.org/show_bug.cgi?id=146661
2497
2498         Reviewed by Joseph Pecoraro.
2499
2500         * UserInterface/Base/Main.js:
2501         (WebInspector.showConsoleTab):
2502
2503 2015-07-06  Devin Rousso  <drousso@apple.com>
2504
2505         Web Inspector: Clearing the console does not remove the unread message icon
2506         https://bugs.webkit.org/show_bug.cgi?id=146649
2507
2508         Reviewed by Timothy Hatcher.
2509
2510         * UserInterface/Views/LogContentView.js:
2511         (WebInspector.LogContentView.prototype._clearLog): Removes the "unread" class from all scope bar items.
2512
2513 2015-07-02  Timothy Hatcher  <timothy@apple.com>
2514
2515         Web Inspector: Add a dedicated Network tab that is always live
2516         https://bugs.webkit.org/show_bug.cgi?id=146568
2517
2518         Reviewed by Joseph Pecoraro.
2519
2520         * Localizations/en.lproj/localizedStrings.js: Updated.
2521
2522         * UserInterface/Base/Main.js:
2523         (WebInspector.loaded):
2524         (WebInspector.isTabTypeAllowed):
2525         (WebInspector._tabContentViewForType):
2526         (WebInspector._updateNewTabButtonState):
2527         Add NetworkTabContentView to the right places.
2528
2529         * UserInterface/Controllers/TimelineManager.js:
2530         (WebInspector.TimelineManager):
2531         (WebInspector.TimelineManager.prototype.get persistentNetworkTimeline):
2532         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
2533         (WebInspector.TimelineManager.prototype._resourceWasAdded):
2534         Add a persistent network timeline that always has all resources.
2535
2536         * UserInterface/Images/Network.svg: Added.
2537
2538         * UserInterface/Main.html: Added new files.
2539
2540         * UserInterface/Views/NavigationSidebarPanel.css:
2541         (.sidebar > .panel.navigation > .content):
2542         Drive-by fix. The bottom was off by one. This caused misalignment between sidebar and content view when
2543         scrolled all the way to the bottom of the content view.
2544
2545         * UserInterface/Views/NetworkGridContentView.css: Added.
2546         (.content-view.network-grid > .data-grid):
2547         (.content-view.network-grid > .data-grid th):
2548         (.content-view.network-grid > .data-grid td):
2549         (.content-view.network-grid > .data-grid table.data):
2550         Mostly copied from TimelineView.css and NetworkTimelineView.css.
2551
2552         * UserInterface/Views/NetworkGridContentView.js: Added.
2553         (WebInspector.NetworkGridContentView):
2554         (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline):
2555         (WebInspector.NetworkGridContentView.prototype.get selectionPathComponents):
2556         (WebInspector.NetworkGridContentView.prototype.get zeroTime):
2557         (WebInspector.NetworkGridContentView.prototype.shown):
2558         (WebInspector.NetworkGridContentView.prototype.hidden):
2559         (WebInspector.NetworkGridContentView.prototype.closed):
2560         (WebInspector.NetworkGridContentView.prototype.updateLayout):
2561         (WebInspector.NetworkGridContentView.prototype.needsLayout):
2562         (WebInspector.NetworkGridContentView.prototype.reset):
2563         (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
2564         (WebInspector.NetworkGridContentView.prototype._networkTimelineReset):
2565         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
2566         (WebInspector.NetworkGridContentView.prototype._treeElementPathComponentSelected):
2567         (WebInspector.NetworkGridContentView.prototype._dataGridNodeSelected):
2568         Mostly copied from NetworkTimelineView.
2569
2570         * UserInterface/Views/NetworkSidebarPanel.css: Added.
2571         (.sidebar > .panel.navigation.network > :matches(.content, .empty-content-placeholder)):
2572         (.sidebar > .panel.navigation.network > .navigation-bar):
2573         (.sidebar > .panel.navigation.network > .title-bar):
2574         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content):
2575         (.sidebar > .panel.navigation.network .item:hover:not(.selected) .status .close.status-button):
2576         (.sidebar > .panel.navigation.network:not(.network-grid-content-view-showing) .status .go-to-arrow.status-button):
2577         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .status .close.status-button):
2578         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle):
2579         (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline):
2580         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
2581         Mostly copied from TimelineSidebarPanel.css and NetworkTimelineView.css.
2582
2583         * UserInterface/Views/NetworkSidebarPanel.js: Added.
2584         (WebInspector.NetworkSidebarPanel):
2585         (WebInspector.NetworkSidebarPanel.prototype.closed):
2586         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
2587         (WebInspector.NetworkSidebarPanel.prototype.saveStateToCookie):
2588         (WebInspector.NetworkSidebarPanel.prototype.restoreStateFromCookie):
2589         (WebInspector.NetworkSidebarPanel.prototype.hasCustomFilters):
2590         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2591         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2592         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
2593         (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
2594         (WebInspector.NetworkSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
2595         (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
2596         (WebInspector.NetworkSidebarPanel.prototype._treeElementCloseButtonClicked):
2597         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView):
2598         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected):
2599         (WebInspector.NetworkSidebarPanel.prototype._scopeBarSelectionDidChange):
2600         A hybrid of ResourceSidebarPanel and TimelineSidebarPanel.
2601
2602         * UserInterface/Views/NetworkTabContentView.js: Added.
2603         (WebInspector.NetworkTabContentView):
2604         (WebInspector.NetworkTabContentView.prototype.get type):
2605         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
2606
2607         * UserInterface/Views/NewTabContentView.js:
2608         (WebInspector.NewTabContentView): Add Network tab and sort the tabs by their localized name.
2609
2610         * UserInterface/Views/TabBar.js:
2611         (WebInspector.TabBar.prototype._handleNewTabClick):
2612         Drive-by fix. Don't fire the click event if the new tab button is disabled.
2613
2614 2015-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
2615
2616         Web Inspector: Mark console filters that have unseen messages by colored dots
2617         https://bugs.webkit.org/show_bug.cgi?id=146616
2618
2619         Reviewed by Timothy Hatcher.
2620
2621         * UserInterface/Views/LogContentView.css:
2622         (.log-scope-bar > li.unread::before):
2623         (.log-scope-bar > li.unread:hover::before):
2624         (.log-scope-bar > li.unread.errors::before):
2625         (.log-scope-bar > li.unread.warnings::before):
2626         (.log-scope-bar > li.unread.logs::before):
2627         (@keyframes unread-background-pulse):
2628
2629 2015-07-06  Timothy Hatcher  <timothy@apple.com>
2630
2631         Web Inspector: Exceptions in Network timeline when resource updates and filters are applied
2632         https://bugs.webkit.org/show_bug.cgi?id=146609
2633
2634         Reviewed by Joseph Pecoraro.
2635
2636         * UserInterface/Views/DataGrid.js:
2637         (WebInspector.DataGrid.prototype.insertChild):
2638         (WebInspector.DataGrid.prototype.removeChild):
2639         (WebInspector.DataGridNode.prototype.savePosition):
2640         Convert exceptions to asserts and early returns.
2641
2642         * UserInterface/Views/TimelineDataGrid.js:
2643         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): Add some asserts and checks.
2644
2645         * UserInterface/Views/TreeOutline.js:
2646         (WebInspector.TreeOutline.prototype.appendChild):
2647         (WebInspector.TreeOutline.prototype.insertChild):
2648         (WebInspector.TreeOutline.prototype.removeChildAtIndex):
2649         (WebInspector.TreeOutline.prototype.removeChild):
2650         Convert exceptions to asserts and early returns.
2651
2652 2015-07-05  Timothy Hatcher  <timothy@apple.com>
2653
2654         Web Inspector: Cached resources are missing startTime and size in Network timeline
2655         https://bugs.webkit.org/show_bug.cgi?id=146607
2656
2657         Reviewed by Joseph Pecoraro.
2658
2659         * UserInterface/Controllers/FrameResourceManager.js:
2660         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass elapsedTime in the right argument order.
2661         Add missing calls to Resource.increaseSize and Resource.increaseTransferSize.
2662         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass elapsedTime in the right argument order.
2663
2664 2015-07-05  Timothy Hatcher  <timothy@apple.com>
2665
2666         Web Inspector: Dim more borders when the window is inactive
2667         https://bugs.webkit.org/show_bug.cgi?id=146608
2668
2669         Reviewed by Joseph Pecoraro.
2670
2671         * UserInterface/Views/DataGrid.css:
2672         (body.window-inactive .data-grid th):
2673         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
2674         * UserInterface/Views/NavigationSidebarPanel.css:
2675         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
2676         * UserInterface/Views/OverviewTimelineView.css:
2677         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
2678         * UserInterface/Views/TimelineDataGrid.css:
2679         (body.window-inactive .data-grid.timeline th):
2680         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar):
2681         * UserInterface/Views/TimelineRuler.css:
2682         (body.window-inactive .timeline-ruler > .header):
2683         (body.window-inactive .timeline-ruler > .header > .divider):
2684         * UserInterface/Views/TimelineSidebarPanel.css:
2685         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
2686         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
2687         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
2688
2689 2015-07-05  Timothy Hatcher  <timothy@apple.com>
2690
2691         Web Inspector: Timeline row selection should have same background color in sidebar and data grid
2692         https://bugs.webkit.org/show_bug.cgi?id=146606
2693
2694         Support a force-focus class name that TreeOutlineDataGridSynchronizer applies when one of the
2695         elements is focused, so the other can look focused too.
2696
2697         Reviewed by Joseph Pecoraro.
2698
2699         * UserInterface/Views/DataGrid.css:
2700         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
2701         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
2702         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
2703         (.data-grid:matches(:focus, .force-focus) tr.selected):
2704         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
2705
2706         * UserInterface/Views/Main.css:
2707         (:matches(:focus, .force-focus) .selected .go-to-arrow):
2708         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
2709
2710         * UserInterface/Views/NavigationSidebarPanel.css:
2711         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
2712         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
2713         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
2714         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
2715
2716         * UserInterface/Views/TreeElementStatusButton.css:
2717         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled):
2718         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked):
2719
2720         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
2721         (WebInspector.TreeOutlineDataGridSynchronizer):
2722         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridGainedFocus): Added.
2723         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridLostFocus): Added.
2724         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineGainedFocus): Added.
2725         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineLostFocus): Added.
2726
2727 2015-07-05  Devin Rousso  <drousso@apple.com>
2728
2729         Web Inspector: Deleting in the CSS sidebar causes the warning icon to appear mid-word
2730         https://bugs.webkit.org/show_bug.cgi?id=146617
2731
2732         Reviewed by Timothy Hatcher.
2733
2734         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2735         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now removes all marks whenever the user deletes.
2736         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): The invalid marker now calculates
2737         it's position based off of where the semicolon is in the property text.
2738
2739 2015-07-05  Devin Rousso  <drousso@apple.com>
2740
2741         Web Inspector: CSS rule with 2 pseudo-selectors appears twice
2742         https://bugs.webkit.org/show_bug.cgi?id=146576
2743
2744         Reviewed by Timothy Hatcher.
2745
2746         * UserInterface/Views/RulesStyleDetailsPanel.js:
2747         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
2748         Only adds pseudo-elements if the previous pseudo-element has a different selector.
2749
2750 2015-07-04  Devin Rousso  <drousso@apple.com>
2751
2752         Web Inspector: Wrong cursor position in styles panel when deleting a line break
2753         https://bugs.webkit.org/show_bug.cgi?id=146577
2754
2755         Reviewed by Timothy Hatcher.
2756
2757         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2758         (WebInspector.CSSStyleDeclarationTextEditor):
2759         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): If the change is a deletion at the beginning of a line,
2760         remove all markers on that line to ensure that there is no blank space on the previous line after deleting.
2761
2762 2015-07-04  Devin Rousso  <drousso@apple.com>
2763
2764         Web Inspector: Pressing tab on a newline in the console should insert a tab character
2765         https://bugs.webkit.org/show_bug.cgi?id=146612
2766
2767         Reviewed by Timothy Hatcher.
2768
2769         * UserInterface/Views/ConsolePrompt.js:
2770         (WebInspector.ConsolePrompt.prototype._handleTabKey): Tabs can now be inserted at the beginning of newlines and before the first
2771         non-space character on any other line.
2772
2773 2015-07-04  Devin Rousso  <drousso@apple.com>
2774
2775         Web Inspector: Pressing enter on a newline in the styles sidebar inserts a semicolon
2776         https://bugs.webkit.org/show_bug.cgi?id=146611
2777
2778         Reviewed by Timothy Hatcher.
2779
2780         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2781         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Now returns if the line is empty.
2782
2783 2015-07-04  Devin Rousso  <drousso@apple.com>
2784
2785         Web Inspector: Console should indicate if you have unseen messages in console due to filters
2786         https://bugs.webkit.org/show_bug.cgi?id=143166
2787
2788         Reviewed by Timothy Hatcher.
2789
2790         * UserInterface/Controllers/JavaScriptLogViewController.js:
2791         (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Now returns true/false depending on if
2792         the message count was actually updated.
2793         * UserInterface/Views/LogContentView.css:
2794         (.log-scope-bar > li.unread): Applies the unread-border-pulse keyframe animation.
2795         (.log-scope-bar > li.unread.errors): The pulsing border is colored red.
2796         (.log-scope-bar > li.unread.warnings): The pulsing border is colored yellow(ish).
2797         (.log-scope-bar > li.unread.logs): The pulsing border is colored grey.
2798         (@keyframes unread-border-pulse): Changes the color of the border from transparent to whatever is specificed.
2799         * UserInterface/Views/LogContentView.js:
2800         (WebInspector.LogContentView):
2801         (WebInspector.LogContentView.prototype._determineMessageLevel):
2802         (WebInspector.LogContentView.prototype._pulseScopeBarItemBorder): Adds the class "unread" to the scope bar item whose panel
2803         the newest message belongs to, but only if that panel or the All panel is not visible.
2804         (WebInspector.LogContentView.prototype._messageAdded):
2805         (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
2806         (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): Clears the "unread" class on the selected scope bar item.
2807         (WebInspector.LogContentView.prototype._filterMessageElements):
2808         * UserInterface/Views/ScopeBar.js:
2809         (WebInspector.ScopeBar.prototype.get items): Returns a list of all the items in the scope bar.
2810         * UserInterface/Views/ScopeBarItem.js:
2811         (WebInspector.ScopeBarItem): Added another parameter to allow for a custom class name.
2812
2813 2015-07-04  Devin Rousso  <drousso@apple.com>
2814
2815         Web Inspector: Pseudo Styles Ordering and Media Queries
2816         https://bugs.webkit.org/show_bug.cgi?id=145979
2817
2818         Reviewed by Timothy Hatcher.
2819
2820         * UserInterface/Views/RulesStyleDetailsPanel.css:
2821         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
2822         Fix filter label styling with pseudo selectors.
2823         * UserInterface/Views/RulesStyleDetailsPanel.js:
2824         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Pseudo-selector rules will now order directly after the last style that
2825         matches the pseudo-selector without the pseudo-element.  If no rules match, place the pseudo-selector rules above the first
2826         inherited or UserAgent rule (whichever comes first).
2827
2828 2015-07-04  Devin Rousso  <drousso@apple.com>
2829
2830         REGRESSION(r184000): Web Inspector: Multiline CSS in Styles Sidebar is marked as invalid
2831         https://bugs.webkit.org/show_bug.cgi?id=146178
2832
2833         Reviewed by Timothy Hatcher.
2834
2835         First changes made by Tobias Reiss  <tobi+webkit@basecode.de>
2836
2837         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values-expected.css: Added.
2838         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values.css: Added.
2839         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules-expected.css: Added.
2840         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules.css: Added.
2841         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values-expected.css: Added.
2842         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values.css: Added.
2843         * Tools/PrettyPrinting/index.html:
2844         Add regression tests.
2845         * UserInterface/Views/CodeMirrorFormatters.js:
2846         Remove newlines before values that belong in one line and add whitespace between values. 
2847
2848 2015-07-04  Nikita Vasilyev  <nvasilyev@apple.com>
2849
2850         Web Inspector: The arrow that appears for Web Inspector Layout & Rendering records overlaps the category switcher
2851         https://bugs.webkit.org/show_bug.cgi?id=146605
2852
2853         Reviewed by Timothy Hatcher.
2854
2855         * UserInterface/Views/TimelineDataGrid.css:
2856         (.data-grid.timeline > .navigation-bar-container):
2857
2858 2015-07-03  Dan Bernstein  <mitz@apple.com>
2859
2860         [Xcode] Update some build settings as recommended by Xcode 7
2861         https://bugs.webkit.org/show_bug.cgi?id=146597
2862
2863         Reviewed by Sam Weinig.
2864
2865         * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
2866         GCC_NO_COMMON_BLOCKS.
2867         * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
2868
2869 2015-07-02  Devin Rousso  <drousso@apple.com>
2870
2871         Web Inspector: Show suggest popover on Tab press even if it wasn't showing before
2872         https://bugs.webkit.org/show_bug.cgi?id=146496
2873
2874         Reviewed by Timothy Hatcher.
2875
2876         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2877         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will try to autocomplete before trying
2878         to add an ending colon/semicolon or highlight the next section of text.
2879
2880 2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>
2881
2882         Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
2883         https://bugs.webkit.org/show_bug.cgi?id=146536
2884
2885         Reviewed by Timothy Hatcher.
2886
2887         Since we still support legacy backends, the frontend documents where
2888         it is handling legacy backends with compatibility comments.
2889
2890         * UserInterface/Models/ProfileNode.js:
2891         (WebInspector.ProfileNode):
2892         (WebInspector.ProfileNode.prototype.get callInfo):
2893         Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.
2894
2895         * UserInterface/Models/ScriptTimelineRecord.js:
2896         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
2897         If the profile has per-call information, construct ProfileNodeCall objects, otherwise
2898         just construct the ProfileNode with the aggregate callInfo value.
2899
2900         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2901         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
2902         When we have aggregate call information we cannot easily partition a script,
2903         so we instead treat the entire script as one large atomic unit in the timeline.
2904         If the timeline range has any portion of the script, show the entire script.
2905         Users used to be able to select a portion of a script and view the relevant
2906         functions called in just that sliver, but this doesn't appear to be a well
2907         known feature or commonly used. In fact, given the small ranges of time it
2908         could be confusing for users.
2909
2910         * UserInterface/Views/TimelineRecordingContentView.js:
2911         (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
2912         Treat as a discrete unit.
2913
2914 2015-07-01  Devin Rousso  <drousso@apple.com>
2915
2916         Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
2917         https://bugs.webkit.org/show_bug.cgi?id=145885
2918
2919         Reviewed by Timothy Hatcher.
2920
2921         * UserInterface/Controllers/CodeMirrorCompletionController.js:
2922         (WebInspector.CodeMirrorCompletionController):
2923         (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
2924         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
2925         (WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
2926         callers of this function to determine if the autocomplete had any values or was instead not shown.
2927         (WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):
2928         * UserInterface/Main.html: Added WrappedPromise class.
2929         * UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
2930         * UserInterface/Views/ConsolePrompt.js:
2931         (WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text.  If there are none, beep.
2932
2933 2015-07-01  Devin Rousso  <drousso@apple.com>
2934
2935         Make the first click on a rule section create a newline for easy property addition
2936         https://bugs.webkit.org/show_bug.cgi?id=146490
2937
2938         Reviewed by Timothy Hatcher.
2939
2940         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2941         (WebInspector.CSSStyleDeclarationTextEditor):
2942         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
2943         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
2944         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
2945         unfocused, the name/value containing the cursor will be highlighted.  If instead the user clicks at the end of a line, the
2946         cursor's position is saved for mouseUp.
2947         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
2948         to the current cursor's position (the user did not drag), add a newline after the current line and place the cursor on that line.
2949         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
2950         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.
2951
2952 2015-06-30  Devin Rousso  <drousso@apple.com>
2953
2954         Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
2955         https://bugs.webkit.org/show_bug.cgi?id=145739
2956
2957         Reviewed by Timothy Hatcher.
2958
2959         * UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.
2960         (.dom-tree-outline li.selected > span::after):
2961         (.dom-tree-outline:focus li.selected > span::after):
2962
2963 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2964
2965         Web Inspector: ProfileNode cleanup
2966         https://bugs.webkit.org/show_bug.cgi?id=146472
2967
2968         Reviewed by Timothy Hatcher.
2969
2970         * UserInterface/Models/ProfileNode.js:
2971         (WebInspector.ProfileNode):
2972         Use Array.prototype.every instead of reduce.
2973         Correct the name of a function to be what callers expect!
2974
2975 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2976
2977         Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
2978         https://bugs.webkit.org/show_bug.cgi?id=146471
2979
2980         Reviewed by Brian Burg.
2981
2982         * UserInterface/Models/ScriptTimelineRecord.js:
2983         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
2984         For legacy backends, convert the startTime to the proper timestamp type.
2985
2986 2015-06-30  Matt Baker  <mattbaker@apple.com>
2987
2988         Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
2989         https://bugs.webkit.org/show_bug.cgi?id=146168
2990
2991         Reviewed by Brian Burg.
2992
2993         * Localizations/en.lproj/localizedStrings.js:
2994         * UserInterface/Controllers/TimelineManager.js:
2995         (WebInspector.TimelineManager.prototype._processRecord):
2996         Added handling for new Composite record type. Paint records with a parent Composite record
2997         are flagged to simplify processing after the event hierarchy is unpacked.
2998
2999         * UserInterface/Images/TimelineRecordComposite.svg: Added.
3000         New composite record icon.
3001
3002         * UserInterface/Models/LayoutTimelineRecord.js:
3003         (WebInspector.LayoutTimelineRecord):
3004         (WebInspector.LayoutTimelineRecord.displayNameForEventType):
3005         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
3006         Composite record support.
3007
3008         * UserInterface/Models/RenderingFrameTimelineRecord.js:
3009         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
3010         Add compositing time when bucketing runloop tasks, ignoring Paint events that are
3011         contained within a Composite event.
3012
3013         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
3014         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
3015         Add Composite records to paint timeline row.
3016
3017         * UserInterface/Views/RenderingFrameTimelineView.js:
3018         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
3019         Small unrelated fix.
3020
3021         * UserInterface/Views/TimelineIcons.css:
3022         (.composite-record .icon):
3023         * UserInterface/Views/TimelineRecordBar.css:
3024         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
3025         * UserInterface/Views/TimelineRecordTreeElement.js:
3026         (WebInspector.TimelineRecordTreeElement):
3027         New styles and tree element icon.
3028
3029 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
3030
3031         Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
3032         https://bugs.webkit.org/show_bug.cgi?id=146427
3033
3034         Reviewed by Timothy Hatcher.
3035
3036         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
3037         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
3038         * UserInterface/Views/ObjectTreeView.js:
3039         (WebInspector.ObjectTreeView.prototype._updateProperties):
3040         We are supposed to receive value properties for __proto__ properties
3041         so that we can immediately start showing information about the property.
3042         When that is not the case, which appeared to only be on legacy
3043         backends for the top level prototype, just ignore it.
3044
3045 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
3046
3047         Web Inspector: Misc. Timeline cleanup
3048         https://bugs.webkit.org/show_bug.cgi?id=146430
3049
3050         Reviewed by Timothy Hatcher.
3051
3052         * UserInterface/Models/Timeline.js:
3053         (WebInspector.Timeline.prototype.reset):
3054         Nobody listens for this event. Just remove it.
3055
3056         * UserInterface/Models/TimelineRecording.js:
3057         Avoiding doing multiple lookups.
3058
3059         * UserInterface/Views/TimelineDataGridNode.js:
3060         * UserInterface/Views/TimelineRecordingContentView.js:
3061         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
3062         * UserInterface/Views/TimelineView.js:
3063         (WebInspector.TimelineView.prototype.updateLayout):
3064         Eliminate some unnecessary deletes.
3065
3066 2015-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
3067
3068         Web Inspector: Unable to select the text of an inline error message
3069         https://bugs.webkit.org/show_bug.cgi?id=145813
3070
3071         Reviewed by Timothy Hatcher.
3072
3073         * UserInterface/Views/CodeMirrorOverrides.css:
3074         (.CodeMirror-linewidget):
3075         * UserInterface/Views/TextEditor.js:
3076         (WebInspector.TextEditor.prototype.createWidgetForLine):
3077
3078 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
3079
3080         Web Inspector: Remove harmless error for not getting named flows
3081         https://bugs.webkit.org/show_bug.cgi?id=146417
3082
3083         Reviewed by Darin Adler.
3084
3085         * UserInterface/Controllers/DOMTreeManager.js:
3086
3087 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
3088
3089         Web Inspector: Network errors (404) are missing location link in console messages
3090         https://bugs.webkit.org/show_bug.cgi?id=146442
3091
3092         Reviewed by Darin Adler.
3093
3094         * UserInterface/Views/ConsoleMessageView.js:
3095         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
3096         Restore behavior of adding a location link for network messages with urls.
3097
3098 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
3099
3100         Web Inspector: iOS 8: Resources Timeline Data does not show up
3101         https://bugs.webkit.org/show_bug.cgi?id=146433
3102
3103         Reviewed by Timothy Hatcher.
3104
3105         There were a couple issues with initializing the legacy base timestamp
3106         for attempting to dynamically compute monotonically increasing timestamps
3107         for timeline events for legacy backends.
3108
3109             * Sometimes legacy timestamps were in seconds since epochs,
3110               sometimes milliseconds. The frontend did not handle both.
3111
3112             * On navigations, even while resetting the base timestamp for
3113               the first new record received, the main resource still had
3114               a will send request time computed from the previous page's
3115               time system. This patch re-uses the original timestamp for
3116               this main resource as the new base and all future records
3117               are computed relative to this.
3118
3119         * UserInterface/Controllers/FrameResourceManager.js:
3120         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
3121         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
3122         * UserInterface/Models/Resource.js:
3123         (WebInspector.Resource):
3124         (WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
3125         For legacy timestamp calculations, save the original request will be sent
3126         timestamp on the Resource in case it is needed.
3127
3128         * UserInterface/Controllers/TimelineManager.js:
3129         (WebInspector.TimelineManager.prototype._loadNewRecording):
3130         When auto-starting a new recording for a navigation / reload, use the
3131         main resource's request will be sent timestamp as the new base.
3132
3133         * UserInterface/Models/TimelineRecording.js:
3134         Address legacy timeline timestamps by handling both legacy timestamps
3135         that may be seconds / milliseconds.
3136
3137 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
3138
3139         REGRESSION: Web Inspector: Jump to Definition is broken
3140         https://bugs.webkit.org/show_bug.cgi?id=146376
3141
3142         Reviewed by Timothy Hatcher.
3143
3144         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
3145         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
3146         Allow changing tabs when jumping to function definition.
3147
3148 2015-06-28  Nikita Vasilyev  <nvasilyev@apple.com>
3149
3150         Web Inspector: Wrong border color of console messages when filters are enabled
3151         https://bugs.webkit.org/show_bug.cgi?id=146392
3152
3153         Reviewed by Timothy Hatcher.
3154
3155         * UserInterface/Views/LogContentView.css:
3156         (.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
3157         (.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
3158
3159 2015-06-25  Matt Baker  <mattbaker@apple.com>
3160
3161         Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
3162         https://bugs.webkit.org/show_bug.cgi?id=146331
3163
3164         Reviewed by Timothy Hatcher.
3165
3166         * UserInterface/Views/TimelineSidebarPanel.js:
3167         Set previously selected timeline type to null if no tree element is selected when switching
3168         view mode to Rendering Frames.
3169
3170 2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>
3171
3172         [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
3173         https://bugs.webkit.org/show_bug.cgi?id=146324
3174
3175         Reviewed by Timothy Hatcher.
3176
3177         * UserInterface/Base/Main.js:
3178         On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
3179         For older Macs continue to use InspectorFrontendHost.moveWindowBy.
3180         
3181         * UserInterface/Protocol/InspectorFrontendHostStub.js:
3182         (WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
3183         Add the stub for InspectorFrontendHostStub.
3184
3185 2015-06-24  Devin Rousso  <drousso@apple.com>
3186
3187         Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
3188         https://bugs.webkit.org/show_bug.cgi?id=146189
3189
3190         Reviewed by Timothy Hatcher.
3191
3192         * UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.
3193         (WebInspector.CodeMirrorCompletionController):
3194         (WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
3195         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
3196         * UserInterface/Views/CSSStyleDeclarationSection.js:
3197         (WebInspector.CSSStyleDeclarationSection):
3198         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
3199         (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
3200         (WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
3201         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
3202         (WebInspector.CSSStyleDeclarationSection.prototype.get locked):
3203         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
3204         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3205         (WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
3206         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
3207         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
3208         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
3209         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
3210         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
3211         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
3212         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
3213         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
3214         which point the cursor will move to the beginning of the next line.  Once the cursor is at the last line, pressing tab again will insert a newline.
3215         * UserInterface/Views/RulesStyleDetailsPanel.js:
3216         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
3217         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.
3218
3219 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
3220
3221         Web Inspector: console.group looks poor in console
3222         https://bugs.webkit.org/show_bug.cgi?id=146295
3223
3224         Reviewed by Timothy Hatcher.
3225
3226         * Localizations/en.lproj/localizedStrings.js:
3227         String for the default group name if you use console.group() without a name parameter.
3228
3229         * UserInterface/Views/LogContentView.css:
3230         (.console-group-title::before):
3231         Tweak the positioning and eliminate the log level ::before image.
3232
3233         * UserInterface/Views/ConsoleMessageView.js:
3234         (WebInspector.ConsoleMessageView):
3235         Reorder a bit to reduce a couple branches.
3236
3237         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
3238         Take a very straightforward approach for group names.
3239
3240 2015-06-24  Devin Rousso  <drousso@apple.com>
3241
3242         Web Inspector: Show warning icon for invalid CSS properties and/or values
3243         https://bugs.webkit.org/show_bug.cgi?id=145657
3244
3245         Reviewed by Timothy Hatcher.
3246
3247         * UserInterface/Models/CSSCompletions.js:
3248         (WebInspector.CSSCompletions.prototype.getClosestPropertyName): Calculates the levenshtein distance between a given property and every existing property name.  Returns the property name with the smallest distance or, in the case of multiple properties having the same distance, the first property in alphabetical order.
3249         (WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
3250         (WebInspector.CSSCompletions):
3251         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3252         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
3253         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
3254         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3255         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
3256         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
3257         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
3258         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): A button with a warning icon is now added to the beginning of an invalid property.  If this button is clicked, the property is replaced with the closest matching property and the autocomplete menu is opened.
3259
3260 2015-06-24  Devin Rousso  <drousso@apple.com>
3261
3262         Web Inspector: Background of Computed Styles is missing
3263         https://bugs.webkit.org/show_bug.cgi?id=146209
3264
3265         Reviewed by Timothy Hatcher.
3266
3267         * UserInterface/Views/ComputedStyleDetailsPanel.css:
3268         (.computed-style-properties.details-section): Added white background.
3269
3270 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
3271
3272         Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
3273         https://bugs.webkit.org/show_bug.cgi?id=141949
3274
3275         Reviewed by Timothy Hatcher.
3276
3277         * UserInterface/Views/ConsoleMessageView.js:
3278         (WebInspector.ConsoleMessageView):
3279         (WebInspector.ConsoleMessageView.prototype.get expandable):
3280         (WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
3281         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
3282         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
3283         (WebInspector.ConsoleMessageView.prototype._makeExpandable):
3284         Clarify what makes a ConsoleMessageView expandable or not.
3285
3286         (WebInspector.ConsoleMessageView.prototype.expand):
3287         (WebInspector.ConsoleMessageView.prototype.collapse):
3288         Handle the expand/collapse cases which could apply to the
3289         ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.
3290
3291         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
3292         Delete out of date comment. A console.log("message", obj) will want the
3293         object tree member variable to handle auto expanding/collapsing of the
3294         single object in the message.
3295
3296         * UserInterface/Views/LogContentView.js:
3297         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
3298         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
3299         Use the higher level ConsoleMessageView objects accessible from the element
3300         to call through to expand/collapse.
3301
3302 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
3303
3304         Web Inspector: Reduce QuickConsole DidResize events if it did not change
3305         https://bugs.webkit.org/show_bug.cgi?id=146258
3306
3307         Reviewed by Timothy Hatcher.
3308
3309         * UserInterface/Views/QuickConsole.js:
3310         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
3311         Do not trigger the event unless there was a change in visibility.
3312
3313 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
3314
3315         Web Inspector: TextEditor scroll position not correctly restored when switching tabs
3316         https://bugs.webkit.org/show_bug.cgi?id=146254
3317
3318         Reviewed by Timothy Hatcher.
3319
3320         * UserInterface/Views/TextEditor.js:
3321         (WebInspector.TextEditor.prototype.updateLayout):
3322         Workaround a larger issue with ContentView restoration so that
3323         TextEditors restore their scroll position as expected.
3324
3325 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
3326
3327         Web Inspector: Some brief previews are incorrectly treated as lossless
3328         https://bugs.webkit.org/show_bug.cgi?id=146247
3329
3330         Reviewed by Timothy Hatcher.
3331
3332         * UserInterface/Views/ObjectPreviewView.js:
3333         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
3334         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
3335         When we have a brief preview we may need to override lossless / overflow
3336         if the preview view itself shows less properties than were in the preview.
3337
3338 2015-06-23  Matt Baker  <mattbaker@apple.com>
3339
3340         Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
3341         https://bugs.webkit.org/show_bug.cgi?id=146119
3342
3343         Reviewed by Timothy Hatcher.
3344
3345         This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
3346         timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
3347         different colors in the same overview graph, the timeline has been split into two rows.
3348
3349         * UserInterface/Views/LayoutTimelineOverviewGraph.css:
3350         (.timeline-overview-graph.layout > .graph-row):
3351         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
3352         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
3353         New row styles.
3354
3355         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
3356         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
3357         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
3358         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
3359         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
3360         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
3361         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
3362         (WebInspector.LayoutTimelineOverviewGraph): Deleted.
3363         Added bookkeeping objects for timeline row elements and their associated records.
3364
3365         * UserInterface/Views/TimelineRecordBar.css:
3366         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
3367         New style for layout record event types.
3368
3369         * UserInterface/Views/TimelineRecordBar.js:
3370         (WebInspector.TimelineRecordBar.prototype.set records):
3371         Add style class for eventType, if present.
3372
3373 2015-06-22  Devin Rousso  <drousso@apple.com>
3374
3375         Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
3376         https://bugs.webkit.org/show_bug.cgi?id=142918
3377
3378         Reviewed by Timothy Hatcher.
3379
3380         * UserInterface/Views/RulesStyleDetailsPanel.css:
3381         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
3382         Now properly adds padding to filtered labels.
3383         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
3384         * UserInterface/Views/RulesStyleDetailsPanel.js:
3385         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
3386         a label that says "Media: all" above the section.
3387
3388 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
3389
3390         Web Inspector: Consider making read-only style rules have a darker background
3391         https://bugs.webkit.org/show_bug.cgi?id=145983
3392
3393         Reviewed by Timothy Hatcher.
3394
3395         * UserInterface/Views/CSSStyleDeclarationSection.css:
3396         (.style-declaration-section:not(.locked)):
3397         (.style-declaration-section): Deleted.
3398         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3399         (.css-style-text-editor.read-only > .CodeMirror):
3400
3401 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
3402
3403         Web Inspector: Unable to select text of user input messages in the console
3404         https://bugs.webkit.org/show_bug.cgi?id=145888
3405
3406         Reviewed by Timothy Hatcher.
3407
3408         * UserInterface/Views/ConsoleMessageView.css:
3409         (.console-user-command > .console-message-text):
3410
3411 2015-06-20  Nikita Vasilyev  <nvasilyev@apple.com>
3412
3413         Web Inspector: Unable to select parent element in the DOM tree path bar
3414         https://bugs.webkit.org/show_bug.cgi?id=145810
3415
3416         Reviewed by Timothy Hatcher.
3417
3418         * UserInterface/Views/DOMTreeContentView.js:
3419         (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents):
3420         * UserInterface/Views/HierarchicalPathComponent.js:
3421         (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent):
3422         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
3423         (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged):
3424         (WebInspector.HierarchicalPathComponent):
3425         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Deleted.
3426
3427 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
3428
3429         Web Inspector: Duplication of style attribute in rules panel for shadow content
3430         https://bugs.webkit.org/show_bug.cgi?id=146176
3431
3432         Reviewed by Timothy Hatcher.
3433
3434         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3435         The styleText can be non-empty for a readonly editor if the editor is for
3436         the style attribute of a shadow dom node. Instead of assuming it is empty
3437         we can just clear the editor ourselves and regenerate from properties.
3438
3439 2015-06-19  Devin Rousso  <drousso@apple.com>
3440
3441         Web Inspector: Highlight currently edited CSS selector
3442         https://bugs.webkit.org/show_bug.cgi?id=145658
3443
3444         Reviewed by Joseph Pecoraro.
3445
3446         * UserInterface/Views/CSSStyleDeclarationSection.js:
3447         (WebInspector.CSSStyleDeclarationSection): Added event listeners on the selector text for mouseover and mouseout.
3448         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector): Selector text mouseover action that highlights all nodes that match the selector string in the corresponding frame.
3449         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Selector text mouseout action that clears all highlights on matching nodes.
3450         * UserInterface/Views/DOMNode.js:
3451         (WebInspector.DOMNode): If the payload contains a frameId, then save it.
3452         (WebInspector.DOMNode.frameIdentifier):
3453
3454 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
3455
3456         Web Inspector: Overlapping dashboard views causing lots of layers in source view
3457         https://bugs.webkit.org/show_bug.cgi?id=146153
3458
3459         Reviewed by Darin Adler.
3460
3461         * UserInterface/Views/DashboardContainerView.css:
3462         (.toolbar .dashboard:not(.visible)):
3463         Hide non-visible dashboard views. The !important is used
3464         to override more specific toolbar .dashboard.foo styles.
3465
3466 2015-06-19  Devin Rousso  <drousso@apple.com>
3467
3468         Web Inspector: Make rule icon toggle all properties for that selector on and off
3469         https://bugs.webkit.org/show_bug.cgi?id=146031
3470
3471         Reviewed by Timothy Hatcher.
3472
3473         * UserInterface/Views/CSSStyleDeclarationSection.css:
3474         (.style-declaration-section > .header > .icon.toggle-able:hover):
3475         (.style-declaration-section.rule-disabled > .header > .icon):
3476         * UserInterface/Views/CSSStyleDeclarationSection.js:
3477         (WebInspector.CSSStyleDeclarationSection): Added event listener to selector icon to toggle commenting of all properties for that rule.
3478         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff): Adds or removes comments to all properties for that rule.
3479         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3480         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties.uncommentProperties):
3481         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties): Uncomments all properties.
3482         (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): Comments out all properties.
3483         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Moved comment logic to its own function.
3484         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Moved uncomment logic to its own function.
3485
3486 2015-06-19  Jon Lee  <jonlee@apple.com>
3487
3488         Update font and font-family keyword completions
3489         https://bugs.webkit.org/show_bug.cgi?id=144558
3490         <rdar://problem/20795292>
3491
3492         Reviewed by Timothy Hatcher.
3493
3494         * UserInterface/Models/CSSKeywordCompletions.js: Replace -webkit-system-font and
3495         -apple-system-font with -apple-system, which is the recommended token for getting the
3496         system font. Also add -title{1,2,3} for font, as they were missing, but already exist
3497         in font-family.
3498
3499 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
3500
3501         Web Inspector: Avoid getOwnPropertyNames/Symbols on very large lists
3502         https://bugs.webkit.org/show_bug.cgi?id=146141
3503
3504         Reviewed by Timothy Hatcher.
3505
3506         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
3507         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
3508         When building completions for a large array, instead of building a list of all the indices
3509         just send a single number back to the frontend and let it generate a list for completion.
3510         We should do even better and avoid building a lookup table here for completion of an index.
3511
3512 2015-06-18  Matt Baker  <mattbaker@apple.com>
3513
3514         Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
3515         https://bugs.webkit.org/show_bug.cgi?id=146120
3516
3517         Reviewed by Timothy Hatcher.
3518
3519         * UserInterface/Views/RenderingFrameTimelineOverview.js:
3520         Enable snapping to frame boundaries.
3521
3522         * UserInterface/Views/TimelineRecordingContentView.js:
3523         (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
3524         Updated filtering to account for ruler snapping.
3525
3526         * UserInterface/Views/TimelineRuler.js:
3527         (WebInspector.TimelineRuler.prototype.get snapInterval):
3528         (WebInspector.TimelineRuler.prototype.set snapInterval):
3529         (WebInspector.TimelineRuler.prototype.set selectionStartTime):
3530         (WebInspector.TimelineRuler.prototype.set selectionEndTime):
3531         (WebInspector.TimelineRuler.prototype._snapValue):
3532         (WebInspector.TimelineRuler.prototype._handleMouseMove):
3533         Added support for snapping to a specified interval.
3534
3535         * UserInterface/Views/TimelineSidebarPanel.js:
3536         Removed unnecessary code.
3537
3538 2015-06-18  Devin Rousso  <drousso@apple.com>
3539
3540         Web Inspector: Add a filter for CSS properties in the Styles sidebar
3541         https://bugs.webkit.org/show_bug.cgi?id=145536
3542
3543         Reviewed by Timothy Hatcher.
3544
3545         * UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.
3546         (.value):
3547         * UserInterface/Views/CSSStyleDeclarationSection.js:
3548         (WebInspector.CSSStyleDeclarationSection):
3549         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
3550         (WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.
3551         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3552         (WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
3553         (WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
3554         (WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
3555         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Classes are added to selections of the text editor of that partiular selection contains text which matches the filter (see CSSStyleDetailsSidebarPanel.css for different classes).
3556         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.
3557         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
3558         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
3559         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):
3560         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3561         (WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
3562         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
3563         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.
3564         * UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
3565         * UserInterface/Views/MetricsStyleDetailsPanel.js:
3566         (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
3567         (WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.
3568         * UserInterface/Views/RulesStyleDetailsPanel.css:
3569         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
3570         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
3571         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
3572         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
3573         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
3574         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
3575         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
3576         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
3577         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
3578         * UserInterface/Views/RulesStyleDetailsPanel.js:
3579         (WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
3580         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
3581         (WebInspector.RulesStyleDetailsPanel.prototype.filterDidChange): Function to search through the computed styles list and highlight all matched properties and selectors of the filter bar text, turning all non matching properties slightly opaque (unless a selector for that property is a match).
3582         (WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
3583         (WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.
3584
3585 2015-06-18  Devin Rousso  <drousso@apple.com>
3586
3587         Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
3588         https://bugs.webkit.org/show_bug.cgi?id=138812
3589
3590         Reviewed by Timothy Hatcher.
3591
3592         * Localizations/en.lproj/localizedStrings.js:
3593         * UserInterface/Views/CSSStyleDeclarationSection.js:
3594         (WebInspector.CSSStyleDeclarationSection): Right clicking on the header of a rule will replcae the default context menu to allow copying of the entire rule to the clipboard.
3595         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
3596         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.
3597
3598 2015-06-18  Joseph Pecoraro  <pecoraro@apple.com>
3599
3600         Web Inspector: Improve a few more node preview types
3601         https://bugs.webkit.org/show_bug.cgi?id=146048
3602
3603         Reviewed by Timothy Hatcher.
3604
3605         * UserInterface/Views/FormattedValue.js:
3606         (WebInspector.FormattedValue.createElementForNodePreview):
3607
3608 2015-06-18  Devin Rousso  <drousso@apple.com>
3609
3610         Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
3611         https://bugs.webkit.org/show_bug.cgi?id=117600
3612
3613         Reviewed by Timothy Hatcher.
3614
3615         * UserInterface/Views/RulesStyleDetailsPanel.js: Made previousFocusedSection into a member variable of the RulesStyleDetailsPanel.  This way, when the nodeStyles is refreshed (when a new rule is added), the previousFocusedSection will be scrolled into view.
3616         (WebInspector.RulesStyleDetailsPanel):
3617         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
3618         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
3619         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
3620
3621 2015-06-18  Commit Queue  <commit-queue@webkit.org>
3622
3623         Unreviewed, rolling out r185671.
3624         https://bugs.webkit.org/show_bug.cgi?id=146114
3625
3626         Caused frequent flaky failures on profiler tests (Requested by
3627         ap on #webkit).
3628
3629         Reverted changeset:
3630
3631         "Web Inspector: Improve a few more node preview types"
3632         https://bugs.webkit.org/show_bug.cgi?id=146048
3633         http://trac.webkit.org/changeset/185671
3634
3635 2015-06-17  Joseph Pecoraro  <pecoraro@apple.com>
3636
3637         Web Inspector: Improve a few more node preview types
3638         https://bugs.webkit.org/show_bug.cgi?id=146048
3639
3640         Reviewed by Timothy Hatcher.
3641
3642         * UserInterface/Views/FormattedValue.js:
3643         (WebInspector.FormattedValue.createElementForNodePreview):
3644
3645 2015-06-17  Diego Pino Garcia  <dpino@igalia.com>
3646
3647         Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
3648         https://bugs.webkit.org/show_bug.cgi?id=145073
3649
3650         Reviewed by Joseph Pecoraro.
3651
3652         * UserInterface/Views/ContentBrowserTabContentView.js:
3653         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
3654
3655 2015-06-16  Joseph Pecoraro  <pecoraro@apple.com>
3656
3657         Web Inspector: Inspector Scripts evaluated in the page should not be searchable
3658         https://bugs.webkit.org/show_bug.cgi?id=146040
3659
3660         Reviewed by Darin Adler.
3661
3662         Any script with a __WebInspector source URL will be hidden by the tools.
3663         There were a number of ways the inspector could evaluate script on the page
3664         without getting the sourceURL and therefore not getting hidden. Audit
3665         all cases of Runtime.evaluate, Runtime.callFunctionOn, and
3666         Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.
3667
3668         * UserInterface/Base/Utilities.js:
3669         (appendWebInspectorSourceURL):
3670         Helper to append a __WebInspectorInternal__ sourceURL to a string that may
3671         be evaluated directly on the inspected context.
3672
3673         * UserInterface/Controllers/DOMTreeManager.js:
3674         (WebInspector.DOMTreeManager.domNodeResolved):
3675         * UserInterface/Controllers/JavaScriptLogViewController.js:
3676         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.
3677         * UserInterface/Controllers/RuntimeManager.js:
3678         * UserInterface/Models/DOMTree.js:
3679         (WebInspector.DOMTree.prototype._requestRootDOMNode):
3680         * UserInterface/Protocol/RemoteObject.js:
3681         (WebInspector.RemoteObject.):
3682         * UserInterface/Views/SourceCodeTextEditor.js:
3683         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
3684         Ensure all cases that evaluate directly on the inspected page / context
3685         have the intenral source URL.
3686
3687 2015-06-16  Matt Baker  <mattbaker@apple.com>
3688
3689         Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
3690         https://bugs.webkit.org/show_bug.cgi?id=142315
3691
3692         Reviewed by Timothy Hatcher.
3693
3694         TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
3695         Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
3696         each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
3697         begins with the current node, and halts once a valid element is found or candidate elements are exhausted.
3698
3699         * UserInterface/Views/TreeOutline.js:
3700         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
3701         (WebInspector.TreeElement.prototype.traverseNextTreeElement):
3702         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
3703         (WebInspector.TreeElement.prototype.traversePreviousTreeElement):
3704
3705 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
3706
3707         Web Inspector: Stylize Node Previews
3708         https://bugs.webkit.org/show_bug.cgi?id=145990
3709
3710         Reviewed by Timothy Hatcher.
3711
3712         * UserInterface/Views/FormattedValue.js:
3713         (WebInspector.FormattedValue.createElementForNodePreview):
3714         Style a node preview like a DOMNode. It is a simple small snippet.
3715
3716         * UserInterface/Views/ObjectPreviewView.js:
3717         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
3718         Use node previews in ObjectPreviewViews.
3719
3720 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
3721
3722         Web Inspector: Improve some cases of "Object?" Type Annotations
3723         https://bugs.webkit.org/show_bug.cgi?id=145954
3724
3725         Reviewed by Timothy Hatcher.
3726
3727         * UserInterface/Views/TypeTokenView.js:
3728         (WebInspector.TypeTokenView.prototype._displayTypeName):
3729         The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
3730         name as long as the type set is just object or object and null/undefined.
3731         If the typeset includes other primitives then it will gracefully go down
3732         below to become something like Object or (many). 
3733
3734 2015-06-14  Andres Gomez  <agomez@igalia.com>
3735
3736         [GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
3737         https://bugs.webkit.org/show_bug.cgi?id=145956
3738
3739         Reviewed by Carlos Garcia Campos.
3740
3741         * UserInterface/Images/gtk/TimelineRecordPaint.svg:
3742         Changed to use green color.
3743
3744 2015-06-13  Joseph Pecoraro  <pecoraro@apple.com>
3745
3746         Web Inspector: console.table() with a list of objects no longer works
3747         https://bugs.webkit.org/show_bug.cgi?id=145952
3748
3749         Reviewed by Timothy Hatcher.
3750
3751         * UserInterface/Views/ConsoleMessageView.js:
3752         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
3753         (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
3754         Don't allow expanding a cosole.table message, and don't output the total
3755         object even if the table preview was lossless, as the experience is poor.
3756
3757 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
3758
3759         Web Inspector: CSS Regions not displaying DOM Trees in inspector
3760         https://bugs.webkit.org/show_bug.cgi?id=145903
3761
3762         Reviewed by Timothy Hatcher.
3763
3764         * UserInterface/Controllers/DOMTreeManager.js:
3765         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
3766         Fix function inside the assertion to actually return a value.
3767
3768         * UserInterface/Views/DOMTreeOutline.js:
3769         (WebInspector.DOMTreeOutline.prototype.update):
3770         For DOMTreeOutlines without a root node, don't clear the tree on updates,
3771         since that will clear the nodes that have already been added explicitly.
3772
3773         * UserInterface/Views/ResourceSidebarPanel.js:
3774         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
3775         * UserInterface/Views/ResourcesTabContentView.js:
3776         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
3777         ResourceTab and sidebar can deal with ContentFlow related views.
3778
3779 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
3780
3781         Web Inspector: IndexedDB data not showing for MDN example page
3782         https://bugs.webkit.org/show_bug.cgi?id=145851
3783
3784         Reviewed by Anders Carlsson.
3785
3786         * UserInterface/Views/StorageSidebarPanel.js:
3787         (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
3788         Fix typo in Storage tab refactoring that was causing an
3789         uncaught exception and not showing Indexed DBs.
3790
3791 2015-06-11  Devin Rousso  <drousso@apple.com>
3792
3793         Web Inspector: font-family names interpreted as color
3794         https://bugs.webkit.org/show_bug.cgi?id=123468
3795
3796         Reviewed by Timothy Hatcher.
3797
3798         * UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').
3799
3800 2015-06-11  Matt Baker  <mattbaker@apple.com>
3801
3802         Web Inspector: Rendering Frames timeline should distinguish between layout and painting
3803         https://bugs.webkit.org/show_bug.cgi?id=145856
3804
3805         Reviewed by Timothy Hatcher.
3806
3807         This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
3808         Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
3809         which tasks are executed within the runloop.
3810
3811         We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
3812         for Paint records now use a different color that those of other Layout records.