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