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