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