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