Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-07-12  Timothy Hatcher  <timothy@apple.com>
2
3         Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
4         https://bugs.webkit.org/show_bug.cgi?id=146865
5
6         Reviewed by Daniel Bates.
7
8         * UserInterface/Models/CSSKeywordCompletions.js:
9
10 2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>
11
12         Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
13         https://bugs.webkit.org/show_bug.cgi?id=146871
14
15         Reviewed by Timothy Hatcher.
16
17         * UserInterface/Views/Toolbar.css:
18         (@media (max-width: 539px)): Hide download button to fit search field into the screen.
19
20 2015-07-11  Devin Rousso  <drousso@apple.com>
21
22         Web Inspector: Improve runtime of pseudo-element sidebar style ordering
23         https://bugs.webkit.org/show_bug.cgi?id=146866
24
25         Reviewed by Timothy Hatcher.
26
27         * UserInterface/Models/CSSRule.js:
28         (WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
29         (WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
30         (WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
31         (WebInspector.CSSRule.prototype._determineMostSpecificSelector):
32         Searches through the selector list to find and return the selector that is the most specific.
33         (WebInspector.CSSRule):
34         * UserInterface/Views/RulesStyleDetailsPanel.js:
35         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
36
37 2015-07-11  Devin Rousso  <drousso@apple.com>
38
39         Web Inspector: Warning icon tooltip for numbers with no units could be improved
40         https://bugs.webkit.org/show_bug.cgi?id=146859
41
42         Reviewed by Timothy Hatcher.
43
44         * Localizations/en.lproj/localizedStrings.js:
45         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
46         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
47         If the property's value is incorrect and is comprised of only numbers, that must mean that the value needs
48         to have units (like "px") after the number.  Added another warning icon case to support this scenario.
49
50 2015-07-10  Timothy Hatcher  <timothy@apple.com>
51
52         Web Inspector: Use -apple-system instead of -webkit-system-font
53         https://bugs.webkit.org/show_bug.cgi?id=146860
54
55         Remove explicit uses of font-family where inhertance from the body is enough.
56         Change -webkit-system-font to -apple-system and use -apple-system-monospaced-numbers
57         for DataGrid and the toolbar dashboard.
58
59         Reviewed by Sam Weinig.
60
61         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
62         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
63         * UserInterface/Views/DataGrid.css:
64         (.data-grid td):
65         * UserInterface/Views/DefaultDashboardView.css:
66         (.toolbar .dashboard.default > .item):
67         (.toolbar .dashboard.default > :matches(.time, .resourcesSize)):
68         (.toolbar .dashboard.default > .resourcesSize):
69         * UserInterface/Views/HierarchicalPathComponent.css:
70         (.hierarchical-path-component):
71         * UserInterface/Views/LogContentView.css:
72         (.console-messages):
73         * UserInterface/Views/Main.css:
74         (body):
75         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
76         (.object-tree-array-index .index-name):
77         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
78         (.object-tree-property .prototype-name):
79         * UserInterface/Views/ObjectTreeView.css:
80         (.object-tree-outline li .empty-message):
81         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
82         (.timeline-overview-graph.rendering-frame > .divider > .label):
83         * UserInterface/Views/SourceCodeTextEditor.css:
84         (.source-code.text-editor > .CodeMirror .issue-widget > .text):
85         * UserInterface/Views/TypeTreeView.css:
86         (.type-tree):
87
88 2015-07-10  Devin Rousso  <drousso@apple.com>
89
90         Web Inspector: Add source links to functions logged in the console
91         https://bugs.webkit.org/show_bug.cgi?id=146377
92
93         Reviewed by Timothy Hatcher.
94
95         * UserInterface/Protocol/RemoteObject.js:
96         (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
97         Returns a promise that contains the sourceCodeLocation if the object represents a function and has an objectId.
98         (WebInspector.RemoteObject.prototype._isFunction):
99         * UserInterface/Views/ConsoleMessageView.css:
100         (.console-message .console-message-location):
101         Added specified values for font sizing and family to ensure that all location links have the same styling.
102         * UserInterface/Views/ConsoleMessageView.js:
103         (WebInspector.ConsoleMessageView):
104         Now creates a link to the source code of the entered text if the message is of the type "result".
105         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
106         (WebInspector.ConsoleMessageView.prototype._createRemoteObjectIfNeeded):
107         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
108         (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
109         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrameLocation):
110         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
111
112 2015-07-10  Timothy Hatcher  <timothy@apple.com>
113
114         Web Inspector: Storage tab should have a scope bar in the sidebar
115         https://bugs.webkit.org/show_bug.cgi?id=146799
116
117         Fix a couple typos found post review.
118
119         * UserInterface/Views/StorageSidebarPanel.js:
120         (WebInspector.StorageSidebarPanel):
121
122 2015-07-09  Timothy Hatcher  <timothy@apple.com>
123
124         Web Inspector: Storage tab should have a scope bar in the sidebar
125         https://bugs.webkit.org/show_bug.cgi?id=146799
126
127         Reviewed by Mark Lam.
128
129         * Localizations/en.lproj/localizedStrings.js: Updated.
130         * UserInterface/Main.html: Added StorageSidebarPanel.css.
131         * UserInterface/Views/StorageSidebarPanel.css: Added.
132         * UserInterface/Views/StorageSidebarPanel.js:
133         (WebInspector.StorageSidebarPanel):
134         (WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
135         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
136         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
137         (WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):
138
139 2015-07-09  Timothy Hatcher  <timothy@apple.com>
140
141         Web Inspector: Make the TabBar work better with AX
142         https://bugs.webkit.org/show_bug.cgi?id=146806
143
144         Reviewed by Joseph Pecoraro.
145
146         * UserInterface/Views/TabBar.js:
147         (WebInspector.TabBar): Set role to tablist and drop tabIndex.
148         * UserInterface/Views/TabBarItem.js:
149         (WebInspector.TabBarItem): Set role to tab and tabIndex.
150         (WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.
151
152 2015-07-09  Devin Rousso  <drousso@apple.com>
153
154         Web Inspector: Don't clear the console when navigating to a different page
155         https://bugs.webkit.org/show_bug.cgi?id=142751
156
157         Reviewed by Timothy Hatcher.
158
159         * Localizations/en.lproj/localizedStrings.js:
160         * UserInterface/Controllers/LogManager.js:
161         (WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
162         (WebInspector.LogManager.prototype._delayedMessagesCleared):
163         (WebInspector.LogManager.prototype._mainResourceDidChange):
164         * UserInterface/Views/LogContentView.js:
165         (WebInspector.LogContentView.prototype._sessionStarted):
166         (WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
167         (WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
168         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.
169
170 2015-07-09  Devin Rousso  <drousso@apple.com>
171
172         Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
173         https://bugs.webkit.org/show_bug.cgi?id=146804
174
175         Reviewed by Timothy Hatcher.
176
177         * UserInterface/Models/CSSRule.js:
178         (WebInspector.CSSRule.prototype.selectorIsGreater):
179         Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
180         * UserInterface/Models/CSSSelector.js:
181         (WebInspector.CSSSelector.prototype.isGreaterThan):
182         Determines if the given selector's specificity is greater than this selector's specificity.
183         (WebInspector.CSSSelector):
184         * UserInterface/Views/RulesStyleDetailsPanel.js:
185         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
186         If the pseudo-element selector's specificity is greater than the current selector's
187         specificity, create the pseudo-element's section and add it before the current style.
188
189 2015-07-09  Devin Rousso  <drousso@apple.com>
190
191         Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
192         https://bugs.webkit.org/show_bug.cgi?id=143840
193
194         Reviewed by Timothy Hatcher.
195
196         * UserInterface/Controllers/JavaScriptLogViewController.js:
197         (WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
198         Now applies a class to special logs initiated by the user (log element, log object, etc).
199         * UserInterface/Views/ConsoleCommandView.js:
200         (WebInspector.ConsoleCommandView): Added className parameter.
201         * UserInterface/Views/ConsoleMessageView.css:
202         (.console-user-command.selected-element-log):
203         (.console-user-command.special-user-log > .console-message-text):
204         * UserInterface/Views/DOMTreeOutline.js:
205         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
206         (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
207         * UserInterface/Views/ObjectPreviewView.js:
208         (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
209         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
210         (WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
211         (WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):
212
213 2015-07-09  Devin Rousso  <drousso@apple.com>
214
215         Web Inspector: Checkbox disappears when unchecking CSS background style
216         https://bugs.webkit.org/show_bug.cgi?id=146776
217
218         Reviewed by Timothy Hatcher.
219
220         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
221         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
222         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
223         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
224         Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
225         the beginning of that lineHandle's line.
226         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
227         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.
228
229 2015-07-09  Nikita Vasilyev  <nvasilyev@apple.com>
230
231         Web Inspector: Align slider knobs in the color picker
232         https://bugs.webkit.org/show_bug.cgi?id=146778
233
234         Also:
235         - Use half pixel borders on retina
236         - Remove one pixel white outline to match native OS X color picker more closely
237
238         Reviewed by Timothy Hatcher.
239
240         * UserInterface/Views/ColorPicker.css:
241         (.color-picker > .slider > img):
242         * UserInterface/Views/Slider.css:
243         (.slider):
244         (@media (-webkit-min-device-pixel-ratio: 2)):
245
246 2015-07-09  Matt Baker  <mattbaker@apple.com>
247
248         Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
249         https://bugs.webkit.org/show_bug.cgi?id=146777
250
251         Reviewed by Brian Burg.
252
253         * UserInterface/Views/TimelineRecordFrame.css:
254         (.timeline-record-frame > .frame > .duration):
255         (.timeline-record-frame > .frame > .duration:last-child):
256         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
257         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
258         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
259         Use same RGB values as TimelineRecordBar.
260
261 2015-07-09  Matt Baker  <mattbaker@apple.com>
262
263         Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
264         https://bugs.webkit.org/show_bug.cgi?id=146688
265
266         Reviewed by Brian Burg.
267
268         Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
269         will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
270         other controls in the popover.
271
272         * UserInterface/Models/Breakpoint.js:
273         (WebInspector.Breakpoint.prototype.didDismissPopover):
274         Clear empty Evaluate and Probe actions on popover dismissal.
275
276         * UserInterface/Views/BreakpointActionView.js:
277         (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
278         Don't remove actions with empty data on CodeMirror blur.
279
280 2015-07-09  Matt Baker  <mattbaker@apple.com>
281
282         Web Inspector: new breakpoint action dialog should reuse same action type
283         https://bugs.webkit.org/show_bug.cgi?id=137255
284
285         Reviewed by Brian Burg.
286
287         * UserInterface/Views/BreakpointActionView.js:
288         (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
289         Use the view's action type instead of the default.
290
291 2015-07-08  Devin Rousso  <drousso@apple.com>
292
293         Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
294         https://bugs.webkit.org/show_bug.cgi?id=146775
295
296         Reviewed by Timothy Hatcher.
297
298         * UserInterface/Views/CSSStyleDeclarationSection.js:
299         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
300         Now only uses properties from the rule's visibleProperties list.
301
302 2015-07-08  Timothy Hatcher  <timothy@apple.com>
303
304         Web Inspector: Add page weight and time back to the toolbar dashboard
305         https://bugs.webkit.org/show_bug.cgi?id=146755
306
307         Revert r183328 which removed the page weight and load time from the dashboard. We have space
308         in the dashboard, we can put these back since we didn't find a better home for them.
309
310         Reviewed by Joseph Pecoraro.
311
312         * Localizations/en.lproj/localizedStrings.js: Updated.
313         * UserInterface/Base/Main.js:
314         (WebInspector.showNetworkTab):
315         * UserInterface/Images/Time.svg: Added.
316         * UserInterface/Images/Weight.svg: Added.
317         * UserInterface/Images/gtk/Time.svg: Added.
318         * UserInterface/Images/gtk/Weight.svg: Added.
319         * UserInterface/Models/DefaultDashboard.js:
320         (WebInspector.DefaultDashboard):
321         (WebInspector.DefaultDashboard.prototype.get resourcesSize):
322         (WebInspector.DefaultDashboard.prototype.set resourcesSize):
323         (WebInspector.DefaultDashboard.prototype.get time):
324         (WebInspector.DefaultDashboard.prototype.set time):
325         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
326         (WebInspector.DefaultDashboard.prototype._capturingStopped):
327         (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
328         (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
329         (WebInspector.DefaultDashboard.prototype._updateTime):
330         * UserInterface/Views/DashboardContainerView.css:
331         (body.web .toolbar .dashboard-container):
332         (body.javascript .toolbar .dashboard-container):
333         (.toolbar.collapsed .dashboard-container):
334         (.toolbar .dashboard-container): Deleted.
335         * UserInterface/Views/DefaultDashboardView.css:
336         (body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
337         (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
338         (.toolbar .dashboard.default > .resourcesSize):
339         (.toolbar .dashboard.default > .time > img):
340         (.toolbar .dashboard.default > .resourcesSize > img):
341         (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
342         (body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
343         * UserInterface/Views/DefaultDashboardView.js:
344         (WebInspector.DefaultDashboardView):
345         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
346         (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
347         (WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):
348
349 2015-07-08  Devin Rousso  <drousso@apple.com>
350
351         Web Inspector: Style sidebar is showing incorrect strikethroughs
352         https://bugs.webkit.org/show_bug.cgi?id=146768
353
354         Reviewed by Timothy Hatcher.
355
356         * UserInterface/Models/DOMNodeStyles.js:
357         (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
358         No longer sets the effective property as overridden if the overriding property is anonymous (not visible).
359
360 2015-07-08  Devin Rousso  <drousso@apple.com>
361
362         Web Inspector: Color swatches show up in color names in comments
363         https://bugs.webkit.org/show_bug.cgi?id=146757
364
365         Reviewed by Timothy Hatcher.
366
367         * UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.
368
369 2015-07-08  Timothy Hatcher  <timothy@apple.com>
370
371         Web Inspector: Only record a timeline when the Timelines tab is showing
372         https://bugs.webkit.org/show_bug.cgi?id=146759
373
374         Reviewed by Joseph Pecoraro.
375
376         * UserInterface/Controllers/TimelineManager.js:
377         (WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
378         (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
379         (WebInspector.TimelineManager.prototype._startAutoCapturing):
380         * UserInterface/Views/TimelineTabContentView.js:
381         (WebInspector.TimelineTabContentView.prototype.shown):
382         (WebInspector.TimelineTabContentView.prototype.hidden):
383
384 2015-07-08  Timothy Hatcher  <timothy@apple.com>
385
386         Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
387         https://bugs.webkit.org/show_bug.cgi?id=146691
388
389         Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
390         Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.
391
392         Reviewed by Joseph Pecoraro.
393
394         * UserInterface/Views/NetworkGridContentView.js:
395         (WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
396         (WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
397         NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.
398
399         * UserInterface/Views/NetworkSidebarPanel.js:
400         (WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
401         (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
402         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
403         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.
404
405         * UserInterface/Views/TimelineView.js:
406         (WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.
407
408 2015-07-08  Devin Rousso  <drousso@apple.com>
409
410         Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
411         https://bugs.webkit.org/show_bug.cgi?id=146727
412
413         Reviewed by Timothy Hatcher.
414
415         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
416         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
417         The properties map used for refreshing each property now holds a list of properties for each line to ensure that
418         if a duplicate property exists, it also gets refreshed.
419
420 2015-07-08  Devin Rousso  <drousso@apple.com>
421
422         Web Inspector: Can't select last row in the timeline because it's covered by filter selector
423         https://bugs.webkit.org/show_bug.cgi?id=146603
424
425         Reviewed by Timothy Hatcher.
426
427         * UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
428         * UserInterface/Views/LayoutTimelineView.js:
429         * UserInterface/Views/NetworkTimelineView.js:
430         * UserInterface/Views/TimelineDataGrid.css:
431         (.data-grid.timeline > .navigation-bar-container): Deleted.
432         (.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
433         (.data-grid.timeline:hover > .navigation-bar-container): Deleted.
434         (.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
435         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
436         * UserInterface/Views/TimelineDataGrid.js:
437         (WebInspector.TimelineDataGrid):
438         (WebInspector.TimelineDataGrid.createColumnScopeBar):
439         (WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
440         * UserInterface/Views/TimelineRecordingContentView.js:
441         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
442         * UserInterface/Views/TimelineSidebarPanel.css:
443         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
444         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
445         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
446         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
447         * UserInterface/Views/TimelineSidebarPanel.js:
448         (WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
449         Clears the title bar scope element and adds the given element as a child node.
450         * UserInterface/Views/TimelineView.js:
451         (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
452         Returns the scope bar element of the current object if it exists.
453
454 2015-07-08  Devin Rousso  <drousso@apple.com>
455
456         Web Inspector: Clicking style checkbox selects the property name while mouse down
457         https://bugs.webkit.org/show_bug.cgi?id=146728
458
459         Reviewed by Timothy Hatcher.
460
461         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
462         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
463         Now returns if the click was not at the end of the line.
464
465 2015-07-08  Timothy Hatcher  <timothy@apple.com>
466
467         REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
468         https://bugs.webkit.org/show_bug.cgi?id=146675
469
470         Reviewed by Joseph Pecoraro.
471
472         * UserInterface/Views/TreeOutline.js:
473         (WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
474         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
475         (WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
476         This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
477         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
478         (WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.
479
480 2015-07-08  Devin Rousso  <drousso@apple.com>
481
482         Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
483         https://bugs.webkit.org/show_bug.cgi?id=146715
484
485         Reviewed by Timothy Hatcher.
486
487         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
488         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
489         Now returns if the change was in the first character of the first line.
490
491 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
492
493         Web Inspector: Use "hairline" borders on retina screen
494         https://bugs.webkit.org/show_bug.cgi?id=146619
495
496         Reviewed by Timothy Hatcher.
497
498         * UserInterface/Views/CSSStyleDeclarationSection.css:
499         (.style-declaration-section):
500         (.style-declaration-section.locked):
501         (.style-declaration-section:not(.locked)):
502         (.style-declaration-section.last-in-group):
503         (.style-declaration-section + .style-declaration-section):
504         (.style-declaration-section.last-in-group + .style-declaration-section):
505         (@media (-webkit-min-device-pixel-ratio: 2)):
506         * UserInterface/Views/DetailsSection.css:
507         (.details-section .details-section):
508         (.details-section > .content > .group:nth-child(even)):
509         (@media (-webkit-min-device-pixel-ratio: 2)):
510         * UserInterface/Views/DividerNavigationItem.css:
511         (@media (-webkit-min-device-pixel-ratio: 2)):
512         * UserInterface/Views/RulesStyleDetailsPanel.css:
513         (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
514         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
515         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
516         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
517         (@media (-webkit-min-device-pixel-ratio: 2)):
518
519 2015-07-07  Devin Rousso  <drousso@apple.com>
520
521         Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
522         https://bugs.webkit.org/show_bug.cgi?id=146709
523
524         Reviewed by Timothy Hatcher.
525
526         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
527         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
528         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
529         (WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
530         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
531         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
532         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
533         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
534         Determines if the text at the given cursor position in the given line is a comment.
535         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
536         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
537
538 2015-07-07  Devin Rousso  <drousso@apple.com>
539
540         Web Inspector: spacebar should pause/resume timeline recording when timelines are open
541         https://bugs.webkit.org/show_bug.cgi?id=143267
542
543         Reviewed by Timothy Hatcher.
544
545         * Localizations/en.lproj/localizedStrings.js:
546         * UserInterface/Views/TimelineTabContentView.js:
547         (WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
548         (WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
549         (WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
550         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
551         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
552         (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.
553
554 2015-07-07  Joseph Pecoraro  <pecoraro@apple.com>
555
556         Web Inspector: Improve names for unprefixed animation events
557         https://bugs.webkit.org/show_bug.cgi?id=146708
558
559         Reviewed by Timothy Hatcher.
560
561         * UserInterface/Models/ScriptTimelineRecord.js:
562
563 2015-07-07  Timothy Hatcher  <timothy@apple.com>
564
565         Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
566         https://bugs.webkit.org/show_bug.cgi?id=146694
567
568         Reviewed by Joseph Pecoraro.
569
570         * UserInterface/Views/TimelineRecordBar.css:
571         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
572         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
573         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
574
575 2015-07-07  Devin Rousso  <drousso@apple.com>
576
577         Web Inspector: Unnecessary space added after -webkit- prefixed property values
578         https://bugs.webkit.org/show_bug.cgi?id=146671
579
580         Reviewed by Joseph Pecoraro.
581
582         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
583         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
584         * Tools/PrettyPrinting/index.html:
585         * UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
586         tokens are a property, value, or atom.
587
588 2015-07-07  Matt Baker  <mattbaker@apple.com>
589
590         Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
591         https://bugs.webkit.org/show_bug.cgi?id=146248
592
593         Reviewed by Timothy Hatcher.
594
595         * UserInterface/Views/RenderingFrameTimelineOverview.js:
596         Enable duration pixel alignment.
597
598         * UserInterface/Views/TimelineOverview.css:
599         (.timeline-overview.frames > .timeline-ruler > .header > .divider):
600         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
601         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
602         Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
603         positioned inside the gap between frame elements.
604
605         * UserInterface/Views/TimelineOverview.js:
606         (WebInspector.TimelineOverview):
607         (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
608         (WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
609         (WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
610         (WebInspector.TimelineOverview.prototype._handleWheelEvent):
611         Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
612         When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
613         and maintaining a consistent 1 pixel gap between frames.
614
615 2015-07-07  Devin Rousso  <drousso@apple.com>
616
617         Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
618         https://bugs.webkit.org/show_bug.cgi?id=146676
619
620         Reviewed by Timothy Hatcher.
621
622         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
623         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
624         remaining text after the current cursor position.
625         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.
626
627 2015-07-07  Devin Rousso  <drousso@apple.com>
628
629         Web Inspector: Option+Click not jumping to resource
630         https://bugs.webkit.org/show_bug.cgi?id=146498
631
632         Reviewed by Timothy Hatcher.
633
634         * UserInterface/Base/Main.js: Always show the tab which contains the represented object.
635         (WebInspector._domNodeWasInspected):
636         (WebInspector._frameWasAdded):
637         (WebInspector.showConsoleTab):
638         (WebInspector.showRepresentedObject): Removed forceShowTab parameter.
639         (WebInspector.showMainFrameDOMTree):
640         (WebInspector.showContentFlowDOMTree):
641         (WebInspector.showSourceCodeForFrame):
642         (WebInspector.showSourceCode):
643         (WebInspector.showSourceCodeLocation):
644         (WebInspector.showOriginalUnformattedSourceCodeLocation):
645         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
646         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
647         (WebInspector.showResourceRequest):
648         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
649         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
650         * UserInterface/Protocol/InspectorFrontendAPI.js:
651         (InspectorFrontendAPI.showMainResourceForFrame):
652         * UserInterface/Views/ComputedStyleDetailsPanel.js:
653         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
654         (WebInspector.ComputedStyleDetailsPanel):
655         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
656         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
657         (WebInspector.ObjectTreeBaseTreeElement):
658
659 2015-07-07  Devin Rousso  <drousso@apple.com>
660
661         Web Inspector: Regression: CSS autocompletion suggestion applies on pressing delete
662         https://bugs.webkit.org/show_bug.cgi?id=146672
663
664         Reviewed by Timothy Hatcher.
665
666         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
667         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now returns if completions are showing.
668
669 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
670
671         Web Inspector: Properly align checkboxes in the styles sidebar
672         https://bugs.webkit.org/show_bug.cgi?id=146673
673
674         Reviewed by Timothy Hatcher.
675
676         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
677         (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]):
678
679 2015-07-06  Matt Baker  <mattbaker@apple.com>
680
681         Web Inspector: Rendering Frame bars appear misaligned and contain gaps when displaying small task segments
682         https://bugs.webkit.org/show_bug.cgi?id=146475
683
684         Reviewed by Timothy Hatcher.
685
686         Displaying all task segments within a frame in the Rendering Frames graph is impossible, as very short tasks
687         would result in a bar with a height of less than 1 pixel. Consecutive small tasks, each less than a visible
688         pixel, appear as gaps in the frame bar. This patch addresses these shortcomings by introducing a minimum
689         displayable frame height (3 pixels), and setting the height of every frame to a multiple of the minimum height.
690
691         * UserInterface/Base/Utilities.js:
692         (.value):
693         Added Math.roundTo to simplify rounding to arbitrary intervals.
694
695         * UserInterface/Views/TimelineRecordFrame.css:
696         (.timeline-record-frame):
697         (.timeline-record-frame > .frame > .duration):
698         Enforce 3px min height for frames & segments. TimelineRenderingFrame's segment height calculator
699         creates segments that are always at least 3px, this is just a precaution.
700
701         * UserInterface/Views/TimelineRecordFrame.js:
702         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.updateDurationRemainder):
703         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.pushCurrentSegment):
704         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.invisibleSegments.forEach):
705         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement): Deleted.
706         Added algorithm for calculating frame segment heights, rather than simply dividing each task's
707         duration by the frame duration. Results are cached so the segment heights aren't needlessly
708         recalculated on every scroll/zoom.
709
710 2015-07-06  Timothy Hatcher  <timothy@apple.com>
711
712         Web Inspector: Force show Console tab when supportsSplitContentBrowser is false
713         https://bugs.webkit.org/show_bug.cgi?id=146661
714
715         Reviewed by Joseph Pecoraro.
716
717         * UserInterface/Base/Main.js:
718         (WebInspector.showConsoleTab):
719
720 2015-07-06  Devin Rousso  <drousso@apple.com>
721
722         Web Inspector: Clearing the console does not remove the unread message icon
723         https://bugs.webkit.org/show_bug.cgi?id=146649
724
725         Reviewed by Timothy Hatcher.
726
727         * UserInterface/Views/LogContentView.js:
728         (WebInspector.LogContentView.prototype._clearLog): Removes the "unread" class from all scope bar items.
729
730 2015-07-02  Timothy Hatcher  <timothy@apple.com>
731
732         Web Inspector: Add a dedicated Network tab that is always live
733         https://bugs.webkit.org/show_bug.cgi?id=146568
734
735         Reviewed by Joseph Pecoraro.
736
737         * Localizations/en.lproj/localizedStrings.js: Updated.
738
739         * UserInterface/Base/Main.js:
740         (WebInspector.loaded):
741         (WebInspector.isTabTypeAllowed):
742         (WebInspector._tabContentViewForType):
743         (WebInspector._updateNewTabButtonState):
744         Add NetworkTabContentView to the right places.
745
746         * UserInterface/Controllers/TimelineManager.js:
747         (WebInspector.TimelineManager):
748         (WebInspector.TimelineManager.prototype.get persistentNetworkTimeline):
749         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
750         (WebInspector.TimelineManager.prototype._resourceWasAdded):
751         Add a persistent network timeline that always has all resources.
752
753         * UserInterface/Images/Network.svg: Added.
754
755         * UserInterface/Main.html: Added new files.
756
757         * UserInterface/Views/NavigationSidebarPanel.css:
758         (.sidebar > .panel.navigation > .content):
759         Drive-by fix. The bottom was off by one. This caused misalignment between sidebar and content view when
760         scrolled all the way to the bottom of the content view.
761
762         * UserInterface/Views/NetworkGridContentView.css: Added.
763         (.content-view.network-grid > .data-grid):
764         (.content-view.network-grid > .data-grid th):
765         (.content-view.network-grid > .data-grid td):
766         (.content-view.network-grid > .data-grid table.data):
767         Mostly copied from TimelineView.css and NetworkTimelineView.css.
768
769         * UserInterface/Views/NetworkGridContentView.js: Added.
770         (WebInspector.NetworkGridContentView):
771         (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline):
772         (WebInspector.NetworkGridContentView.prototype.get selectionPathComponents):
773         (WebInspector.NetworkGridContentView.prototype.get zeroTime):
774         (WebInspector.NetworkGridContentView.prototype.shown):
775         (WebInspector.NetworkGridContentView.prototype.hidden):
776         (WebInspector.NetworkGridContentView.prototype.closed):
777         (WebInspector.NetworkGridContentView.prototype.updateLayout):
778         (WebInspector.NetworkGridContentView.prototype.needsLayout):
779         (WebInspector.NetworkGridContentView.prototype.reset):
780         (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
781         (WebInspector.NetworkGridContentView.prototype._networkTimelineReset):
782         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
783         (WebInspector.NetworkGridContentView.prototype._treeElementPathComponentSelected):
784         (WebInspector.NetworkGridContentView.prototype._dataGridNodeSelected):
785         Mostly copied from NetworkTimelineView.
786
787         * UserInterface/Views/NetworkSidebarPanel.css: Added.
788         (.sidebar > .panel.navigation.network > :matches(.content, .empty-content-placeholder)):
789         (.sidebar > .panel.navigation.network > .navigation-bar):
790         (.sidebar > .panel.navigation.network > .title-bar):
791         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content):
792         (.sidebar > .panel.navigation.network .item:hover:not(.selected) .status .close.status-button):
793         (.sidebar > .panel.navigation.network:not(.network-grid-content-view-showing) .status .go-to-arrow.status-button):
794         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .status .close.status-button):
795         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle):
796         (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline):
797         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
798         Mostly copied from TimelineSidebarPanel.css and NetworkTimelineView.css.
799
800         * UserInterface/Views/NetworkSidebarPanel.js: Added.
801         (WebInspector.NetworkSidebarPanel):
802         (WebInspector.NetworkSidebarPanel.prototype.closed):
803         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
804         (WebInspector.NetworkSidebarPanel.prototype.saveStateToCookie):
805         (WebInspector.NetworkSidebarPanel.prototype.restoreStateFromCookie):
806         (WebInspector.NetworkSidebarPanel.prototype.hasCustomFilters):
807         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
808         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
809         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
810         (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
811         (WebInspector.NetworkSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
812         (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
813         (WebInspector.NetworkSidebarPanel.prototype._treeElementCloseButtonClicked):
814         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView):
815         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected):
816         (WebInspector.NetworkSidebarPanel.prototype._scopeBarSelectionDidChange):
817         A hybrid of ResourceSidebarPanel and TimelineSidebarPanel.
818
819         * UserInterface/Views/NetworkTabContentView.js: Added.
820         (WebInspector.NetworkTabContentView):
821         (WebInspector.NetworkTabContentView.prototype.get type):
822         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
823
824         * UserInterface/Views/NewTabContentView.js:
825         (WebInspector.NewTabContentView): Add Network tab and sort the tabs by their localized name.
826
827         * UserInterface/Views/TabBar.js:
828         (WebInspector.TabBar.prototype._handleNewTabClick):
829         Drive-by fix. Don't fire the click event if the new tab button is disabled.
830
831 2015-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
832
833         Web Inspector: Mark console filters that have unseen messages by colored dots
834         https://bugs.webkit.org/show_bug.cgi?id=146616
835
836         Reviewed by Timothy Hatcher.
837
838         * UserInterface/Views/LogContentView.css:
839         (.log-scope-bar > li.unread::before):
840         (.log-scope-bar > li.unread:hover::before):
841         (.log-scope-bar > li.unread.errors::before):
842         (.log-scope-bar > li.unread.warnings::before):
843         (.log-scope-bar > li.unread.logs::before):
844         (@keyframes unread-background-pulse):
845
846 2015-07-06  Timothy Hatcher  <timothy@apple.com>
847
848         Web Inspector: Exceptions in Network timeline when resource updates and filters are applied
849         https://bugs.webkit.org/show_bug.cgi?id=146609
850
851         Reviewed by Joseph Pecoraro.
852
853         * UserInterface/Views/DataGrid.js:
854         (WebInspector.DataGrid.prototype.insertChild):
855         (WebInspector.DataGrid.prototype.removeChild):
856         (WebInspector.DataGridNode.prototype.savePosition):
857         Convert exceptions to asserts and early returns.
858
859         * UserInterface/Views/TimelineDataGrid.js:
860         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): Add some asserts and checks.
861
862         * UserInterface/Views/TreeOutline.js:
863         (WebInspector.TreeOutline.prototype.appendChild):
864         (WebInspector.TreeOutline.prototype.insertChild):
865         (WebInspector.TreeOutline.prototype.removeChildAtIndex):
866         (WebInspector.TreeOutline.prototype.removeChild):
867         Convert exceptions to asserts and early returns.
868
869 2015-07-05  Timothy Hatcher  <timothy@apple.com>
870
871         Web Inspector: Cached resources are missing startTime and size in Network timeline
872         https://bugs.webkit.org/show_bug.cgi?id=146607
873
874         Reviewed by Joseph Pecoraro.
875
876         * UserInterface/Controllers/FrameResourceManager.js:
877         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass elapsedTime in the right argument order.
878         Add missing calls to Resource.increaseSize and Resource.increaseTransferSize.
879         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass elapsedTime in the right argument order.
880
881 2015-07-05  Timothy Hatcher  <timothy@apple.com>
882
883         Web Inspector: Dim more borders when the window is inactive
884         https://bugs.webkit.org/show_bug.cgi?id=146608
885
886         Reviewed by Joseph Pecoraro.
887
888         * UserInterface/Views/DataGrid.css:
889         (body.window-inactive .data-grid th):
890         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
891         * UserInterface/Views/NavigationSidebarPanel.css:
892         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
893         * UserInterface/Views/OverviewTimelineView.css:
894         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
895         * UserInterface/Views/TimelineDataGrid.css:
896         (body.window-inactive .data-grid.timeline th):
897         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar):
898         * UserInterface/Views/TimelineRuler.css:
899         (body.window-inactive .timeline-ruler > .header):
900         (body.window-inactive .timeline-ruler > .header > .divider):
901         * UserInterface/Views/TimelineSidebarPanel.css:
902         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
903         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
904         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
905
906 2015-07-05  Timothy Hatcher  <timothy@apple.com>
907
908         Web Inspector: Timeline row selection should have same background color in sidebar and data grid
909         https://bugs.webkit.org/show_bug.cgi?id=146606
910
911         Support a force-focus class name that TreeOutlineDataGridSynchronizer applies when one of the
912         elements is focused, so the other can look focused too.
913
914         Reviewed by Joseph Pecoraro.
915
916         * UserInterface/Views/DataGrid.css:
917         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
918         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
919         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
920         (.data-grid:matches(:focus, .force-focus) tr.selected):
921         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
922
923         * UserInterface/Views/Main.css:
924         (:matches(:focus, .force-focus) .selected .go-to-arrow):
925         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
926
927         * UserInterface/Views/NavigationSidebarPanel.css:
928         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
929         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
930         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
931         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
932
933         * UserInterface/Views/TreeElementStatusButton.css:
934         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled):
935         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked):
936
937         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
938         (WebInspector.TreeOutlineDataGridSynchronizer):
939         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridGainedFocus): Added.
940         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridLostFocus): Added.
941         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineGainedFocus): Added.
942         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineLostFocus): Added.
943
944 2015-07-05  Devin Rousso  <drousso@apple.com>
945
946         Web Inspector: Deleting in the CSS sidebar causes the warning icon to appear mid-word
947         https://bugs.webkit.org/show_bug.cgi?id=146617
948
949         Reviewed by Timothy Hatcher.
950
951         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
952         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now removes all marks whenever the user deletes.
953         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): The invalid marker now calculates
954         it's position based off of where the semicolon is in the property text.
955
956 2015-07-05  Devin Rousso  <drousso@apple.com>
957
958         Web Inspector: CSS rule with 2 pseudo-selectors appears twice
959         https://bugs.webkit.org/show_bug.cgi?id=146576
960
961         Reviewed by Timothy Hatcher.
962
963         * UserInterface/Views/RulesStyleDetailsPanel.js:
964         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
965         Only adds pseudo-elements if the previous pseudo-element has a different selector.
966
967 2015-07-04  Devin Rousso  <drousso@apple.com>
968
969         Web Inspector: Wrong cursor position in styles panel when deleting a line break
970         https://bugs.webkit.org/show_bug.cgi?id=146577
971
972         Reviewed by Timothy Hatcher.
973
974         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
975         (WebInspector.CSSStyleDeclarationTextEditor):
976         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): If the change is a deletion at the beginning of a line,
977         remove all markers on that line to ensure that there is no blank space on the previous line after deleting.
978
979 2015-07-04  Devin Rousso  <drousso@apple.com>
980
981         Web Inspector: Pressing tab on a newline in the console should insert a tab character
982         https://bugs.webkit.org/show_bug.cgi?id=146612
983
984         Reviewed by Timothy Hatcher.
985
986         * UserInterface/Views/ConsolePrompt.js:
987         (WebInspector.ConsolePrompt.prototype._handleTabKey): Tabs can now be inserted at the beginning of newlines and before the first
988         non-space character on any other line.
989
990 2015-07-04  Devin Rousso  <drousso@apple.com>
991
992         Web Inspector: Pressing enter on a newline in the styles sidebar inserts a semicolon
993         https://bugs.webkit.org/show_bug.cgi?id=146611
994
995         Reviewed by Timothy Hatcher.
996
997         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
998         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Now returns if the line is empty.
999
1000 2015-07-04  Devin Rousso  <drousso@apple.com>
1001
1002         Web Inspector: Console should indicate if you have unseen messages in console due to filters
1003         https://bugs.webkit.org/show_bug.cgi?id=143166
1004
1005         Reviewed by Timothy Hatcher.
1006
1007         * UserInterface/Controllers/JavaScriptLogViewController.js:
1008         (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Now returns true/false depending on if
1009         the message count was actually updated.
1010         * UserInterface/Views/LogContentView.css:
1011         (.log-scope-bar > li.unread): Applies the unread-border-pulse keyframe animation.
1012         (.log-scope-bar > li.unread.errors): The pulsing border is colored red.
1013         (.log-scope-bar > li.unread.warnings): The pulsing border is colored yellow(ish).
1014         (.log-scope-bar > li.unread.logs): The pulsing border is colored grey.
1015         (@keyframes unread-border-pulse): Changes the color of the border from transparent to whatever is specificed.
1016         * UserInterface/Views/LogContentView.js:
1017         (WebInspector.LogContentView):
1018         (WebInspector.LogContentView.prototype._determineMessageLevel):
1019         (WebInspector.LogContentView.prototype._pulseScopeBarItemBorder): Adds the class "unread" to the scope bar item whose panel
1020         the newest message belongs to, but only if that panel or the All panel is not visible.
1021         (WebInspector.LogContentView.prototype._messageAdded):
1022         (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
1023         (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): Clears the "unread" class on the selected scope bar item.
1024         (WebInspector.LogContentView.prototype._filterMessageElements):
1025         * UserInterface/Views/ScopeBar.js:
1026         (WebInspector.ScopeBar.prototype.get items): Returns a list of all the items in the scope bar.
1027         * UserInterface/Views/ScopeBarItem.js:
1028         (WebInspector.ScopeBarItem): Added another parameter to allow for a custom class name.
1029
1030 2015-07-04  Devin Rousso  <drousso@apple.com>
1031
1032         Web Inspector: Pseudo Styles Ordering and Media Queries
1033         https://bugs.webkit.org/show_bug.cgi?id=145979
1034
1035         Reviewed by Timothy Hatcher.
1036
1037         * UserInterface/Views/RulesStyleDetailsPanel.css:
1038         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
1039         Fix filter label styling with pseudo selectors.
1040         * UserInterface/Views/RulesStyleDetailsPanel.js:
1041         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Pseudo-selector rules will now order directly after the last style that
1042         matches the pseudo-selector without the pseudo-element.  If no rules match, place the pseudo-selector rules above the first
1043         inherited or UserAgent rule (whichever comes first).
1044
1045 2015-07-04  Devin Rousso  <drousso@apple.com>
1046
1047         REGRESSION(r184000): Web Inspector: Multiline CSS in Styles Sidebar is marked as invalid
1048         https://bugs.webkit.org/show_bug.cgi?id=146178
1049
1050         Reviewed by Timothy Hatcher.
1051
1052         First changes made by Tobias Reiss  <tobi+webkit@basecode.de>
1053
1054         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values-expected.css: Added.
1055         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values.css: Added.
1056         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules-expected.css: Added.
1057         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules.css: Added.
1058         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values-expected.css: Added.
1059         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values.css: Added.
1060         * Tools/PrettyPrinting/index.html:
1061         Add regression tests.
1062         * UserInterface/Views/CodeMirrorFormatters.js:
1063         Remove newlines before values that belong in one line and add whitespace between values. 
1064
1065 2015-07-04  Nikita Vasilyev  <nvasilyev@apple.com>
1066
1067         Web Inspector: The arrow that appears for Web Inspector Layout & Rendering records overlaps the category switcher
1068         https://bugs.webkit.org/show_bug.cgi?id=146605
1069
1070         Reviewed by Timothy Hatcher.
1071
1072         * UserInterface/Views/TimelineDataGrid.css:
1073         (.data-grid.timeline > .navigation-bar-container):
1074
1075 2015-07-03  Dan Bernstein  <mitz@apple.com>
1076
1077         [Xcode] Update some build settings as recommended by Xcode 7
1078         https://bugs.webkit.org/show_bug.cgi?id=146597
1079
1080         Reviewed by Sam Weinig.
1081
1082         * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
1083         GCC_NO_COMMON_BLOCKS.
1084         * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
1085
1086 2015-07-02  Devin Rousso  <drousso@apple.com>
1087
1088         Web Inspector: Show suggest popover on Tab press even if it wasn't showing before
1089         https://bugs.webkit.org/show_bug.cgi?id=146496
1090
1091         Reviewed by Timothy Hatcher.
1092
1093         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1094         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will try to autocomplete before trying
1095         to add an ending colon/semicolon or highlight the next section of text.
1096
1097 2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>
1098
1099         Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
1100         https://bugs.webkit.org/show_bug.cgi?id=146536
1101
1102         Reviewed by Timothy Hatcher.
1103
1104         Since we still support legacy backends, the frontend documents where
1105         it is handling legacy backends with compatibility comments.
1106
1107         * UserInterface/Models/ProfileNode.js:
1108         (WebInspector.ProfileNode):
1109         (WebInspector.ProfileNode.prototype.get callInfo):
1110         Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.
1111
1112         * UserInterface/Models/ScriptTimelineRecord.js:
1113         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
1114         If the profile has per-call information, construct ProfileNodeCall objects, otherwise
1115         just construct the ProfileNode with the aggregate callInfo value.
1116
1117         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1118         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1119         When we have aggregate call information we cannot easily partition a script,
1120         so we instead treat the entire script as one large atomic unit in the timeline.
1121         If the timeline range has any portion of the script, show the entire script.
1122         Users used to be able to select a portion of a script and view the relevant
1123         functions called in just that sliver, but this doesn't appear to be a well
1124         known feature or commonly used. In fact, given the small ranges of time it
1125         could be confusing for users.
1126
1127         * UserInterface/Views/TimelineRecordingContentView.js:
1128         (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
1129         Treat as a discrete unit.
1130
1131 2015-07-01  Devin Rousso  <drousso@apple.com>
1132
1133         Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
1134         https://bugs.webkit.org/show_bug.cgi?id=145885
1135
1136         Reviewed by Timothy Hatcher.
1137
1138         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1139         (WebInspector.CodeMirrorCompletionController):
1140         (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
1141         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
1142         (WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
1143         callers of this function to determine if the autocomplete had any values or was instead not shown.
1144         (WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):
1145         * UserInterface/Main.html: Added WrappedPromise class.
1146         * UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
1147         * UserInterface/Views/ConsolePrompt.js:
1148         (WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text.  If there are none, beep.
1149
1150 2015-07-01  Devin Rousso  <drousso@apple.com>
1151
1152         Make the first click on a rule section create a newline for easy property addition
1153         https://bugs.webkit.org/show_bug.cgi?id=146490
1154
1155         Reviewed by Timothy Hatcher.
1156
1157         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1158         (WebInspector.CSSStyleDeclarationTextEditor):
1159         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
1160         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
1161         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
1162         unfocused, the name/value containing the cursor will be highlighted.  If instead the user clicks at the end of a line, the
1163         cursor's position is saved for mouseUp.
1164         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
1165         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.
1166         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
1167         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.
1168
1169 2015-06-30  Devin Rousso  <drousso@apple.com>
1170
1171         Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
1172         https://bugs.webkit.org/show_bug.cgi?id=145739
1173
1174         Reviewed by Timothy Hatcher.
1175
1176         * UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.
1177         (.dom-tree-outline li.selected > span::after):
1178         (.dom-tree-outline:focus li.selected > span::after):
1179
1180 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1181
1182         Web Inspector: ProfileNode cleanup
1183         https://bugs.webkit.org/show_bug.cgi?id=146472
1184
1185         Reviewed by Timothy Hatcher.
1186
1187         * UserInterface/Models/ProfileNode.js:
1188         (WebInspector.ProfileNode):
1189         Use Array.prototype.every instead of reduce.
1190         Correct the name of a function to be what callers expect!
1191
1192 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1193
1194         Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
1195         https://bugs.webkit.org/show_bug.cgi?id=146471
1196
1197         Reviewed by Brian Burg.
1198
1199         * UserInterface/Models/ScriptTimelineRecord.js:
1200         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
1201         For legacy backends, convert the startTime to the proper timestamp type.
1202
1203 2015-06-30  Matt Baker  <mattbaker@apple.com>
1204
1205         Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
1206         https://bugs.webkit.org/show_bug.cgi?id=146168
1207
1208         Reviewed by Brian Burg.
1209
1210         * Localizations/en.lproj/localizedStrings.js:
1211         * UserInterface/Controllers/TimelineManager.js:
1212         (WebInspector.TimelineManager.prototype._processRecord):
1213         Added handling for new Composite record type. Paint records with a parent Composite record
1214         are flagged to simplify processing after the event hierarchy is unpacked.
1215
1216         * UserInterface/Images/TimelineRecordComposite.svg: Added.
1217         New composite record icon.
1218
1219         * UserInterface/Models/LayoutTimelineRecord.js:
1220         (WebInspector.LayoutTimelineRecord):
1221         (WebInspector.LayoutTimelineRecord.displayNameForEventType):
1222         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
1223         Composite record support.
1224
1225         * UserInterface/Models/RenderingFrameTimelineRecord.js:
1226         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
1227         Add compositing time when bucketing runloop tasks, ignoring Paint events that are
1228         contained within a Composite event.
1229
1230         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
1231         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
1232         Add Composite records to paint timeline row.
1233
1234         * UserInterface/Views/RenderingFrameTimelineView.js:
1235         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
1236         Small unrelated fix.
1237
1238         * UserInterface/Views/TimelineIcons.css:
1239         (.composite-record .icon):
1240         * UserInterface/Views/TimelineRecordBar.css:
1241         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
1242         * UserInterface/Views/TimelineRecordTreeElement.js:
1243         (WebInspector.TimelineRecordTreeElement):
1244         New styles and tree element icon.
1245
1246 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1247
1248         Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
1249         https://bugs.webkit.org/show_bug.cgi?id=146427
1250
1251         Reviewed by Timothy Hatcher.
1252
1253         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1254         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
1255         * UserInterface/Views/ObjectTreeView.js:
1256         (WebInspector.ObjectTreeView.prototype._updateProperties):
1257         We are supposed to receive value properties for __proto__ properties
1258         so that we can immediately start showing information about the property.
1259         When that is not the case, which appeared to only be on legacy
1260         backends for the top level prototype, just ignore it.
1261
1262 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1263
1264         Web Inspector: Misc. Timeline cleanup
1265         https://bugs.webkit.org/show_bug.cgi?id=146430
1266
1267         Reviewed by Timothy Hatcher.
1268
1269         * UserInterface/Models/Timeline.js:
1270         (WebInspector.Timeline.prototype.reset):
1271         Nobody listens for this event. Just remove it.
1272
1273         * UserInterface/Models/TimelineRecording.js:
1274         Avoiding doing multiple lookups.
1275
1276         * UserInterface/Views/TimelineDataGridNode.js:
1277         * UserInterface/Views/TimelineRecordingContentView.js:
1278         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
1279         * UserInterface/Views/TimelineView.js:
1280         (WebInspector.TimelineView.prototype.updateLayout):
1281         Eliminate some unnecessary deletes.
1282
1283 2015-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
1284
1285         Web Inspector: Unable to select the text of an inline error message
1286         https://bugs.webkit.org/show_bug.cgi?id=145813
1287
1288         Reviewed by Timothy Hatcher.
1289
1290         * UserInterface/Views/CodeMirrorOverrides.css:
1291         (.CodeMirror-linewidget):
1292         * UserInterface/Views/TextEditor.js:
1293         (WebInspector.TextEditor.prototype.createWidgetForLine):
1294
1295 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
1296
1297         Web Inspector: Remove harmless error for not getting named flows
1298         https://bugs.webkit.org/show_bug.cgi?id=146417
1299
1300         Reviewed by Darin Adler.
1301
1302         * UserInterface/Controllers/DOMTreeManager.js:
1303
1304 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
1305
1306         Web Inspector: Network errors (404) are missing location link in console messages
1307         https://bugs.webkit.org/show_bug.cgi?id=146442
1308
1309         Reviewed by Darin Adler.
1310
1311         * UserInterface/Views/ConsoleMessageView.js:
1312         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1313         Restore behavior of adding a location link for network messages with urls.
1314
1315 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
1316
1317         Web Inspector: iOS 8: Resources Timeline Data does not show up
1318         https://bugs.webkit.org/show_bug.cgi?id=146433
1319
1320         Reviewed by Timothy Hatcher.
1321
1322         There were a couple issues with initializing the legacy base timestamp
1323         for attempting to dynamically compute monotonically increasing timestamps
1324         for timeline events for legacy backends.
1325
1326             * Sometimes legacy timestamps were in seconds since epochs,
1327               sometimes milliseconds. The frontend did not handle both.
1328
1329             * On navigations, even while resetting the base timestamp for
1330               the first new record received, the main resource still had
1331               a will send request time computed from the previous page's
1332               time system. This patch re-uses the original timestamp for
1333               this main resource as the new base and all future records
1334               are computed relative to this.
1335
1336         * UserInterface/Controllers/FrameResourceManager.js:
1337         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
1338         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
1339         * UserInterface/Models/Resource.js:
1340         (WebInspector.Resource):
1341         (WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
1342         For legacy timestamp calculations, save the original request will be sent
1343         timestamp on the Resource in case it is needed.
1344
1345         * UserInterface/Controllers/TimelineManager.js:
1346         (WebInspector.TimelineManager.prototype._loadNewRecording):
1347         When auto-starting a new recording for a navigation / reload, use the
1348         main resource's request will be sent timestamp as the new base.
1349
1350         * UserInterface/Models/TimelineRecording.js:
1351         Address legacy timeline timestamps by handling both legacy timestamps
1352         that may be seconds / milliseconds.
1353
1354 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
1355
1356         REGRESSION: Web Inspector: Jump to Definition is broken
1357         https://bugs.webkit.org/show_bug.cgi?id=146376
1358
1359         Reviewed by Timothy Hatcher.
1360
1361         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1362         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
1363         Allow changing tabs when jumping to function definition.
1364
1365 2015-06-28  Nikita Vasilyev  <nvasilyev@apple.com>
1366
1367         Web Inspector: Wrong border color of console messages when filters are enabled
1368         https://bugs.webkit.org/show_bug.cgi?id=146392
1369
1370         Reviewed by Timothy Hatcher.
1371
1372         * UserInterface/Views/LogContentView.css:
1373         (.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1374         (.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1375
1376 2015-06-25  Matt Baker  <mattbaker@apple.com>
1377
1378         Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
1379         https://bugs.webkit.org/show_bug.cgi?id=146331
1380
1381         Reviewed by Timothy Hatcher.
1382
1383         * UserInterface/Views/TimelineSidebarPanel.js:
1384         Set previously selected timeline type to null if no tree element is selected when switching
1385         view mode to Rendering Frames.
1386
1387 2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>
1388
1389         [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
1390         https://bugs.webkit.org/show_bug.cgi?id=146324
1391
1392         Reviewed by Timothy Hatcher.
1393
1394         * UserInterface/Base/Main.js:
1395         On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
1396         For older Macs continue to use InspectorFrontendHost.moveWindowBy.
1397         
1398         * UserInterface/Protocol/InspectorFrontendHostStub.js:
1399         (WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
1400         Add the stub for InspectorFrontendHostStub.
1401
1402 2015-06-24  Devin Rousso  <drousso@apple.com>
1403
1404         Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
1405         https://bugs.webkit.org/show_bug.cgi?id=146189
1406
1407         Reviewed by Timothy Hatcher.
1408
1409         * UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.
1410         (WebInspector.CodeMirrorCompletionController):
1411         (WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
1412         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
1413         * UserInterface/Views/CSSStyleDeclarationSection.js:
1414         (WebInspector.CSSStyleDeclarationSection):
1415         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
1416         (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
1417         (WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
1418         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
1419         (WebInspector.CSSStyleDeclarationSection.prototype.get locked):
1420         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
1421         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1422         (WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
1423         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
1424         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
1425         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
1426         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
1427         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
1428         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
1429         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
1430         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
1431         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.
1432         * UserInterface/Views/RulesStyleDetailsPanel.js:
1433         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
1434         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.
1435
1436 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
1437
1438         Web Inspector: console.group looks poor in console
1439         https://bugs.webkit.org/show_bug.cgi?id=146295
1440
1441         Reviewed by Timothy Hatcher.
1442
1443         * Localizations/en.lproj/localizedStrings.js:
1444         String for the default group name if you use console.group() without a name parameter.
1445
1446         * UserInterface/Views/LogContentView.css:
1447         (.console-group-title::before):
1448         Tweak the positioning and eliminate the log level ::before image.
1449
1450         * UserInterface/Views/ConsoleMessageView.js:
1451         (WebInspector.ConsoleMessageView):
1452         Reorder a bit to reduce a couple branches.
1453
1454         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
1455         Take a very straightforward approach for group names.
1456
1457 2015-06-24  Devin Rousso  <drousso@apple.com>
1458
1459         Web Inspector: Show warning icon for invalid CSS properties and/or values
1460         https://bugs.webkit.org/show_bug.cgi?id=145657
1461
1462         Reviewed by Timothy Hatcher.
1463
1464         * UserInterface/Models/CSSCompletions.js:
1465         (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.
1466         (WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
1467         (WebInspector.CSSCompletions):
1468         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1469         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
1470         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
1471         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1472         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
1473         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
1474         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
1475         (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.
1476
1477 2015-06-24  Devin Rousso  <drousso@apple.com>
1478
1479         Web Inspector: Background of Computed Styles is missing
1480         https://bugs.webkit.org/show_bug.cgi?id=146209
1481
1482         Reviewed by Timothy Hatcher.
1483
1484         * UserInterface/Views/ComputedStyleDetailsPanel.css:
1485         (.computed-style-properties.details-section): Added white background.
1486
1487 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
1488
1489         Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
1490         https://bugs.webkit.org/show_bug.cgi?id=141949
1491
1492         Reviewed by Timothy Hatcher.
1493
1494         * UserInterface/Views/ConsoleMessageView.js:
1495         (WebInspector.ConsoleMessageView):
1496         (WebInspector.ConsoleMessageView.prototype.get expandable):
1497         (WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
1498         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
1499         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
1500         (WebInspector.ConsoleMessageView.prototype._makeExpandable):
1501         Clarify what makes a ConsoleMessageView expandable or not.
1502
1503         (WebInspector.ConsoleMessageView.prototype.expand):
1504         (WebInspector.ConsoleMessageView.prototype.collapse):
1505         Handle the expand/collapse cases which could apply to the
1506         ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.
1507
1508         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
1509         Delete out of date comment. A console.log("message", obj) will want the
1510         object tree member variable to handle auto expanding/collapsing of the
1511         single object in the message.
1512
1513         * UserInterface/Views/LogContentView.js:
1514         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
1515         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
1516         Use the higher level ConsoleMessageView objects accessible from the element
1517         to call through to expand/collapse.
1518
1519 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
1520
1521         Web Inspector: Reduce QuickConsole DidResize events if it did not change
1522         https://bugs.webkit.org/show_bug.cgi?id=146258
1523
1524         Reviewed by Timothy Hatcher.
1525
1526         * UserInterface/Views/QuickConsole.js:
1527         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
1528         Do not trigger the event unless there was a change in visibility.
1529
1530 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
1531
1532         Web Inspector: TextEditor scroll position not correctly restored when switching tabs
1533         https://bugs.webkit.org/show_bug.cgi?id=146254
1534
1535         Reviewed by Timothy Hatcher.
1536
1537         * UserInterface/Views/TextEditor.js:
1538         (WebInspector.TextEditor.prototype.updateLayout):
1539         Workaround a larger issue with ContentView restoration so that
1540         TextEditors restore their scroll position as expected.
1541
1542 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
1543
1544         Web Inspector: Some brief previews are incorrectly treated as lossless
1545         https://bugs.webkit.org/show_bug.cgi?id=146247
1546
1547         Reviewed by Timothy Hatcher.
1548
1549         * UserInterface/Views/ObjectPreviewView.js:
1550         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
1551         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1552         When we have a brief preview we may need to override lossless / overflow
1553         if the preview view itself shows less properties than were in the preview.
1554
1555 2015-06-23  Matt Baker  <mattbaker@apple.com>
1556
1557         Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
1558         https://bugs.webkit.org/show_bug.cgi?id=146119
1559
1560         Reviewed by Timothy Hatcher.
1561
1562         This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
1563         timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
1564         different colors in the same overview graph, the timeline has been split into two rows.
1565
1566         * UserInterface/Views/LayoutTimelineOverviewGraph.css:
1567         (.timeline-overview-graph.layout > .graph-row):
1568         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
1569         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
1570         New row styles.
1571
1572         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
1573         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
1574         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
1575         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
1576         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
1577         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
1578         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
1579         (WebInspector.LayoutTimelineOverviewGraph): Deleted.
1580         Added bookkeeping objects for timeline row elements and their associated records.
1581
1582         * UserInterface/Views/TimelineRecordBar.css:
1583         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
1584         New style for layout record event types.
1585
1586         * UserInterface/Views/TimelineRecordBar.js:
1587         (WebInspector.TimelineRecordBar.prototype.set records):
1588         Add style class for eventType, if present.
1589
1590 2015-06-22  Devin Rousso  <drousso@apple.com>
1591
1592         Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
1593         https://bugs.webkit.org/show_bug.cgi?id=142918
1594
1595         Reviewed by Timothy Hatcher.
1596
1597         * UserInterface/Views/RulesStyleDetailsPanel.css:
1598         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
1599         Now properly adds padding to filtered labels.
1600         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
1601         * UserInterface/Views/RulesStyleDetailsPanel.js:
1602         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
1603         a label that says "Media: all" above the section.
1604
1605 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
1606
1607         Web Inspector: Consider making read-only style rules have a darker background
1608         https://bugs.webkit.org/show_bug.cgi?id=145983
1609
1610         Reviewed by Timothy Hatcher.
1611
1612         * UserInterface/Views/CSSStyleDeclarationSection.css:
1613         (.style-declaration-section:not(.locked)):
1614         (.style-declaration-section): Deleted.
1615         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1616         (.css-style-text-editor.read-only > .CodeMirror):
1617
1618 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
1619
1620         Web Inspector: Unable to select text of user input messages in the console
1621         https://bugs.webkit.org/show_bug.cgi?id=145888
1622
1623         Reviewed by Timothy Hatcher.
1624
1625         * UserInterface/Views/ConsoleMessageView.css:
1626         (.console-user-command > .console-message-text):
1627
1628 2015-06-20  Nikita Vasilyev  <nvasilyev@apple.com>
1629
1630         Web Inspector: Unable to select parent element in the DOM tree path bar
1631         https://bugs.webkit.org/show_bug.cgi?id=145810
1632
1633         Reviewed by Timothy Hatcher.
1634
1635         * UserInterface/Views/DOMTreeContentView.js:
1636         (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents):
1637         * UserInterface/Views/HierarchicalPathComponent.js:
1638         (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent):
1639         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
1640         (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged):
1641         (WebInspector.HierarchicalPathComponent):
1642         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Deleted.
1643
1644 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1645
1646         Web Inspector: Duplication of style attribute in rules panel for shadow content
1647         https://bugs.webkit.org/show_bug.cgi?id=146176
1648
1649         Reviewed by Timothy Hatcher.
1650
1651         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1652         The styleText can be non-empty for a readonly editor if the editor is for
1653         the style attribute of a shadow dom node. Instead of assuming it is empty
1654         we can just clear the editor ourselves and regenerate from properties.
1655
1656 2015-06-19  Devin Rousso  <drousso@apple.com>
1657
1658         Web Inspector: Highlight currently edited CSS selector
1659         https://bugs.webkit.org/show_bug.cgi?id=145658
1660
1661         Reviewed by Joseph Pecoraro.
1662
1663         * UserInterface/Views/CSSStyleDeclarationSection.js:
1664         (WebInspector.CSSStyleDeclarationSection): Added event listeners on the selector text for mouseover and mouseout.
1665         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector): Selector text mouseover action that highlights all nodes that match the selector string in the corresponding frame.
1666         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Selector text mouseout action that clears all highlights on matching nodes.
1667         * UserInterface/Views/DOMNode.js:
1668         (WebInspector.DOMNode): If the payload contains a frameId, then save it.
1669         (WebInspector.DOMNode.frameIdentifier):
1670
1671 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1672
1673         Web Inspector: Overlapping dashboard views causing lots of layers in source view
1674         https://bugs.webkit.org/show_bug.cgi?id=146153
1675
1676         Reviewed by Darin Adler.
1677
1678         * UserInterface/Views/DashboardContainerView.css:
1679         (.toolbar .dashboard:not(.visible)):
1680         Hide non-visible dashboard views. The !important is used
1681         to override more specific toolbar .dashboard.foo styles.
1682
1683 2015-06-19  Devin Rousso  <drousso@apple.com>
1684
1685         Web Inspector: Make rule icon toggle all properties for that selector on and off
1686         https://bugs.webkit.org/show_bug.cgi?id=146031
1687
1688         Reviewed by Timothy Hatcher.
1689
1690         * UserInterface/Views/CSSStyleDeclarationSection.css:
1691         (.style-declaration-section > .header > .icon.toggle-able:hover):
1692         (.style-declaration-section.rule-disabled > .header > .icon):
1693         * UserInterface/Views/CSSStyleDeclarationSection.js:
1694         (WebInspector.CSSStyleDeclarationSection): Added event listener to selector icon to toggle commenting of all properties for that rule.
1695         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff): Adds or removes comments to all properties for that rule.
1696         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1697         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties.uncommentProperties):
1698         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties): Uncomments all properties.
1699         (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): Comments out all properties.
1700         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Moved comment logic to its own function.
1701         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Moved uncomment logic to its own function.
1702
1703 2015-06-19  Jon Lee  <jonlee@apple.com>
1704
1705         Update font and font-family keyword completions
1706         https://bugs.webkit.org/show_bug.cgi?id=144558
1707         <rdar://problem/20795292>
1708
1709         Reviewed by Timothy Hatcher.
1710
1711         * UserInterface/Models/CSSKeywordCompletions.js: Replace -webkit-system-font and
1712         -apple-system-font with -apple-system, which is the recommended token for getting the
1713         system font. Also add -title{1,2,3} for font, as they were missing, but already exist
1714         in font-family.
1715
1716 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1717
1718         Web Inspector: Avoid getOwnPropertyNames/Symbols on very large lists
1719         https://bugs.webkit.org/show_bug.cgi?id=146141
1720
1721         Reviewed by Timothy Hatcher.
1722
1723         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1724         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
1725         When building completions for a large array, instead of building a list of all the indices
1726         just send a single number back to the frontend and let it generate a list for completion.
1727         We should do even better and avoid building a lookup table here for completion of an index.
1728
1729 2015-06-18  Matt Baker  <mattbaker@apple.com>
1730
1731         Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
1732         https://bugs.webkit.org/show_bug.cgi?id=146120
1733
1734         Reviewed by Timothy Hatcher.
1735
1736         * UserInterface/Views/RenderingFrameTimelineOverview.js:
1737         Enable snapping to frame boundaries.
1738
1739         * UserInterface/Views/TimelineRecordingContentView.js:
1740         (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
1741         Updated filtering to account for ruler snapping.
1742
1743         * UserInterface/Views/TimelineRuler.js:
1744         (WebInspector.TimelineRuler.prototype.get snapInterval):
1745         (WebInspector.TimelineRuler.prototype.set snapInterval):
1746         (WebInspector.TimelineRuler.prototype.set selectionStartTime):
1747         (WebInspector.TimelineRuler.prototype.set selectionEndTime):
1748         (WebInspector.TimelineRuler.prototype._snapValue):
1749         (WebInspector.TimelineRuler.prototype._handleMouseMove):
1750         Added support for snapping to a specified interval.
1751
1752         * UserInterface/Views/TimelineSidebarPanel.js:
1753         Removed unnecessary code.
1754
1755 2015-06-18  Devin Rousso  <drousso@apple.com>
1756
1757         Web Inspector: Add a filter for CSS properties in the Styles sidebar
1758         https://bugs.webkit.org/show_bug.cgi?id=145536
1759
1760         Reviewed by Timothy Hatcher.
1761
1762         * UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.
1763         (.value):
1764         * UserInterface/Views/CSSStyleDeclarationSection.js:
1765         (WebInspector.CSSStyleDeclarationSection):
1766         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
1767         (WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.
1768         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1769         (WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
1770         (WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
1771         (WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
1772         (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).
1773         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.
1774         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1775         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
1776         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):
1777         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1778         (WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
1779         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
1780         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.
1781         * UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
1782         * UserInterface/Views/MetricsStyleDetailsPanel.js:
1783         (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
1784         (WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.
1785         * UserInterface/Views/RulesStyleDetailsPanel.css:
1786         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
1787         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
1788         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
1789         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
1790         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
1791         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
1792         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
1793         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
1794         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
1795         * UserInterface/Views/RulesStyleDetailsPanel.js:
1796         (WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
1797         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
1798         (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).
1799         (WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
1800         (WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.
1801
1802 2015-06-18  Devin Rousso  <drousso@apple.com>
1803
1804         Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
1805         https://bugs.webkit.org/show_bug.cgi?id=138812
1806
1807         Reviewed by Timothy Hatcher.
1808
1809         * Localizations/en.lproj/localizedStrings.js:
1810         * UserInterface/Views/CSSStyleDeclarationSection.js:
1811         (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.
1812         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
1813         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.
1814
1815 2015-06-18  Joseph Pecoraro  <pecoraro@apple.com>
1816
1817         Web Inspector: Improve a few more node preview types
1818         https://bugs.webkit.org/show_bug.cgi?id=146048
1819
1820         Reviewed by Timothy Hatcher.
1821
1822         * UserInterface/Views/FormattedValue.js:
1823         (WebInspector.FormattedValue.createElementForNodePreview):
1824
1825 2015-06-18  Devin Rousso  <drousso@apple.com>
1826
1827         Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
1828         https://bugs.webkit.org/show_bug.cgi?id=117600
1829
1830         Reviewed by Timothy Hatcher.
1831
1832         * 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.
1833         (WebInspector.RulesStyleDetailsPanel):
1834         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
1835         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
1836         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
1837
1838 2015-06-18  Commit Queue  <commit-queue@webkit.org>
1839
1840         Unreviewed, rolling out r185671.
1841         https://bugs.webkit.org/show_bug.cgi?id=146114
1842
1843         Caused frequent flaky failures on profiler tests (Requested by
1844         ap on #webkit).
1845
1846         Reverted changeset:
1847
1848         "Web Inspector: Improve a few more node preview types"
1849         https://bugs.webkit.org/show_bug.cgi?id=146048
1850         http://trac.webkit.org/changeset/185671
1851
1852 2015-06-17  Joseph Pecoraro  <pecoraro@apple.com>
1853
1854         Web Inspector: Improve a few more node preview types
1855         https://bugs.webkit.org/show_bug.cgi?id=146048
1856
1857         Reviewed by Timothy Hatcher.
1858
1859         * UserInterface/Views/FormattedValue.js:
1860         (WebInspector.FormattedValue.createElementForNodePreview):
1861
1862 2015-06-17  Diego Pino Garcia  <dpino@igalia.com>
1863
1864         Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
1865         https://bugs.webkit.org/show_bug.cgi?id=145073
1866
1867         Reviewed by Joseph Pecoraro.
1868
1869         * UserInterface/Views/ContentBrowserTabContentView.js:
1870         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
1871
1872 2015-06-16  Joseph Pecoraro  <pecoraro@apple.com>
1873
1874         Web Inspector: Inspector Scripts evaluated in the page should not be searchable
1875         https://bugs.webkit.org/show_bug.cgi?id=146040
1876
1877         Reviewed by Darin Adler.
1878
1879         Any script with a __WebInspector source URL will be hidden by the tools.
1880         There were a number of ways the inspector could evaluate script on the page
1881         without getting the sourceURL and therefore not getting hidden. Audit
1882         all cases of Runtime.evaluate, Runtime.callFunctionOn, and
1883         Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.
1884
1885         * UserInterface/Base/Utilities.js:
1886         (appendWebInspectorSourceURL):
1887         Helper to append a __WebInspectorInternal__ sourceURL to a string that may
1888         be evaluated directly on the inspected context.
1889
1890         * UserInterface/Controllers/DOMTreeManager.js:
1891         (WebInspector.DOMTreeManager.domNodeResolved):
1892         * UserInterface/Controllers/JavaScriptLogViewController.js:
1893         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.
1894         * UserInterface/Controllers/RuntimeManager.js:
1895         * UserInterface/Models/DOMTree.js:
1896         (WebInspector.DOMTree.prototype._requestRootDOMNode):
1897         * UserInterface/Protocol/RemoteObject.js:
1898         (WebInspector.RemoteObject.):
1899         * UserInterface/Views/SourceCodeTextEditor.js:
1900         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
1901         Ensure all cases that evaluate directly on the inspected page / context
1902         have the intenral source URL.
1903
1904 2015-06-16  Matt Baker  <mattbaker@apple.com>
1905
1906         Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
1907         https://bugs.webkit.org/show_bug.cgi?id=142315
1908
1909         Reviewed by Timothy Hatcher.
1910
1911         TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
1912         Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
1913         each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
1914         begins with the current node, and halts once a valid element is found or candidate elements are exhausted.
1915
1916         * UserInterface/Views/TreeOutline.js:
1917         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
1918         (WebInspector.TreeElement.prototype.traverseNextTreeElement):
1919         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
1920         (WebInspector.TreeElement.prototype.traversePreviousTreeElement):
1921
1922 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
1923
1924         Web Inspector: Stylize Node Previews
1925         https://bugs.webkit.org/show_bug.cgi?id=145990
1926
1927         Reviewed by Timothy Hatcher.
1928
1929         * UserInterface/Views/FormattedValue.js:
1930         (WebInspector.FormattedValue.createElementForNodePreview):
1931         Style a node preview like a DOMNode. It is a simple small snippet.
1932
1933         * UserInterface/Views/ObjectPreviewView.js:
1934         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1935         Use node previews in ObjectPreviewViews.
1936
1937 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
1938
1939         Web Inspector: Improve some cases of "Object?" Type Annotations
1940         https://bugs.webkit.org/show_bug.cgi?id=145954
1941
1942         Reviewed by Timothy Hatcher.
1943
1944         * UserInterface/Views/TypeTokenView.js:
1945         (WebInspector.TypeTokenView.prototype._displayTypeName):
1946         The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
1947         name as long as the type set is just object or object and null/undefined.
1948         If the typeset includes other primitives then it will gracefully go down
1949         below to become something like Object or (many). 
1950
1951 2015-06-14  Andres Gomez  <agomez@igalia.com>
1952
1953         [GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
1954         https://bugs.webkit.org/show_bug.cgi?id=145956
1955
1956         Reviewed by Carlos Garcia Campos.
1957
1958         * UserInterface/Images/gtk/TimelineRecordPaint.svg:
1959         Changed to use green color.
1960
1961 2015-06-13  Joseph Pecoraro  <pecoraro@apple.com>
1962
1963         Web Inspector: console.table() with a list of objects no longer works
1964         https://bugs.webkit.org/show_bug.cgi?id=145952
1965
1966         Reviewed by Timothy Hatcher.
1967
1968         * UserInterface/Views/ConsoleMessageView.js:
1969         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
1970         (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
1971         Don't allow expanding a cosole.table message, and don't output the total
1972         object even if the table preview was lossless, as the experience is poor.
1973
1974 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
1975
1976         Web Inspector: CSS Regions not displaying DOM Trees in inspector
1977         https://bugs.webkit.org/show_bug.cgi?id=145903
1978
1979         Reviewed by Timothy Hatcher.
1980
1981         * UserInterface/Controllers/DOMTreeManager.js:
1982         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
1983         Fix function inside the assertion to actually return a value.
1984
1985         * UserInterface/Views/DOMTreeOutline.js:
1986         (WebInspector.DOMTreeOutline.prototype.update):
1987         For DOMTreeOutlines without a root node, don't clear the tree on updates,
1988         since that will clear the nodes that have already been added explicitly.
1989
1990         * UserInterface/Views/ResourceSidebarPanel.js:
1991         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
1992         * UserInterface/Views/ResourcesTabContentView.js:
1993         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
1994         ResourceTab and sidebar can deal with ContentFlow related views.
1995
1996 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
1997
1998         Web Inspector: IndexedDB data not showing for MDN example page
1999         https://bugs.webkit.org/show_bug.cgi?id=145851
2000
2001         Reviewed by Anders Carlsson.
2002
2003         * UserInterface/Views/StorageSidebarPanel.js:
2004         (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
2005         Fix typo in Storage tab refactoring that was causing an
2006         uncaught exception and not showing Indexed DBs.
2007
2008 2015-06-11  Devin Rousso  <drousso@apple.com>
2009
2010         Web Inspector: font-family names interpreted as color
2011         https://bugs.webkit.org/show_bug.cgi?id=123468
2012
2013         Reviewed by Timothy Hatcher.
2014
2015         * UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').
2016
2017 2015-06-11  Matt Baker  <mattbaker@apple.com>
2018
2019         Web Inspector: Rendering Frames timeline should distinguish between layout and painting
2020         https://bugs.webkit.org/show_bug.cgi?id=145856
2021
2022         Reviewed by Timothy Hatcher.
2023
2024         This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
2025         Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
2026         which tasks are executed within the runloop.
2027
2028         We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
2029         for Paint records now use a different color that those of other Layout records.
2030
2031         * UserInterface/Images/TimelineRecordPaint.svg:
2032         Changed to use green color.
2033
2034         * UserInterface/Models/RenderingFrameTimelineRecord.js:
2035         (WebInspector.RenderingFrameTimelineRecord):
2036         (WebInspector.RenderingFrameTimelineRecord.displayNameForTaskType):
2037         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
2038         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.set return):
2039         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
2040         (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder): Deleted.
2041         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var): Deleted.
2042         Added TaskType enum to decouple runloop task types from timeline record types, and removed duration remainder
2043         support now that "Other" has an associated task type.
2044
2045         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
2046         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
2047         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
2048         * UserInterface/Views/RenderingFrameTimelineView.js:
2049         (WebInspector.RenderingFrameTimelineView):
2050         Added new grid column for Paint task, reordered columns to be consistent with the rest of the UI.
2051
2052         * UserInterface/Views/TimelineRecordFrame.css:
2053         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
2054         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
2055         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
2056         (.timeline-record-frame > .frame > .duration): Deleted.
2057         (.timeline-record-frame > .frame > .duration.timeline-record-type-network): Deleted.
2058         (.timeline-record-frame > .frame > .duration.timeline-record-type-layout): Deleted.
2059         (.timeline-record-frame > .frame > .duration.timeline-record-type-script): Deleted.
2060         Updated styles for Render Frame tasks.
2061
2062         * UserInterface/Views/TimelineRecordFrame.js:
2063         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
2064         Updated to use Render Frame task types. Frame segment insertion order is now consistent with the rest of the UI.
2065
2066         * UserInterface/Views/TimelineSidebarPanel.js:
2067         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.chartData.Object.keys.map):
2068         (WebInspector.TimelineSidebarPanel.set this):
2069         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.get this):
2070         (WebInspector.TimelineSidebarPanel): Deleted.
2071         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart.durationForRecordType): Deleted.
2072         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart): Deleted.
2073         Updated to use Render Frame task types.
2074
2075 2015-06-11  Matt Baker  <mattbaker@apple.com>
2076
2077         Web Inspector: Wrong overview graph shown after switching from Frames to Timelines
2078         https://bugs.webkit.org/show_bug.cgi?id=145778
2079
2080         Reviewed by Timothy Hatcher.
2081
2082         TimelineSidebarPanel stores a reference to the selected timeline before switching to the Rendering Frames view,
2083         which is used to restore the tree selection, overview graph, and content views when switching back to the
2084         standard Timelines view. However if another recording is created before switching, the previously selected
2085         timeline tracked by the sidebar cannot be restored, since it doesn't belong to the active recording.
2086
2087         This is addressed by storing the previously selected timeline type, rather than the timeline object itself.
2088         The type is also updated whenever the selected timeline in the tree outline changes, ensuring that the correct
2089         timeline will always be restored.
2090
2091         * UserInterface/Views/TimelineSidebarPanel.js:
2092         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
2093         (WebInspector.TimelineSidebarPanel.get else): Deleted.
2094         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if): Deleted.
2095         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): Deleted.
2096
2097 2015-06-08  Matt Baker  <mattbaker@apple.com>
2098
2099         Web Inspector: Clearing active Timeline recording should stop capturing
2100         https://bugs.webkit.org/show_bug.cgi?id=145767
2101
2102         Reviewed by Joseph Pecoraro.
2103
2104         * UserInterface/Views/TimelineRecordingContentView.js:
2105         (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
2106         Stop capturing if necessary.
2107
2108 2015-06-07  Tobias Reiss  <tobi+webkit@basecode.de>
2109
2110         Web Inspector: Add PrettyPrinter CSSRule tests
2111         https://bugs.webkit.org/show_bug.cgi?id=145740
2112
2113         Reviewed by Brian Burg.
2114
2115         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon-expected.css: Added.
2116         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon.css: Added.
2117         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma-expected.css: Added.
2118         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma.css: Added.
2119         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon-expected.css: Added.
2120         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon.css: Added.
2121         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Added.
2122         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed.css: Added.
2123         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value-expected.css: Added.
2124         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value.css: Added.
2125         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Added.
2126         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon.css: Added.
2127         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Added.
2128         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment.css: Added.
2129         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Added.
2130         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Added.
2131         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Added.
2132         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Added.
2133         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property-expected.css: Added.
2134         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property.css: Added.
2135         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Added.
2136         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon.css: Added.
2137         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Added.
2138         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment.css: Added.
2139         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Added.
2140         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Added.
2141         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Added.
2142         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Added.
2143         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property-expected.css: Added.
2144         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property.css: Added.
2145         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Added.
2146         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Added.
2147         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Added.
2148         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Added.
2149         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Added.
2150         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Added.
2151         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Added.
2152         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property.css: Added.
2153         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment-expected.css: Added.
2154         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment.css: Added.
2155         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Added.
2156         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property.css: Added.
2157         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Added.
2158         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Added.
2159         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property-expected.css: Added.
2160         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property.css: Added.
2161         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Added.
2162         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Added.
2163
2164 2015-06-05  Devin Rousso  <drousso@apple.com>
2165
2166         Web Inspector: Fixing code style and adding more limitations for bug 141262
2167         https://bugs.webkit.org/show_bug.cgi?id=145668
2168
2169         Reviewed by Timothy Hatcher.
2170
2171         * UserInterface/Models/CSSCompletions.js:
2172         (WebInspector.CSSCompletions.prototype.isValidPropertyName): Loops through the full property list and returns true only if a property exactly matches the given property name.
2173         (WebInspector.CSSCompletions): Added isValidPropertyName function.
2174         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2175         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property and to prevent invalid style from being applied incorrectly.
2176
2177 2015-06-05  Devin Rousso  <drousso@apple.com>
2178
2179         Web Inspector: Highlighting a CSS section does not deselect previously highlighted CSS sections
2180         https://bugs.webkit.org/show_bug.cgi?id=145399
2181
2182         Reviewed by Timothy Hatcher.
2183
2184         * UserInterface/Views/CSSStyleDeclarationSection.js:
2185         (WebInspector.CSSStyleDeclarationSection): Added delegate variable to constructor.
2186         (WebInspector.CSSStyleDeclarationSection.prototype.clearSelection):
2187         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorFocused):
2188         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2189         (WebInspector.CSSStyleDeclarationTextEditor): Added event listener to codeMirror on "focus".
2190         (WebInspector.CSSStyleDeclarationTextEditor.prototype.clearSelection): Sets the cursor of the codeMirror to character 0 on line 0.
2191         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorFocused): Function that calls the delegate function "editorFocused" when the codeMirror is focused
2192         * UserInterface/Views/RulesStyleDetailsPanel.js:
2193         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
2194         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Loops through all sections except for the ignoredSection (parameter) and clears the selected text in each of them.
2195
2196 2015-06-05  Joseph Pecoraro  <pecoraro@apple.com>
2197
2198         REGRESSION (r185213): TypeError: undefined is not an object (evaluating 'WebInspector.clearLogOnReload.value')
2199         https://bugs.webkit.org/show_bug.cgi?id=145695
2200
2201         Reviewed by Mark Lam.
2202
2203         Move and rename the clear log on reload setting property from
2204         WebInspector (Main.js) to LogManager (shared with tests).
2205
2206         * UserInterface/Base/Main.js:
2207         (WebInspector.loaded): Deleted.
2208         * UserInterface/Controllers/LogManager.js:
2209         (WebInspector.LogManager):
2210         (WebInspector.LogManager.prototype._delayedMessagesCleared):
2211         * UserInterface/Views/LogContentView.js:
2212         (WebInspector.LogContentView.prototype._sessionStarted):
2213         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
2214         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
2215
2216 2015-06-05  Nikita Vasilyev  <nvasilyev@apple.com>
2217
2218         Web Inspector: [REGRESSION] Dashboard's resource count does not reset when main resource navigates
2219         https://bugs.webkit.org/show_bug.cgi?id=144553
2220
2221         Add missing _mainResourceDidChange, which was removed after switching to the tabs UI.
2222
2223         Reviewed by Timothy Hatcher.
2224
2225         * UserInterface/Models/DefaultDashboard.js:
2226         (WebInspector.DefaultDashboard):
2227         _waitingForFirstMainResourceToStartTrackingSize is not used anywhere, remove it.
2228
2229         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): Added.
2230
2231         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange): Removed.
2232         Unused.
2233
2234 2015-06-05  Matt Baker  <mattbaker@apple.com>
2235
2236         Web Inspector: Switch to doughnut chart and remove idle time in the Rendering Frames timeline
2237         https://bugs.webkit.org/show_bug.cgi?id=145671
2238
2239         Reviewed by Timothy Hatcher.
2240
2241         * Localizations/en.lproj/localizedStrings.js:
2242         "Idle" string no longer used.
2243
2244         * UserInterface/Views/TimelineRecordFrame.js:
2245         Reduced maximum frame width by 2px.
2246
2247         * UserInterface/Views/TimelineSidebarPanel.js:
2248         (WebInspector.TimelineSidebarPanel):
2249         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart):
2250         Added inner radius to chart and removed "Idle" value.
2251
2252 2015-06-04  Joseph Pecoraro  <pecoraro@apple.com>
2253
2254         Web Inspector: Class constructor appearing as Object Tree property does not include parameters
2255         https://bugs.webkit.org/show_bug.cgi?id=145661
2256
2257         Reviewed by Timothy Hatcher.
2258
2259         * UserInterface/Protocol/RemoteObject.js:
2260         (WebInspector.RemoteObject):
2261         (WebInspector.RemoteObject.fromPrimitiveValue):
2262         (WebInspector.RemoteObject.fromPayload):
2263         (WebInspector.RemoteObject.prototype.get functionDescription):
2264         Include the className as only use it for "class" types to override
2265         the normal description string. Stash the actual function description
2266         in a property we can access later.
2267
2268         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2269         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
2270         Even if this property is a "class" we want to specifically parse it's
2271         function description string. So use functionDescription.
2272
2273 2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>
2274
2275         Web Inspector: Close and open tabs on mouseup, not mousedown
2276         https://bugs.webkit.org/show_bug.cgi?id=145656
2277
2278         Match Safari's behaviour.
2279
2280         Reviewed by Timothy Hatcher.
2281
2282         * UserInterface/Views/TabBar.js:
2283         (WebInspector.TabBar):
2284         (WebInspector.TabBar.prototype.set newTabItem):
2285         (WebInspector.TabBar.prototype._handleMouseDown):
2286         (WebInspector.TabBar.prototype._handleClick): Added.
2287         (WebInspector.TabBar.prototype._handleMouseUp):
2288         (WebInspector.TabBar.prototype._handleNewTabClick): Added.
2289         (WebInspector.TabBar.prototype._handleMouseMoved):
2290
2291 2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>
2292
2293         Web Inspector: Decrease tabs height to match Safari's tabs height
2294         https://bugs.webkit.org/show_bug.cgi?id=145647
2295
2296         Reviewed by Timothy Hatcher.
2297
2298         * UserInterface/Views/TabBar.css:
2299         (.tab-bar):
2300
2301 2015-06-04  Tobias Reiss  <tobi+webkit@basecode.de>
2302         
2303         Web Inspector: Activity Viewer does not update on "Clear Log on reload"
2304         https://bugs.webkit.org/show_bug.cgi?id=145466
2305         
2306         Reviewed by Joseph Pecoraro.
2307
2308         1. Isolate logic within LogManager and remove hacks/logic from all other files
2309         2. Within LogManager: Differentiate "messagesCleared" calls
2310          a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
2311          b) that happen on page reload and install "clear/keep-on-page-reload" logic
2312          c) that happen on frame navigated, console.clear() or clear()
2313         3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"
2314         
2315         For step 2b and 2c it is important to delay the handling and wait until
2316         "_mainResourceDidChange" has determined whether a page reload happened or
2317         not.
2318         
2319         * UserInterface/Base/Main.js:
2320         (WebInspector.loaded):
2321         Store "clear-log-on-reload" setting globally.
2322         
2323         * UserInterface/Controllers/IssueManager.js:
2324         (WebInspector.IssueManager):
2325         * UserInterface/Models/DefaultDashboard.js:
2326         (WebInspector.DefaultDashboard): Deleted.
2327         * UserInterface/Views/ObjectTreeView.js:
2328         (WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
2329         (WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
2330         (WebInspector.ObjectTreeView): Deleted.
2331         Remove deleted events.
2332         
2333         * UserInterface/Controllers/JavaScriptLogViewController.js:
2334         (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
2335         (WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
2336         Remove delegate function call and call LogManager directly.
2337         
2338         * UserInterface/Controllers/LogManager.js:
2339         (WebInspector.LogManager):
2340         (WebInspector.LogManager.prototype.messagesCleared):
2341         (WebInspector.LogManager.prototype._delayedMessagesCleared):
2342         (WebInspector.LogManager.prototype.requestClearMessages):
2343         (WebInspector.LogManager.prototype._mainResourceDidChange):
2344         Isolate "clear log" logic, especially clear/keep-log-on-reload logic.
2345         
2346         * UserInterface/Views/LogContentView.js:
2347         (WebInspector.LogContentView):
2348         (WebInspector.LogContentView.prototype._sessionStarted):
2349         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
2350         (WebInspector.LogContentView.prototype._logCleared):
2351         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
2352         (WebInspector.LogContentView.prototype._clearLog):
2353         (WebInspector.LogContentView.prototype.didClearMessages): Deleted.
2354         (WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
2355         (WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
2356         (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
2357         Make it a consumer of LogManager and remove special hacks. Simplify code.
2358
2359 2015-06-03  Devin Rousso  <drousso@apple.com>
2360
2361         Web Inspector: if a known CSS property has an unsupported value, only strikethrough the value
2362         https://bugs.webkit.org/show_bug.cgi?id=141262
2363
2364         Reviewed by Timothy Hatcher.
2365
2366         * UserInterface/Models/CSSCompletions.js:
2367         (WebInspector.CSSCompletions.prototype.nameMatchesValidPropertyExactly): Loops through the full property list and returns true only if a property exactly matches the given property name.
2368         (WebInspector.CSSCompletions): Added nameMatchesValidPropertyExactly function.
2369         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2370         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property.
2371
2372 2015-06-03  Nikita Vasilyev  <nvasilyev@apple.com>
2373
2374         Web Inspector: Search field bottom border doesn't match the rest of the toolbar
2375         https://bugs.webkit.org/show_bug.cgi?id=145611
2376
2377         Reviewed by Timothy Hatcher.
2378
2379         * UserInterface/Views/Toolbar.css:
2380         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
2381
2382 2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>
2383
2384         Web Inspector: Uncaught exception starting a NavigationBar drag and mousing over a different NavigationBar
2385         https://bugs.webkit.org/show_bug.cgi?id=145589
2386
2387         Reviewed by Timothy Hatcher.
2388
2389         * UserInterface/Views/NavigationBar.js:
2390         (WebInspector.NavigationBar.prototype._mouseDown):
2391         (WebInspector.NavigationBar.prototype._mouseUp):
2392         When mouse dragging for navigation bars, only match against navigation
2393         bar items inside this navigation bar. Also, fix horizontal detection
2394         of navigation bar items by scanning in the middle of the navigation
2395         bar instead of the top, which missed the items.
2396
2397 2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>
2398
2399         Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
2400         https://bugs.webkit.org/show_bug.cgi?id=145594
2401
2402         Reviewed by Timothy Hatcher.
2403
2404         * UserInterface/Controllers/DOMTreeManager.js:
2405         (WebInspector.DOMTreeManager.prototype.inspectElement):
2406         Previously we could get an exception later on if we tried to
2407         inspect an element that was not in the DOM. Bail if the node
2408         is not in the DOM or not.
2409
2410         * UserInterface/Views/SourceCodeTextEditor.css:
2411         (.popover .debugger-popover-content > .title > .go-to-arrow):
2412         * UserInterface/Views/SourceCodeTextEditor.js:
2413         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
2414         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
2415         For a node type, add a go-to-arrow in the popover if it is in the DOM or not.
2416
2417 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
2418
2419         Web Inspector: Remove uses of delete in Sidebar related code
2420         https://bugs.webkit.org/show_bug.cgi?id=145592
2421
2422         Reviewed by Timothy Hatcher.
2423
2424         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2425         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
2426         Clear value instead of deleting.
2427
2428         * UserInterface/Views/SearchSidebarPanel.js:
2429         (WebInspector.SearchSidebarPanel.prototype.performSearch):
2430         Just clear the search identifier. Also assert it (a required string) is always non-falsey.
2431
2432         * UserInterface/Views/Sidebar.js:
2433         (WebInspector.Sidebar.prototype.resizerDragEnded): Deleted.
2434         This entire callback is unnecessary because whenever we start
2435         a drag we save the value.
2436
2437 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
2438
2439         Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
2440         https://bugs.webkit.org/show_bug.cgi?id=145591
2441
2442         Reviewed by Timothy Hatcher.
2443
2444         * UserInterface/Views/Sidebar.js:
2445         (WebInspector.Sidebar.prototype.removeSidebarPanel):
2446         When removing a sidebar panel, ensure we call hidden if it was the visible panel.
2447
2448         * UserInterface/Views/SidebarPanel.js:
2449         (WebInspector.SidebarPanel):
2450         (WebInspector.SidebarPanel.prototype.shown):
2451         (WebInspector.SidebarPanel.prototype.hidden):
2452         Save and restore content element scroll position when sidebar panels are shown / hidden.
2453
2454         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2455         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
2456         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2457         (WebInspector.ComputedStyleDetailsPanel.prototype.shown):
2458         * UserInterface/Views/DetailsSidebarPanel.js:
2459         (WebInspector.DetailsSidebarPanel.prototype.shown):
2460         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2461         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
2462         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
2463         Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!
2464
2465 2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>
2466
2467         Web Inspector: Use non-monospace font for the frame selector
2468         https://bugs.webkit.org/show_bug.cgi?id=145586
2469
2470         Reviewed by Timothy Hatcher.
2471
2472         * UserInterface/Views/HierarchicalPathComponent.css:
2473         (.hierarchical-path-component):
2474
2475 2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>
2476
2477         Web Inspector: Dashboard arrow icon on the right is overlapped by a long function/file name
2478         https://bugs.webkit.org/show_bug.cgi?id=145540
2479
2480         Also, increase clickable area of the arrow icon.
2481
2482         Reviewed by Timothy Hatcher.
2483
2484         * UserInterface/Views/DashboardContainerView.css:
2485         (.dashboard-container .advance-arrow):
2486         (.dashboard-container .advance-arrow.advance-forward):
2487         (.dashboard-container .advance-arrow.advance-backward):
2488         * UserInterface/Views/DebuggerDashboardView.css:
2489         (.dashboard.debugger > .location):
2490         (.toolbar .dashboard.debugger):
2491         Increase padding on the right so the content of the dashboard would be never be overlayed by the arrow.
2492
2493 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
2494
2495         Web Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
2496         https://bugs.webkit.org/show_bug.cgi?id=145562
2497
2498         Reviewed by Timothy Hatcher.
2499
2500         * UserInterface/Views/TabBrowser.js:
2501         (WebInspector.TabBrowser):
2502         Only these keyboard shortcuts should check if we are in an editable field.
2503         Remove the implicit prevent default so they can fall back to system behavior
2504         if necessary.
2505
2506         (WebInspector.TabBrowser.prototype._showNextTabCheckingForEditableField):
2507         (WebInspector.TabBrowser.prototype._showPreviousTabCheckingForEditableField):
2508         Bail if we are in an editable field. Otherwise perform the action and prevent default.
2509
2510 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
2511
2512         Web Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick console
2513         https://bugs.webkit.org/show_bug.cgi?id=145546
2514
2515         Reviewed by Timothy Hatcher.
2516
2517         Scope ContentBrowser keyboard events within the ContentBrowser instead
2518         of global, where they might conflict between ContentBrowsers. The scoped
2519         shortcuts now no longer need to be enabled/disabled.
2520
2521         * UserInterface/Views/ContentBrowser.js:
2522         (WebInspector.ContentBrowser):
2523         Scope the keyboard shortcuts.
2524
2525         (WebInspector.ContentBrowser.prototype.shown):
2526         (WebInspector.ContentBrowser.prototype.hidden):
2527         No longer need to control enabling / disabling these non-global shortcuts.
2528
2529 2015-06-01  Jono Wells  <jonowells@apple.com>
2530
2531         Web Inspector: Type token text descenders touch bottom of container
2532         https://bugs.webkit.org/show_bug.cgi?id=145544
2533
2534         Reviewed by Timothy Hatcher.
2535
2536         Move 1px padding from top to bottom of token.
2537
2538         * UserInterface/Views/TypeTokenView.css:
2539         (.type-token):
2540
2541 2015-06-01  Joseph Pecoraro  <pecoraro@apple.com>
2542
2543         Web Inspector: Better handle keyboard events in the quick console prompt
2544         https://bugs.webkit.org/show_bug.cgi?id=145548
2545
2546         Reviewed by Timothy Hatcher.
2547
2548         * UserInterface/Base/Main.js:
2549         (WebInspector.saveDataToFile):
2550         Move generic InspectorFrontendHost code here.
2551
2552         * UserInterface/Views/ContentBrowser.js:
2553         (WebInspector.ContentBrowser.prototype._save):
2554         (WebInspector.ContentBrowser.prototype._saveAs):
2555         (WebInspector.ContentBrowser.prototype._saveDataToFile): Deleted.
2556         Use the generic save code.
2557
2558         * UserInterface/Controllers/JavaScriptLogViewController.js:
2559         (WebInspector.JavaScriptLogViewController):
2560         (WebInspector.JavaScriptLogViewController.prototype._save):
2561         (WebInspector.JavaScriptLogViewController.prototype._saveAs):
2562         Handle save keyboard shortcuts while the prompt is focused.
2563
2564         * UserInterface/Views/LogContentView.js:
2565         (WebInspector.LogContentView.prototype.focusSearchBar):
2566         (WebInspector.LogContentView.prototype.save):
2567         (WebInspector.LogContentView.prototype.saveAs):
2568         Better handle keyboard shortcut cases in the console prompt for cases
2569         like a collapsed or split console view.
2570
2571 2015-06-01  Nikita Vasilyev  <nvasilyev@apple.com>
2572
2573         Web Inspector: Pause/resume button in the debugger dashboard is vertically misaligned
2574         https://bugs.webkit.org/show_bug.cgi?id=145534
2575
2576         Reviewed by Timothy Hatcher.
2577
2578         * UserInterface/Views/ButtonNavigationItem.css:
2579         (.navigation-bar .item.button.suppress-emboss):
2580         Never show borders for the pause/resume button.
2581
2582         * UserInterface/Views/DebuggerDashboardView.css:
2583         (.dashboard.debugger .navigation-bar .item.button):
2584
2585 2015-05-31  Yusuke Suzuki  <utatane.tea@gmail.com>
2586
2587         Web Inspector: Drop forEach from WeakMap / WeakSet native member function maps
2588         https://bugs.webkit.org/show_bug.cgi?id=145497
2589
2590         Reviewed by Sam Weinig.
2591
2592         WeakMap / WeakSet don't have forEach method.
2593         This patch drops it from the native prototype function parameters map.
2594
2595         * UserInterface/Models/NativeFunctionParameters.js:
2596
2597 2015-05-29  Timothy Hatcher  <timothy@apple.com>
2598
2599         Web Inspector: Resources tab navigation sidebar should have a type filter header
2600         https://bugs.webkit.org/show_bug.cgi?id=145474
2601
2602         Reviewed by Joseph Pecoraro.
2603
2604         * Localizations/en.lproj/localizedStrings.js: Updated.
2605
2606         * UserInterface/Images/UpDownArrows.svg: Make styleable.
2607
2608         * UserInterface/Main.html: Added new files.
2609
2610         * UserInterface/Views/LogContentView.js:
2611         (WebInspector.LogContentView): Drive-by fix. Mark All as exclusive.
2612
2613         * UserInterface/Views/MultipleScopeBarItem.js: Added.
2614         (WebInspector.MultipleScopeBarItem):
2615         (WebInspector.MultipleScopeBarItem.prototype.get element):
2616         (WebInspector.MultipleScopeBarItem.prototype.get exclusive):
2617         (WebInspector.MultipleScopeBarItem.prototype.get scopeBarItems):
2618         (WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption):
2619         (WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems):
2620         (WebInspector.MultipleScopeBarItem.prototype.get selected):
2621         (WebInspector.MultipleScopeBarItem.prototype.set selected):
2622         (WebInspector.MultipleScopeBarItem.prototype.get selectedScopeBarItem):
2623         (WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
2624         (WebInspector.MultipleScopeBarItem.prototype._clicked):
2625         (WebInspector.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
2626         (WebInspector.MultipleScopeBarItem.prototype._itemSelectionDidChange):
2627
2628         * UserInterface/Views/NavigationSidebarPanel.js:
2629         (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
2630         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
2631         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
2632         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
2633         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2634         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2635         Improve filtering so non-text filters can choose to auto-expand the tree.
2636
2637         * UserInterface/Views/ResourceSidebarPanel.css: Added.
2638         (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
2639         (.sidebar > .panel.navigation.resource > .navigation-bar):
2640
2641         * UserInterface/Views/ResourceSidebarPanel.js:
2642         (WebInspector.ResourceSidebarPanel):
2643         (WebInspector.ResourceSidebarPanel.prototype.hasCustomFilters):
2644         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2645         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2646         (WebInspector.ResourceSidebarPanel.prototype._scopeBarSelectionDidChange):
2647         Make a ScopeBar and make it filter the TreeOutline when needed.
2648
2649         * UserInterface/Views/ScopeBar.css:
2650         (.scope-bar > li.multiple):
2651         (.scope-bar > li.multiple > select):
2652         (.scope-bar > li.multiple.selected > select):
2653         (.scope-bar > li.multiple > .arrows):
2654         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled):
2655         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked):
2656
2657         * UserInterface/Views/ScopeBar.js:
2658         (WebInspector.ScopeBar): Support shouldGroupNonExclusiveItems which will use MultipleScopeBarItem.
2659         (WebInspector.ScopeBar.prototype._populate):
2660         (WebInspector.ScopeBar.prototype._itemSelectionDidChange):
2661         (WebInspector.ScopeBar.prototype.updateLayout): Deleted. Not needed for our current styles.
2662
2663         * UserInterface/Views/ScopeBarItem.js:
2664         (WebInspector.ScopeBarItem):
2665         (WebInspector.ScopeBarItem.prototype.get id):
2666         (WebInspector.ScopeBarItem.prototype.get label):
2667         (WebInspector.ScopeBarItem.prototype.get exclusive):
2668         (WebInspector.ScopeBarItem.prototype.setSelected):
2669         (WebInspector.ScopeBarItem.prototype._clicked):
2670         (WebInspector.ScopeBarItem.prototype.get element): Deleted.
2671         (WebInspector.ScopeBarItem.prototype._markElementSelected): Deleted.
2672         Cleaned up and modernized a bit.
2673
2674 2015-05-29  Tobias Reiss  <tobi+webkit@basecode.de>
2675
2676         Web Inspector: Activity Viewer does not update on "clear all console messages"
2677         https://bugs.webkit.org/show_bug.cgi?id=144681
2678
2679         Reviewed by Joseph Pecoraro.
2680
2681         Do not apply "ignoreDidClearMessages" hack on "Clear log" Button and Context menu.
2682
2683         * UserInterface/Views/LogContentView.js:
2684         (WebInspector.LogContentView.prototype._sessionStarted):
2685         (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages):
2686         (WebInspector.LogContentView.prototype._clearLog): Deleted.
2687
2688 2015-05-29  Matt Baker  <mattbaker@apple.com>
2689
2690         Web Inspector: Remove unused expandTreeElementsWhenArrowing property from TreeOutline
2691         https://bugs.webkit.org/show_bug.cgi?id=145470
2692
2693         Reviewed by Joseph Pecoraro.
2694
2695         * UserInterface/Views/TreeOutline.js:
2696         (WebInspector.TreeOutline.prototype._treeKeyDown):
2697         Replaced uses of removed property with boolean literal.
2698
2699 2015-05-29  Joseph Pecoraro  <pecoraro@apple.com>
2700
2701         Web Inspector: Tabs should have Context Menus
2702         https://bugs.webkit.org/show_bug.cgi?id=144208
2703
2704         Reviewed by Timothy Hatcher.
2705
2706         Give non-pinned tabs "Close Tab" and "Close Other Tabs" context
2707         menu items to affect other non-pinned tabs.
2708
2709         * Localizations/en.lproj/localizedStrings.js:
2710         * UserInterface/Views/TabBarItem.js:
2711         (WebInspector.TabBarItem):
2712         (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab):
2713         (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs):
2714         (WebInspector.TabBarItem.prototype._handleContextMenuEvent):
2715
2716 2015-05-29  Matt Baker  <mattbaker@apple.com>
2717
2718         Web Inspector: Restoring the last selected DOM node fails on reload (DOMAgent: No node with given path found)
2719         https://bugs.webkit.org/show_bug.cgi?id=144231
2720
2721         Reviewed by Timothy Hatcher.
2722
2723         Removed _restoreSelectedNodeIsAllowed flag from DOMTreeContentView. The frontend receives two documentUpdated
2724         events from the DOM Agent during page reload, and the flag was preventing DOMTreeContentView from restoring
2725         the previous selection in response to the second event.
2726
2727         * UserInterface/Views/DOMTreeContentView.js:
2728         (WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
2729         (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
2730
2731 2015-05-28  Nikita Vasilyev  <nvasilyev@apple.com>
2732
2733         Web Inspector: Update toolbar styles
2734         https://bugs.webkit.org/show_bug.cgi?id=145419
2735
2736         Also, use hairline borders (1 phisical pixel) on retina (DPI >= 2).
2737
2738         Reviewed by Timothy Hatcher.
2739
2740         * UserInterface/Views/ButtonToolbarItem.css:
2741         (.toolbar .item.button): Deleted.
2742         (.toolbar.icon-and-label-vertical .item.button): Deleted.
2743         (.toolbar.icon-and-label-horizontal .item.button): Deleted.
2744         (.toolbar .item.button > .glyph): Deleted.
2745         (.toolbar.small-size .item.button > .glyph): Deleted.
2746         * UserInterface/Views/DashboardContainerView.css:
2747         (.toolbar .dashboard-container): Deleted.
2748         (.toolbar.collapsed .dashboard-container): Deleted.
2749         (.toolbar.small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
2750         (.toolbar .dashboard.slide-out-down): Deleted.
2751         (.toolbar .dashboard.slide-in-up): Deleted.
2752         * UserInterface/Views/Toolbar.css:
2753         (.toolbar .search-bar > input[type="search"]):
2754         (.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
2755         (body:not(.unknown-mac) .toolbar .dashboard-container):
2756         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
2757         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus):
2758         (body:not(.unknown-mac) .toolbar .item.button:active):
2759         (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container):
2760         (body.unknown-mac .toolbar .dashboard-container):
2761         (body.unknown-mac .toolbar .search-bar > input[type="search"]):
2762         (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus):
2763         (@media (-webkit-min-device-pixel-ratio: 2)):
2764         (body.unknown-mac .toolbar .item.button:active):
2765         (body.unknown-mac.window-inactive .toolbar .dashboard-container):
2766
2767 2015-05-28  Devin Rousso  <drousso@apple.com>
2768
2769         Web Inspector: Jump from a computed style to the rule it came from
2770         https://bugs.webkit.org/show_bug.cgi?id=120640
2771
2772         Reviewed by Timothy Hatcher.
2773
2774         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2775         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
2776         If the delegate of CSSStyleDeclarationTextEditor has cssStyleDeclarationTextEditorShouldAddPropertyGoToArrows set to true, add a goToArrow to all CSS property entries.
2777         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
2778         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.hasMatchingLonghandProperty):
2779         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty):
2780         Determines if a given CSS property is in the CSS style section and if so, select that CSS property, focus on the section containing that CSS property, and return true.
2781         * UserInterface/Views/CSSStyleDeclarationSection.js:
2782         (WebInspector.CSSStyleDeclarationSection.prototype.highlightProperty):
2783         Searches through the properties of the section for a given property and scrolls to it if found.
2784         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2785         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
2786         Switches to the rulesStyleDetailsPanel and scrolls to and hightlights a given property in that panel.
2787         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
2788         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2789         Moved this function out of _navigationItemSelected for better reusablity.
2790         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2791         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
2792         Function that calls the delegate (which should be CSSStyleDetailsSidebarPanel) function computedStyleDetailsPanelShowProperty.
2793         * UserInterface/Views/RulesStyleDetailsPanel.js:
2794         (WebInspector.RulesStyleDetailsPanel):
2795         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
2796         (WebInspector.RulesStyleDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
2797         Searches through all the sections of the RulesStyleDetailsPanel for a given CSS property.
2798         (WebInspector.RulesStyleDetailsPanel.prototype.shown):
2799         (WebInspector.RulesStyleDetailsPanel.prototype.hidden):
2800         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
2801         Added a flag to this function that will highlight and scroll to a given property (_propertyToSelectAndHighlight) if set on load.
2802         * UserInterface/Views/StyleDetailsPanel.js:
2803         (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
2804         (WebInspector.StyleDetailsPanel.prototype.nodeStylesRefreshed):
2805         Made into protected function to allow it to be overridden.
2806         (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Deleted.
2807
2808 2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>
2809
2810         Web Inspector: Should have a keyboard shortcut to switch between inspector tabs
2811         https://bugs.webkit.org/show_bug.cgi?id=144207
2812
2813         Reviewed by Timothy Hatcher.
2814
2815         These keyboard shortcuts work well in an undocked inspector window.
2816         Be careful that some keyboard shortcuts, when used inside a text
2817         editor / text field are just text actions. However, some keyboard
2818         shortcuts will work no matter where you trigger them.
2819
2820         * UserInterface/Models/KeyboardShortcut.js:
2821         * UserInterface/Views/TabBar.js:
2822         (WebInspector.TabBar.prototype.selectPreviousTab):
2823         (WebInspector.TabBar.prototype.selectNextTab):
2824         * UserInterface/Views/TabBrowser.js:
2825         (WebInspector.TabBrowser):
2826         (WebInspector.TabBrowser.prototype._showPreviousTab):
2827         (WebInspector.TabBrowser.prototype._showNextTab):
2828
2829 2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>
2830
2831         Web Inspector: NewTabContentView should update button disabled state as other tabs are added/removed
2832         https://bugs.webkit.org/show_bug.cgi?id=145448
2833
2834         Reviewed by Timothy Hatcher.
2835
2836         * UserInterface/Views/NewTabContentView.js:
2837         (WebInspector.NewTabContentView):
2838         Always add a click listener and add the type as a private property on the element.
2839
2840         (WebInspector.NewTabContentView.prototype.shown):
2841         (WebInspector.NewTabContentView.prototype.hidden):
2842         Add / remove event listeners for tab changes. Also update the view when shown.
2843         
2844         (WebInspector.NewTabContentView.prototype._createNewTab):
2845         A disabled button an now be clicked. Do nothing if a new tab of this type is not allowed.
2846
2847         (WebInspector.NewTabContentView.prototype._updateTabItems):
2848         Refresh the disabled state for each of the buttons.
2849
2850 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2851
2852         Web Inspector: Show Page Source does not switch to Resources tab if inspector was closed
2853         https://bugs.webkit.org/show_bug.cgi?id=145423
2854
2855         Reviewed by Timothy Hatcher.
2856
2857         * UserInterface/Base/Main.js:
2858         (WebInspector._frameWasAdded.delayedWork):
2859         (WebInspector._frameWasAdded):
2860         In the special case where we are holding to show a frame's source code when
2861         the frame becomes available (_frameIdentifierToShowSourceCodeWhenAvailable)
2862         we should be forcing to show the tab.
2863
2864 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2865
2866         Web Inspector: Toggling an inherited property sometimes stops working
2867         https://bugs.webkit.org/show_bug.cgi?id=145416
2868
2869         Reviewed by Timothy Hatcher.
2870
2871         * UserInterface/Models/DOMNodeStyles.js:
2872         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
2873         Ensure we update the existing model objects with the new state information
2874         before possibly bailing. This may produce changed events that update
2875         parts of the inspector appropriately.
2876
2877 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2878
2879         Web Inspector: REGRESSION(r179286) Editing Style Metrics Values no longer works
2880         https://bugs.webkit.org/show_bug.cgi?id=143164
2881
2882         Reviewed by Brian Burg.
2883
2884         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2885         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
2886         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
2887         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle):
2888         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode):
2889         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
2890         Make it so editing in the metrics pane just evaluates elem.style.setProperty
2891         on the inspected page. Use "!important" to try and give the maximum priority
2892         possible, which is a change from older behavior. Finally, refresh the sidebar
2893         to update all values, and update the UI if bad input didn't change styles.
2894
2895 2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>
2896
2897         Web Inspector: Function parameter string parsing improperly handles empty parameter list
2898         https://bugs.webkit.org/show_bug.cgi?id=145391
2899
2900         Reviewed by Darin Adler.
2901
2902         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2903         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
2904
2905 2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>
2906
2907         Web Inspector: Add Array.prototype.copyWithin parameter list
2908         https://bugs.webkit.org/show_bug.cgi?id=145388
2909
2910         Reviewed by Darin Adler.
2911
2912         * UserInterface/Models/NativeFunctionParameters.js:
2913
2914 2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>
2915
2916         Web Inspector: focus outline of a search field should have a radius
2917         https://bugs.webkit.org/show_bug.cgi?id=145383
2918
2919         Add a focus outline animation to roughly mimic the default focus outline of OS X.
2920
2921         Reviewed by Timothy Hatcher.
2922
2923         * UserInterface/Views/Toolbar.css:
2924         (.toolbar .search-bar > input[type="search"]):
2925         -webkit-focus-ring-color doesn't follow element's curvature (e.g. border-radius)
2926         and it cannot be animated. Replace it with box-shadow.
2927
2928         (.toolbar .search-bar > input[type="search"]:focus):
2929
2930 2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>
2931
2932         Web Inspector: The bottom part "debugger" is clipped in the tab’s title
2933         https://bugs.webkit.org/show_bug.cgi?id=145381
2934
2935         Reviewed by Timothy Hatcher.
2936
2937         * UserInterface/Views/TabBar.css:
2938         (.tab-bar > .item):
2939         Set line-height to fit "debugger". Setting line-height to 16px, which is the
2940         size of the tabs icons, moves the text one pixel up, so set it to 15px.
2941
2942 2015-05-26  Dan Bernstein  <mitz@apple.com>
2943
2944         <rdar://problem/21104551> Update build settings
2945
2946         Reviewed by Anders Carlsson.
2947
2948         * Configurations/Base.xcconfig:
2949         * Configurations/DebugRelease.xcconfig:
2950         * Configurations/Version.xcconfig:
2951
2952 2015-05-23  Dan Bernstein  <mitz@apple.com>
2953
2954         Remove unused definitions of WEBKIT_VERSION_MIN_REQUIRED
2955         https://bugs.webkit.org/show_bug.cgi?id=145345
2956
2957         Reviewed by Sam Weinig.
2958
2959         * Configurations/Base.xcconfig:
2960
2961 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2962
2963         Web Inspector: Remove code related with unused style classes
2964         https://bugs.webkit.org/show_bug.cgi?id=145332
2965
2966         Reviewed by Timothy Hatcher.
2967
2968         * UserInterface/Views/ConsoleMessageView.js:
2969         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
2970         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
2971         The "type-string" class has no styles associated with it. So the entire span can be removed.
2972
2973         * UserInterface/Views/DOMTreeElement.js:
2974         Both of these style classes have no styles associated with them. Remove the class names.
2975
2976 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2977
2978         Web Inspector: Improve native parameter lists a bit
2979         https://bugs.webkit.org/show_bug.cgi?id=145338
2980
2981         Reviewed by Timothy Hatcher.
2982
2983         * UserInterface/Models/NativeFunctionParameters.js:
2984         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2985         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
2986
2987 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2988
2989         Web Inspector: Update CSS Autocompletion properties and values
2990         https://bugs.webkit.org/show_bug.cgi?id=145341
2991
2992         Reviewed by Timothy Hatcher.
2993
2994         * UserInterface/Models/CSSKeywordCompletions.js:
2995
2996 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
2997
2998         Web Inspector: Adopt Object.setPrototypeOf
2999         https://bugs.webkit.org/show_bug.cgi?id=145335
3000
3001         Reviewed by Timothy Hatcher.
3002
3003         For a case that won't easily move to ES6 classes use Object.setPrototypeOf.
3004
3005         * UserInterface/Protocol/InspectorBackend.js:
3006         (InspectorBackend.Command.create):
3007
3008 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
3009
3010         Web Inspector: Inline use once class names and remove some unused class names
3011         https://bugs.webkit.org/show_bug.cgi?id=145334
3012
3013         Reviewed by Timothy Hatcher.
3014
3015         * UserInterface/Views/ApplicationCacheFrameContentView.js:
3016         (WebInspector.ApplicationCacheFrameContentView):
3017         * UserInterface/Views/BoxModelDetailsSectionRow.js:
3018         (WebInspector.BoxModelDetailsSectionRow):
3019         * UserInterface/Views/CSSStyleDeclarationSection.js:
3020         (WebInspector.CSSStyleDeclarationSection):
3021         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3022         (WebInspector.CSSStyleDetailsSidebarPanel):
3023         * UserInterface/Views/ClusterContentView.js:
3024         (WebInspector.ClusterContentView):
3025         * UserInterface/Views/CompletionSuggestionsView.js:
3026         (WebInspector.CompletionSuggestionsView):
3027         * UserInterface/Views/ConsolePrompt.js:
3028         (WebInspector.ConsolePrompt):
3029         * UserInterface/Views/ContentBrowser.js:
3030         (WebInspector.ContentBrowser):
3031         * UserInterface/Views/ContentFlowTreeElement.js:
3032         (WebInspector.ContentFlowTreeElement):
3033         * UserInterface/Views/ContentView.js:
3034         (WebInspector.ContentView):
3035         * UserInterface/Views/ContentViewContainer.js:
3036         (WebInspector.ContentViewContainer):
3037         * UserInterface/Views/CookieStorageContentView.js:
3038         (WebInspector.CookieStorageContentView):
3039         * UserInterface/Views/CookieStorageTreeElement.js:
3040         (WebInspector.CookieStorageTreeElement):
3041         * UserInterface/Views/DOMStorageContentView.js:
3042         (WebInspector.DOMStorageContentView):
3043         * UserInterface/Views/DOMTreeContentView.js:
3044         (WebInspector.DOMTreeContentView):
3045         * UserInterface/Views/DashboardView.js:
3046         (WebInspector.DashboardView):
3047         * UserInterface/Views/DatabaseTableContentView.js:
3048         (WebInspector.DatabaseTableContentView):
3049         * UserInterface/Views/DebuggerDashboardView.js:
3050         (WebInspector.DebuggerDashboardView):
3051         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
3052         * UserInterface/Views/DetailsSection.js:
3053         (WebInspector.DetailsSection):
3054         * UserInterface/Views/DetailsSectionSimpleRow.js:
3055         * UserInterface/Views/FontResourceContentView.js:
3056         (WebInspector.FontResourceContentView):
3057         (WebInspector.FontResourceContentView.prototype.createMetricElement):
3058         (WebInspector.FontResourceContentView.prototype.contentAvailable):
3059         * UserInterface/Views/HierarchicalPathComponent.js:
3060         (WebInspector.HierarchicalPathComponent):
3061         (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows):
3062         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
3063         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
3064         (WebInspector.LayoutTimelineOverviewGraph):
3065         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
3066         (WebInspector.NetworkTimelineOverviewGraph):
3067         * UserInterface/Views/OverviewTimelineView.js:
3068         * UserInterface/Views/ProbeSetDetailsSection.js:
3069         * UserInterface/Views/QuickConsole.js:
3070         * UserInterface/Views/ReplayDashboardView.js:
3071         * UserInterface/Views/ScriptContentView.js:
3072         (WebInspector.ScriptContentView):
3073         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
3074         (WebInspector.ScriptTimelineOverviewGraph):
3075         * UserInterface/Views/TextContentView.js:
3076         (WebInspector.TextContentView):
3077         * UserInterface/Views/TimelineOverview.js:
3078         (WebInspector.TimelineOverview):
3079         * UserInterface/Views/TimelineOverviewGraph.js:
3080         (WebInspector.TimelineOverviewGraph):
3081         * UserInterface/Views/TimelineRecordBar.js:
3082         (WebInspector.TimelineRecordBar):
3083         * UserInterface/Views/TimelineRecordFrame.js:
3084         (WebInspector.TimelineRecordFrame):
3085         * UserInterface/Views/TimelineRecordingContentView.js:
3086         (WebInspector.TimelineRecordingContentView):
3087         * UserInterface/Views/TimelineRuler.js:
3088         (WebInspector.TimelineRuler):
3089         (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
3090
3091 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
3092
3093         Web Inspector: DOMTree Keyboard Shortcut 'H' to toggle element visibility is not working
3094         https://bugs.webkit.org/show_bug.cgi?id=145331
3095
3096         Reviewed by Brian Burg.
3097
3098         We no longer have CSSProperty.value setters. Instead of attempting
3099         to toggle and clobber inline style values on the element we:
3100         
3101           1. inject a <style> on the page like ".WebInspectorHide { visibility:hidden }"
3102           2. toggle the WebInspectorHide class on the selected element
3103
3104         This approach is inspired by the original WebKit change in the
3105         old inspector frontend: <https://webkit.org/b/110641>.
3106
3107         The old approach toggled a few properties (opacity and pointer events)
3108         while the new approach uses visibility, matching other browsers.
3109
3110         * UserInterface/Views/DOMTreeOutline.js:
3111         (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass):
3112         (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode):
3113         (WebInspector.DOMTreeOutline.prototype._hideElement):
3114         (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Deleted.
3115
3116 2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>
3117
3118         Web Inspector: Give Toolbar buttons an active style
3119         https://bugs.webkit.org/show_bug.cgi?id=145292
3120
3121         Reviewed by Timothy Hatcher.
3122
3123         * UserInterface/Views/ButtonToolbarItem.css:
3124         (.toolbar .item.button:active):
3125
3126 2015-05-21  Nikita Vasilyev  <nvasilyev@apple.com>
3127
3128         Web Inspector: Dashboard debugger information can be clipped
3129         https://bugs.webkit.org/show_bug.cgi?id=144209
3130
3131         Reviewed by Timothy Hatcher.
3132
3133         * UserInterface/Views/DashboardContainerView.css:
3134         (.toolbar .dashboard-container):
3135         Make dashboard flexible by using vw (viewport width units).
3136
3137         * UserInterface/Views/DefaultDashboardView.css:
3138         (.toolbar .dashboard.default):
3139         Center default dashboard icons in the middle, don't spread them along the dashboard.
3140
3141 2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>
3142
3143         Web Inspector: Improve the UI of the type profiler popover
3144         https://bugs.webkit.org/show_bug.cgi?id=140737
3145
3146         Reviewed by Timothy Hatcher.
3147
3148         Display TypeDescriptions in a Tree similiar to ObjectTrees.
3149         Currently the only information we have in a TypeDescription
3150         is the property names, and not their types, so all we can
3151         display in the tree are names.
3152
3153         * Localizations/en.lproj/localizedStrings.js:
3154         * UserInterface/Controllers/TypeTokenAnnotator.js:
3155         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
3156         * UserInterface/Main.html:
3157         * UserInterface/Models/ScriptSyntaxTree.js:
3158         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
3159         * UserInterface/Models/StructureDescription.js: Added.
3160         (WebInspector.StructureDescription):
3161         (WebInspector.StructureDescription.fromPayload):
3162         (WebInspector.StructureDescription.prototype.get fields):
3163         (WebInspector.StructureDescription.prototype.get optionalFields):
3164         (WebInspector.StructureDescription.prototype.get constructorName):
3165         (WebInspector.StructureDescription.prototype.get prototypeStructure):
3166         (WebInspector.StructureDescription.prototype.get imprecise):
3167         * UserInterface/Models/TypeDescription.js: Added.
3168         (WebInspector.TypeDescription):
3169         (WebInspector.TypeDescription.fromPayload):
3170         (WebInspector.TypeDescription.prototype.get leastCommonAncestor):
3171         (WebInspector.TypeDescription.prototype.get typeSet):
3172         (WebInspector.TypeDescription.prototype.get structures):
3173         (WebInspector.TypeDescription.prototype.get valid):
3174         (WebInspector.TypeDescription.prototype.get truncated):
3175         * UserInterface/Models/TypeSet.js:
3176         (WebInspector.TypeSet):
3177         (WebInspector.TypeSet.prototype.get primitiveTypeNames):
3178         * UserInterface/Views/ObjectTreeView.js:
3179         (WebInspector.ObjectTreeView.prototype._updateChildren):
3180         * UserInterface/Views/Section.css: Removed.
3181         * UserInterface/Views/Section.js: Removed.
3182         * UserInterface/Views/SourceCodeTextEditor.css:
3183         (.popover .expandable):
3184         * UserInterface/Views/SourceCodeTextEditor.js:
3185         (WebInspector.SourceCodeTextEditor):
3186         (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
3187         (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
3188         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
3189         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
3190         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
3191         * UserInterface/Views/TypePropertiesSection.js: Removed.
3192         * UserInterface/Views/TypeTokenView.js:
3193         (WebInspector.TypeTokenView):
3194         (WebInspector.TypeTokenView.titleForPopover):
3195         (WebInspector.TypeTokenView.prototype.update):
3196         (WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
3197         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
3198         (WebInspector.TypeTokenView.prototype._displayTypeName):
3199         * UserInterface/Views/TypeTreeElement.css: Added.
3200         (.type-tree-element):
3201         (.type-tree-element > .titles):
3202         (.type-tree-element > .disclosure-button):
3203         (.type-tree-element.parent > .disclosure-button):
3204         (.type-tree-element.parent.expanded > .disclosure-button):
3205         (.type-tree-element > .icon):
3206         (.type-tree-element.prototype):
3207         (.type-tree-element.prototype:focus):
3208         (.type-tree-element.prototype + ol):
3209         * UserInterface/Views/TypeTreeElement.js: Added.
3210         (WebInspector.TypeTreeElement):
3211         (WebInspector.TypeTreeElement.prototype.get name):
3212         (WebInspector.TypeTreeElement.prototype.get isPrototype):
3213         (WebInspector.TypeTreeElement.prototype.onpopulate):
3214         (WebInspector.TypeTreeElement.prototype.onexpand):
3215         * UserInterface/Views/TypeTreeView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/PropertiesSection.js.
3216         (.type-tree):
3217         (.type-tree-outline):
3218         (.type-tree-outline li):
3219         (.type-tree-outline ol):
3220         (.type-tree-outline ol.expanded):
3221         (.type-tree-outline li .empty-message):
3222         * UserInterface/Views/TypeTreeView.js: Added.
3223         (WebInspector.TypeTreeView):
3224         (WebInspector.TypeTreeView.prototype.get typeDescription):
3225         (WebInspector.TypeTreeView.prototype.get element):
3226         (WebInspector.TypeTreeView.prototype.get treeOutline):
3227         (WebInspector.TypeTreeView.prototype._populate):
3228
3229 2015-05-20  Joseph Pecoraro  <pecoraro@apple.com>
3230
3231         Web Inspector: Fix WebInspector.StackTrace style
3232         https://bugs.webkit.org/show_bug.cgi?id=145240
3233
3234         Reviewed by Timothy Hatcher.
3235
3236         * UserInterface/Models/StackTrace.js:
3237         Reorder and add our usual marker comments.
3238
3239 2015-05-19  Joseph Pecoraro  <pecoraro@apple.com>
3240
3241         Web Inspector: Improve Preview for NodeList / array like collections
3242         https://bugs.webkit.org/show_bug.cgi?id=145177
3243
3244         Reviewed by Timothy Hatcher.
3245
3246         * UserInterface/Views/ObjectPreviewView.js:
3247         (WebInspector.ObjectPreviewView.prototype._appendPreview):
3248         Show the class name for a non-basic-Array, but still hide
3249         it for a basic Array.
3250
3251 2015-05-19  Nikita Vasilyev  <nvasilyev@apple.com>
3252
3253         Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
3254         https://bugs.webkit.org/show_bug.cgi?id=144982
3255
3256         Reviewed by Joseph Pecoraro.
3257
3258         * UserInterface/Controllers/LogManager.js:
3259         * UserInterface/Main.html:
3260         * UserInterface/Models/CallFrame.js:
3261         (WebInspector.CallFrame.fromPayload):
3262         Consider an empty string url as a native code as it was in 
3263         WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame
3264
3265         * UserInterface/Models/ConsoleMessage.js:
3266         (WebInspector.ConsoleMessage):
3267         Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.
3268
3269         * UserInterface/Models/StackTrace.js: Added.
3270         (WebInspector.StackTrace):
3271         (WebInspector.StackTrace.prototype.get callFrames):
3272         (WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
3273         (WebInspector.StackTrace.fromPayload):
3274         * UserInterface/Test.html:
3275         * UserInterface/Views/CallFrameView.js:
3276         (WebInspector.CallFrameView):
3277         Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.
3278
3279         * UserInterface/Views/ConsoleMessageView.js:
3280         (WebInspector.ConsoleMessageView):
3281         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
3282         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
3283         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
3284         (WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
3285         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
3286         (WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.
3287
3288 2015-05-18  Joseph Pecoraro  <pecoraro@apple.com>
3289
3290         Web Inspector: Improve Reliability of Closing and Reopening Elements Tab