Web Inspector: Add PrettyPrinter CSS tests
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2014-10-04  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Add PrettyPrinter CSS tests
4         https://bugs.webkit.org/show_bug.cgi?id=134005
5
6         Reviewed by Timothy Hatcher.
7
8         Add CSS pretty printing tests. Improve pretty printing of calc()
9         expressions and media-queries with whitespace around operators
10         and keywords. Also fix the debug output in the tool for CSS.
11
12         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
13         * Tools/PrettyPrinting/FormatterContentBuilder.js:
14         (FormatterContentBuilder.prototype._appendIndent):
15         * Tools/PrettyPrinting/FormatterDebug.js:
16         (.debugToken):
17         (Formatter.prototype.debug):
18         * Tools/PrettyPrinting/css-tests/basic-expected.css: Added.
19         * Tools/PrettyPrinting/css-tests/basic.css: Added.
20         * Tools/PrettyPrinting/css-tests/calc-expected.css: Added.
21         * Tools/PrettyPrinting/css-tests/calc.css: Added.
22         * Tools/PrettyPrinting/css-tests/media-query-expected.css: Added.
23         * Tools/PrettyPrinting/css-tests/media-query.css: Added.
24         * Tools/PrettyPrinting/css-tests/selectors-expected.css: Added.
25         * Tools/PrettyPrinting/css-tests/selectors.css: Added.
26         * Tools/PrettyPrinting/index.html:
27         * UserInterface/Views/CodeMirrorFormatters.js:
28
29 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
30
31         Unreviewed, rolling out r174319.
32
33         Causes assertions in fast/profiler tests. Needs nontrivial
34         investigation, will take offline.
35
36         Reverted changeset:
37
38         "Web Inspector: timelines should not count time elapsed while
39         paused in the debugger"
40         https://bugs.webkit.org/show_bug.cgi?id=136351
41         http://trac.webkit.org/changeset/174319
42
43 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
44
45         Web Inspector: timelines should not count time elapsed while paused in the debugger
46         https://bugs.webkit.org/show_bug.cgi?id=136351
47
48         Reviewed by Timothy Hatcher.
49
50         Don't update the timeline's current time when the debugger is paused.
51
52         Start and end times for timeline records are now in seconds elapsed since timeline
53         recording started, rather than milliseconds since the epoch. Add a workaround to
54         preserve compatibility with old backends.
55
56         * UserInterface/Controllers/TimelineManager.js:
57         (WebInspector.TimelineManager.prototype.capturingStarted):
58         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
59         (WebInspector.TimelineManager.prototype.eventRecorded):
60         * UserInterface/Views/TimelineContentView.js:
61         (WebInspector.TimelineContentView.prototype._debuggerPaused):
62         (WebInspector.TimelineContentView.prototype._debuggerResumed):
63
64 2014-10-03  Saam Barati  <saambarati1@gmail.com>
65
66         Web Inspector: Move the computation that results in UI strings from JSC to the Web Inspector
67         https://bugs.webkit.org/show_bug.cgi?id=137295
68
69         Reviewed by Timothy Hatcher.
70
71         The inspector now computes a set of properties that was previously 
72         computed inside JSC. 
73
74         This patch also addresses the weird experience of the 
75         type of an expression claiming to be both a Number and 
76         an Integer. This could be a bit confusing because Number 
77         is supposed to represent Double|Integer and the previous
78         UI implied that Number was equivalent to Double. The new UI only 
79         ever shows either the type of Number or Integer when showing
80         the type information of an expression. It never shows both Number
81         and Integer simultaneously to describe a single expression.
82
83         * UserInterface/Models/TypeSet.js:
84         (WebInspector.TypeSet):
85         (WebInspector.TypeSet.prototype.isContainedIn):
86         (WebInspector.TypeSet.prototype.get primitiveTypeNames):
87         * UserInterface/Views/TypePropertiesSection.js:
88         (WebInspector.TypePropertiesSection):
89         (WebInspector.TypePropertiesSection.prototype.onpopulate):
90         * UserInterface/Views/TypeTokenView.js:
91         (WebInspector.TypeTokenView):
92         (WebInspector.TypeTokenView.prototype.update):
93         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
94         (WebInspector.TypeTokenView.prototype._displayTypeName):
95
96 2014-10-02  Joseph Pecoraro  <pecoraro@apple.com>
97
98         Web Inspector: Cannot add a new CSS Rule to elements with 3 or more class names
99         https://bugs.webkit.org/show_bug.cgi?id=137375
100
101         Reviewed by Timothy Hatcher.
102
103         Correctly merge all class names with dots instead of just the first two.
104
105         * UserInterface/Models/DOMNode.js:
106
107 2014-10-02  Mark Lam  <mark.lam@apple.com>
108
109         Fixed the Inspector to be able to properly distinguish between scope types.
110         <https://webkit.org/b/137279>
111
112         Reviewed by Geoffrey Garen and Joseph Pecoraro.
113
114         * Localizations/en.lproj/localizedStrings.js:
115         * UserInterface/Controllers/DebuggerManager.js:
116         * UserInterface/Models/ScopeChainNode.js:
117         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
118         - Added handling of the FunctionNameScope case.
119
120 2014-10-02  Andres Gomez  <agomez@igalia.com>
121
122         Web Inspector: [GTK] Missing icons and enhancing the proportion and visibility of some icons
123         https://bugs.webkit.org/show_bug.cgi?id=137248
124
125         Reviewed by Carlos Garcia Campos.
126
127         Add more free icons and removed some unused ones for the Web
128         Inspector in GTK+.
129         Also, enhanced the visibility and/or proportion of several of the
130         icons.
131
132         * UserInterface/Images/gtk/AUTHORS:
133         * UserInterface/Images/gtk/COPYING:
134         * UserInterface/Images/gtk/Checkers.svg: Added.
135         * UserInterface/Images/gtk/Circle.svg: Added.
136         * UserInterface/Images/gtk/CloseLarge.svg: Added.
137         * UserInterface/Images/gtk/CloseTimeline.png: Removed.
138         * UserInterface/Images/gtk/CloseTimeline@2x.png: Removed.
139         * UserInterface/Images/gtk/Crosshair.svg:
140         * UserInterface/Images/gtk/DOMCharacterData.svg:
141         * UserInterface/Images/gtk/DOMComment.svg:
142         * UserInterface/Images/gtk/DOMDocument.svg:
143         * UserInterface/Images/gtk/DOMDocumentType.svg:
144         * UserInterface/Images/gtk/DOMElement.svg:
145         * UserInterface/Images/gtk/DOMNode.svg:
146         * UserInterface/Images/gtk/DOMTextNode.svg:
147         * UserInterface/Images/gtk/DOMTree.svg:
148         * UserInterface/Images/gtk/EventListener.svg:
149         * UserInterface/Images/gtk/Exception.svg:
150         * UserInterface/Images/gtk/Function.svg:
151         * UserInterface/Images/gtk/GradientStop.png: Added.
152         * UserInterface/Images/gtk/GradientStop@2x.png: Added.
153         * UserInterface/Images/gtk/GradientStopSelected.png: Added.
154         * UserInterface/Images/gtk/GradientStopSelected@2x.png: Added.
155         * UserInterface/Images/gtk/Issues.svg:
156         * UserInterface/Images/gtk/IssuesEnabled.svg:
157         * UserInterface/Images/gtk/LessColumns.svg: Removed.
158         * UserInterface/Images/gtk/Logs.svg:
159         * UserInterface/Images/gtk/Memory.svg: Removed.
160         * UserInterface/Images/gtk/MoreColumns.svg: Removed.
161         * UserInterface/Images/gtk/Native.svg:
162         * UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
163         * UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
164         * UserInterface/Images/gtk/NavigationItemBug.svg:
165         * UserInterface/Images/gtk/NavigationItemFile.svg:
166         * UserInterface/Images/gtk/NavigationItemLayers.svg:
167         * UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Removed.
168         * UserInterface/Images/gtk/NavigationItemProbes.pdf: Added.
169         * UserInterface/Images/gtk/NavigationItemStopwatch.svg:
170         * UserInterface/Images/gtk/NavigationItemTypes.svg: Added.
171         * UserInterface/Images/gtk/PaintFlashing.svg: Added.
172         * UserInterface/Images/gtk/PseudoElement.svg:
173         * UserInterface/Images/gtk/Record.svg: Added.
174         * UserInterface/Images/gtk/Recording.png: Removed.
175         * UserInterface/Images/gtk/Recording@2x.png: Removed.
176         * UserInterface/Images/gtk/RecordingHovered.png: Removed.
177         * UserInterface/Images/gtk/RecordingHovered@2x.png: Removed.
178         * UserInterface/Images/gtk/RecordingStopped.png: Removed.
179         * UserInterface/Images/gtk/RecordingStopped@2x.png: Removed.
180         * UserInterface/Images/gtk/Reflection.svg:
181         * UserInterface/Images/gtk/ReplayPauseButton.svg: Added.
182         * UserInterface/Images/gtk/ReplayPlayButton.svg: Added.
183         * UserInterface/Images/gtk/ReplayRecordingButton.svg: Added.
184         * UserInterface/Images/gtk/Request.svg:
185         * UserInterface/Images/gtk/Resources.svg:
186         * UserInterface/Images/gtk/Response.svg:
187         * UserInterface/Images/gtk/ResultLine.svg:
188         * UserInterface/Images/gtk/SourceCode.svg:
189         * UserInterface/Images/gtk/Stop.svg: Added.
190         * UserInterface/Images/gtk/StyleRuleAuthor.svg:
191         * UserInterface/Images/gtk/StyleRuleInherited.svg:
192         * UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
193         * UserInterface/Images/gtk/StyleRuleInspector.svg:
194         * UserInterface/Images/gtk/StyleRuleUser.svg:
195         * UserInterface/Images/gtk/StyleRuleUserAgent.svg:
196         * UserInterface/Images/gtk/Time.svg:
197         * UserInterface/Images/gtk/TimelineRecordAnimation.svg:
198         * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Added.
199         * UserInterface/Images/gtk/TimelineRecordEvent.svg:
200         * UserInterface/Images/gtk/TimelineRecordLayout.svg:
201         * UserInterface/Images/gtk/TimelineRecordPaint.svg:
202         * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Added.
203         * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
204         * UserInterface/Images/gtk/TimelineRecordStyle.svg:
205         * UserInterface/Images/gtk/TimelineRecordTimer.svg:
206         * UserInterface/Images/gtk/Weight.svg:
207
208 2014-09-27  Brian J. Burg  <burg@cs.washington.edu>
209
210         Web Replay: Playback position updates should be sent before the next event loop input is dispatched
211         https://bugs.webkit.org/show_bug.cgi?id=137162
212
213         Reviewed by Timothy Hatcher.
214
215         Pausing playback from the UI was broken because of a typo. Fix this, and rename
216         stopPlayback to cancelPlayback.
217
218         * UserInterface/Controllers/ReplayManager.js:
219         (WebInspector.ReplayManager.prototype.switchSession.if):
220
221 2014-09-26  Joseph Pecoraro  <pecoraro@apple.com>
222
223         Web Inspector: Automatic Inspection should continue once all breakpoints are loaded
224         https://bugs.webkit.org/show_bug.cgi?id=137038
225
226         Reviewed by Timothy Hatcher.
227
228         * UserInterface/Base/Main.js:
229         Send the initialized message after we have sent all other setup messages,
230         such as enabling features and setting breakpoints.
231
232 2014-09-26  Saam Barati  <saambarati1@gmail.com>
233
234         Web Inspector: Type Token View shows type information on hover when it shouldn't
235         https://bugs.webkit.org/show_bug.cgi?id=137152
236
237         Reviewed by Brian J. Burg.
238
239         TypeTokenView should only show type information when there is 
240         more than one primitive type or more than zero objects types. 
241         This fixes a bug in checking the length of object types.
242
243         * UserInterface/Views/TypeTokenView.js:
244         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
245
246 2014-09-25  Timothy Hatcher  <timothy@apple.com>
247
248         Web Inspector: Show type info icon is blurry
249         https://bugs.webkit.org/show_bug.cgi?id=137125
250
251         Reviewed by Darin Adler.
252
253         * UserInterface/Images/NavigationItemTypes.svg:
254         * UserInterface/Views/ScriptContentView.js:
255         (WebInspector.ScriptContentView):
256         * UserInterface/Views/TextContentView.js:
257         (WebInspector.TextContentView):
258         * UserInterface/Views/TextResourceContentView.js:
259         (WebInspector.TextResourceContentView):
260
261 2014-09-25  Saam Barati  <saambarati1@gmail.com>
262
263         Web Inspector: console.assert(bitString) TypeSet:50 
264         https://bugs.webkit.org/show_bug.cgi?id=137051
265
266         Reviewed by Joseph Pecoraro.
267
268         This fixes TypeSet's isContainedIn method by ensuring that 
269         the type bit string isn't zero because the test would trivially 
270         pass if the bit string is zero.
271
272         * UserInterface/Models/TypeSet.js:
273         (WebInspector.TypeSet.prototype.isContainedIn):
274
275 2014-09-25  Brian J. Burg  <burg@cs.washington.edu>
276
277         Web Inspector: FunctionCall timeline records omit profile data if the debugger has paused
278         https://bugs.webkit.org/show_bug.cgi?id=136805
279
280         Reviewed by Timothy Hatcher.
281
282         * UserInterface/Test.html: Add missing include for ScopeChainNode.js.
283
284 2014-09-25  Brian J. Burg  <burg@cs.washington.edu>
285
286         Web Inspector: sort probe details sidebar sections by source code location string
287         https://bugs.webkit.org/show_bug.cgi?id=137080
288
289         Reviewed by Timothy Hatcher.
290
291         Probe sections should display in the same order as associated breakpoint tree elements.
292
293         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
294         (WebInspector.ProbeDetailsSidebarPanel.prototype.inspect.inspectedProbeSets):
295         (WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
296
297 2014-09-25  Andres Gomez  <agomez@igalia.com>
298
299         Unreviewed. Add more free icons for the Web Inspector in GTK+.
300
301         * UserInterface/Images/gtk/AUTHORS:
302         * UserInterface/Images/gtk/ApplicationCacheManifest.png: Added.
303         * UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Added.
304         * UserInterface/Images/gtk/COPYING:
305         * UserInterface/Images/gtk/COPYING_LGPL2: Added.
306         * UserInterface/Images/gtk/Cookie.png: Added.
307         * UserInterface/Images/gtk/Cookie@2x.png: Added.
308         * UserInterface/Images/gtk/HoverMenuButton.png: Added.
309         * UserInterface/Images/gtk/HoverMenuButton@2x.png: Added.
310         * UserInterface/Images/gtk/InstructionPointer.png: Added.
311         * UserInterface/Images/gtk/InstructionPointer@2x.png: Added.
312         * UserInterface/Images/gtk/Log.png: Added.
313         * UserInterface/Images/gtk/Log@2x.png: Added.
314         * UserInterface/Images/gtk/Profile.png: Added.
315         * UserInterface/Images/gtk/Profile@2x.png: Added.
316         * UserInterface/Images/gtk/Recording.png: Added.
317         * UserInterface/Images/gtk/Recording@2x.png: Added.
318         * UserInterface/Images/gtk/RecordingHovered.png: Added.
319         * UserInterface/Images/gtk/RecordingHovered@2x.png: Added.
320         * UserInterface/Images/gtk/RecordingStopped.png: Added.
321         * UserInterface/Images/gtk/RecordingStopped@2x.png: Added.
322         * UserInterface/Images/gtk/Script.png: Added.
323         * UserInterface/Images/gtk/Script@2x.png: Added.
324         * UserInterface/Images/gtk/ScriptLarge.png: Added.
325         * UserInterface/Images/gtk/ScriptLarge@2x.png: Added.
326         * UserInterface/Images/gtk/SliderThumb.png: Added.
327         * UserInterface/Images/gtk/SliderThumb@2x.png: Added.
328         * UserInterface/Images/gtk/SliderThumbPressed.png: Added.
329         * UserInterface/Images/gtk/SliderThumbPressed@2x.png: Added.
330         * UserInterface/Images/gtk/Stopwatch.png: Added.
331         * UserInterface/Images/gtk/Stopwatch@2x.png: Added.
332
333 2014-09-21  Timothy Hatcher  <timothy@apple.com>
334
335         Make the Web Inspector use a separate web process.
336
337         https://bugs.webkit.org/show_bug.cgi?id=135120
338
339         Reviewed by Anders Carlsson.
340
341         * Localizations/en.lproj/localizedStrings.js: Updated.
342
343         * UserInterface/Base/Main.js:
344         (WebInspector.loaded):
345         (WebInspector.contentLoaded):
346         Move InspectorFrontendHost.loaded to later in the load.
347         Calling it early just shows the window before we have
348         a user interface to show.
349
350         * UserInterface/Base/Test.js:
351         (WebInspector.loaded):
352         (WebInspector.contentLoaded):
353         Match the changes in Main.js.
354
355         * UserInterface/Protocol/InspectorFrontendAPI.js:
356         (InspectorFrontendAPI.savedURL): Change comment.
357         (InspectorFrontendAPI.appendedToURL): Change comment.
358         (InspectorFrontendAPI.dispatch): Add an assert and early
359         return to be safe from unknown commands.
360         (InspectorFrontendAPI.loadCompleted): Delete _pendingCommands,
361         no need to keep an empty array around a one time use.
362
363 2014-09-24  Andres Gomez  <agomez@igalia.com>
364
365         Unreviewed. Add more free icons for the Web Inspector in GTK+
366
367         * UserInterface/Images/gtk/AUTHORS:
368         * UserInterface/Images/gtk/ApplicationCache.png: Added.
369         * UserInterface/Images/gtk/ApplicationCache@2x.png: Added.
370         * UserInterface/Images/gtk/BottomUpTree.svg: Added.
371         * UserInterface/Images/gtk/Breakpoint.png: Added.
372         * UserInterface/Images/gtk/Breakpoint@2x.png: Added.
373         * UserInterface/Images/gtk/BreakpointButton.svg:
374         * UserInterface/Images/gtk/BreakpointInactive.png: Added.
375         * UserInterface/Images/gtk/BreakpointInactive@2x.png: Added.
376         * UserInterface/Images/gtk/BreakpointInactiveButton.svg:
377         * UserInterface/Images/gtk/COPYING:
378         * UserInterface/Images/gtk/COPYING_CCBYSA3: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/COPYING.
379         * UserInterface/Images/gtk/ClippingCSS.png: Added.
380         * UserInterface/Images/gtk/ClippingCSS@2x.png: Added.
381         * UserInterface/Images/gtk/ClippingGeneric.png: Added.
382         * UserInterface/Images/gtk/ClippingGeneric@2x.png: Added.
383         * UserInterface/Images/gtk/ClippingJS.png: Added.
384         * UserInterface/Images/gtk/ClippingJS@2x.png: Added.
385         * UserInterface/Images/gtk/CloseTimeline.png: Added.
386         * UserInterface/Images/gtk/CloseTimeline@2x.png: Added.
387         * UserInterface/Images/gtk/ColorIcon.png: Added.
388         * UserInterface/Images/gtk/ColorIcon@2x.png: Added.
389         * UserInterface/Images/gtk/Colors.png: Added.
390         * UserInterface/Images/gtk/Colors@2x.png: Added.
391         * UserInterface/Images/gtk/ColorsLarge.png: Added.
392         * UserInterface/Images/gtk/ColorsLarge@2x.png: Added.
393         * UserInterface/Images/gtk/Database.png: Added.
394         * UserInterface/Images/gtk/Database@2x.png: Added.
395         * UserInterface/Images/gtk/DatabaseTable.png: Added.
396         * UserInterface/Images/gtk/DatabaseTable@2x.png: Added.
397         * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Added.
398         * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Added.
399         * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Added.
400         * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Added.
401         * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Added.
402         * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Added.
403         * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Added.
404         * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Added.
405         * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Added.
406         * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Added.
407         * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Added.
408         * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Added.
409         * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Added.
410         * UserInterface/Images/gtk/Issues.svg: Added.
411         * UserInterface/Images/gtk/IssuesEnabled.svg: Added.
412         * UserInterface/Images/gtk/LayerBorders.svg: Added.
413         * UserInterface/Images/gtk/LessColumns.svg: Added.
414         * UserInterface/Images/gtk/LocalStorage.png: Added.
415         * UserInterface/Images/gtk/LocalStorage@2x.png: Added.
416         * UserInterface/Images/gtk/Locked.svg: Added.
417         * UserInterface/Images/gtk/Logs.svg: Added.
418         * UserInterface/Images/gtk/Memory.svg: Added.
419         * UserInterface/Images/gtk/MoreColumns.svg: Added.
420         * UserInterface/Images/gtk/Native.svg: Added.
421         * UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Added.
422         * UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Added.
423         * UserInterface/Images/gtk/NavigationItemBug.svg: Added.
424         * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Added.
425         * UserInterface/Images/gtk/NavigationItemFile.svg: Added.
426         * UserInterface/Images/gtk/NavigationItemLayers.svg: Added.
427         * UserInterface/Images/gtk/NavigationItemLog.svg: Added.
428         * UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Added.
429         * UserInterface/Images/gtk/NavigationItemStopwatch.svg: Added.
430         * UserInterface/Images/gtk/NavigationItemStorage.svg: Added.
431         * UserInterface/Images/gtk/NavigationItemTrash.svg: Added.
432         * UserInterface/Images/gtk/NavigationItemVariable.svg: Added.
433         * UserInterface/Images/gtk/Network.png: Added.
434         * UserInterface/Images/gtk/Network@2x.png: Added.
435         * UserInterface/Images/gtk/NetworkLarge.png: Added.
436         * UserInterface/Images/gtk/NetworkLarge@2x.png: Added.
437         * UserInterface/Images/gtk/Pause.svg: Added.
438         * UserInterface/Images/gtk/Percent.svg: Added.
439         * UserInterface/Images/gtk/Plus.svg: Added.
440         * UserInterface/Images/gtk/PseudoElement.svg: Added.
441         * UserInterface/Images/gtk/Reflection.svg: Added.
442         * UserInterface/Images/gtk/Reload.svg: Added.
443         * UserInterface/Images/gtk/Request.svg: Added.
444         * UserInterface/Images/gtk/Response.svg: Added.
445         * UserInterface/Images/gtk/ResultLine.svg: Added.
446         * UserInterface/Images/gtk/Resume.svg: Added.
447         * UserInterface/Images/gtk/SessionStorage.png: Added.
448         * UserInterface/Images/gtk/SessionStorage@2x.png: Added.
449         * UserInterface/Images/gtk/ShadowDOM.svg: Added.
450         * UserInterface/Images/gtk/SourceCode.svg: Added.
451         * UserInterface/Images/gtk/SplitToggleDown.svg: Added.
452         * UserInterface/Images/gtk/SplitToggleUp.svg: Added.
453         * UserInterface/Images/gtk/StepInto.svg: Added.
454         * UserInterface/Images/gtk/StepOut.svg: Added.
455         * UserInterface/Images/gtk/StepOver.svg: Added.
456         * UserInterface/Images/gtk/StyleRuleAuthor.svg: Added.
457         * UserInterface/Images/gtk/StyleRuleInherited.svg: Added.
458         * UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Added.
459         * UserInterface/Images/gtk/StyleRuleInspector.svg: Added.
460         * UserInterface/Images/gtk/StyleRuleUser.svg: Added.
461         * UserInterface/Images/gtk/StyleRuleUserAgent.svg: Added.
462         * UserInterface/Images/gtk/Time.svg: Added.
463         * UserInterface/Images/gtk/TimelineRecordAnimation.svg: Added.
464         * UserInterface/Images/gtk/TimelineRecordEvent.svg: Added.
465         * UserInterface/Images/gtk/TimelineRecordLayout.svg: Added.
466         * UserInterface/Images/gtk/TimelineRecordPaint.svg: Added.
467         * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Added.
468         * UserInterface/Images/gtk/TimelineRecordStyle.svg: Added.
469         * UserInterface/Images/gtk/TimelineRecordTimer.svg: Added.
470         * UserInterface/Images/gtk/Undock.svg: Added.
471         * UserInterface/Images/gtk/UserInputPrompt.svg: Added.
472         * UserInterface/Images/gtk/UserInputPromptPrevious.svg: Added.
473         * UserInterface/Images/gtk/UserInputResult.svg: Added.
474         * UserInterface/Images/gtk/Warning.svg: Added.
475         * UserInterface/Images/gtk/Weight.svg: Added.
476
477 2014-09-23  Timothy Hatcher  <timothy@apple.com>
478
479         Web Inspector: Remove UserInterface/Images/gtk from Apple builds
480         https://bugs.webkit.org/show_bug.cgi?id=136955
481
482         Reviewed by Joseph Pecoraro.
483
484         * Scripts/copy-user-interface-resources.pl:
485         Remove Images/Legacy and Images/gtk on Mac and Windows builds by looking
486         at the MAC_OS_X_VERSION_MAJOR and OFFICIAL_BUILD environment vars.
487
488 2014-09-21  Saam Barati  <saambarati1@gmail.com>
489
490         Web Inspector: fix TypeSet hierarchy in TypeTokenView
491         https://bugs.webkit.org/show_bug.cgi?id=136982
492
493         Reviewed by Joseph Pecoraro.
494
495         The protocol object representation of TypeSet was being computed 
496         incorrectly in JSC::TypeSet. This patch fixes that problem
497         and also asserts that the type information that the Web Inspector
498         receives is not empty.
499
500         * UserInterface/Models/TypeSet.js:
501         (WebInspector.TypeSet):
502         * UserInterface/Views/TypeTokenView.js:
503         (WebInspector.TypeTokenView.prototype._displayTypeName):
504
505 2014-09-21  Saam Barati  <saambarati1@gmail.com>
506
507         Web Inspector: unlocalized 'many' string in type profiler inline bubble
508         https://bugs.webkit.org/show_bug.cgi?id=136980
509
510         Reviewed by Timothy Hatcher.
511
512         Generate the localizable string for the type profiler's "many" inline bubble.
513
514         * Localizations/en.lproj/localizedStrings.js:
515         * UserInterface/Views/TypeTokenView.js:
516
517 2014-09-20  Joseph Pecoraro  <pecoraro@apple.com>
518
519         Web Inspector: Option+Click on CSS url(...) should jump to resource view
520         https://bugs.webkit.org/show_bug.cgi?id=136965
521
522         Reviewed by Timothy Hatcher.
523
524         * UserInterface/Views/CodeMirrorAdditions.js:
525         When parsing CSS url(...) tokens, the contents of url(...)
526         are a "string" type, not "atom".
527
528 2014-09-19  Daniel Bates  <dabates@apple.com>
529
530         Always assume internal SDK when building configuration Production
531         https://bugs.webkit.org/show_bug.cgi?id=136925
532         <rdar://problem/18362399>
533
534         Reviewed by Dan Bernstein.
535
536         * Configurations/DebugRelease.xcconfig: Also move #include of HaveInternalSDK.xcconfig from DebugRelease.xcconfig
537         to Base.xcconfig so as to be consistent with the format of other Base.xcconfig/DebugRelease.xcconfig files
538         (e.g. Source/WebCore/Configurations/Base.xcconfig and Source/WebCore/Configurations/DebugRelease.xcconfig).
539
540 2014-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
541
542         Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
543         https://bugs.webkit.org/show_bug.cgi?id=136632
544
545         Reviewed by Gustavo Noronha Silva.
546
547         Add free icons for the GTK port. These icons are from the GNOME
548         project, some of them adapted by Andres Gomez for the inspector.
549         This is only a subset of the icons, since we still don't have a
550         free replacement for all of them, but at least it makes the
551         inspector kind of usable.
552
553         * UserInterface/Images/gtk/AUTHORS: Added.
554         * UserInterface/Images/gtk/BackArrow.svg: Added.
555         * UserInterface/Images/gtk/BreakpointActionAdd.svg: Added.
556         * UserInterface/Images/gtk/BreakpointActionRemove.svg: Added.
557         * UserInterface/Images/gtk/BreakpointButton.svg: Added.
558         * UserInterface/Images/gtk/BreakpointInactiveButton.svg: Added.
559         * UserInterface/Images/gtk/Breakpoints.svg: Added.
560         * UserInterface/Images/gtk/COPYING: Added.
561         * UserInterface/Images/gtk/Close.svg: Added.
562         * UserInterface/Images/gtk/CloseWhite.svg: Added.
563         * UserInterface/Images/gtk/ContentFlow.svg: Added.
564         * UserInterface/Images/gtk/Crosshair.svg: Added.
565         * UserInterface/Images/gtk/DOMCharacterData.svg: Added.
566         * UserInterface/Images/gtk/DOMComment.svg: Added.
567         * UserInterface/Images/gtk/DOMDocument.svg: Added.
568         * UserInterface/Images/gtk/DOMDocumentType.svg: Added.
569         * UserInterface/Images/gtk/DOMElement.svg: Added.
570         * UserInterface/Images/gtk/DOMNode.svg: Added.
571         * UserInterface/Images/gtk/DOMTextNode.svg: Added.
572         * UserInterface/Images/gtk/DOMTree.svg: Added.
573         * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Added.
574         * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Added.
575         * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Added.
576         * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Added.
577         * UserInterface/Images/gtk/DockBottom.svg: Added.
578         * UserInterface/Images/gtk/DockRight.svg: Added.
579         * UserInterface/Images/gtk/DocumentCSS.png: Added.
580         * UserInterface/Images/gtk/DocumentCSS@2x.png: Added.
581         * UserInterface/Images/gtk/DocumentFont.png: Added.
582         * UserInterface/Images/gtk/DocumentFont@2x.png: Added.
583         * UserInterface/Images/gtk/DocumentGeneric.png: Added.
584         * UserInterface/Images/gtk/DocumentGeneric@2x.png: Added.
585         * UserInterface/Images/gtk/DocumentImage.png: Added.
586         * UserInterface/Images/gtk/DocumentImage@2x.png: Added.
587         * UserInterface/Images/gtk/DocumentJS.png: Added.
588         * UserInterface/Images/gtk/DocumentJS@2x.png: Added.
589         * UserInterface/Images/gtk/DocumentMarkup.png: Added.
590         * UserInterface/Images/gtk/DocumentMarkup@2x.png: Added.
591         * UserInterface/Images/gtk/DownloadArrow.svg: Added.
592         * UserInterface/Images/gtk/Error.svg: Added.
593         * UserInterface/Images/gtk/Errors.svg: Added.
594         * UserInterface/Images/gtk/ErrorsEnabled.svg: Added.
595         * UserInterface/Images/gtk/EventListener.svg: Added.
596         * UserInterface/Images/gtk/Exception.svg: Added.
597         * UserInterface/Images/gtk/FilterFieldGlyph.svg: Added.
598         * UserInterface/Images/gtk/FolderGeneric.png: Added.
599         * UserInterface/Images/gtk/FolderGeneric@2x.png: Added.
600         * UserInterface/Images/gtk/ForwardArrow.svg: Added.
601         * UserInterface/Images/gtk/Function.svg: Added.
602         * UserInterface/Images/gtk/GoToArrow.svg: Added.
603         * UserInterface/Images/gtk/Resources.svg: Added.
604         * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Added.
605         * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Added.
606         * UserInterface/Images/gtk/UpDownArrows.svg: Added.
607
608 2014-09-17  Joseph Pecoraro  <pecoraro@apple.com>
609
610         Web Inspector: Remove unnecessary prefixes in WebInspectorUI CSS
611         https://bugs.webkit.org/show_bug.cgi?id=136905
612
613         Reviewed by Timothy Hatcher.
614
615         Removed vendor prefixes from justify-content and a few lingering
616         occurances with transition, box-shadow, and display.
617
618         * UserInterface/Views/BreakpointActionView.css:
619         * UserInterface/Views/BreakpointTreeElement.css:
620         * UserInterface/Views/ButtonNavigationItem.css:
621         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
622         * UserInterface/Views/ControlToolbarItem.css:
623         * UserInterface/Views/DebuggerDashboardView.css:
624         * UserInterface/Views/DefaultDashboardView.css:
625         * UserInterface/Views/FontResourceContentView.css:
626         * UserInterface/Views/ImageResourceContentView.css:
627         * UserInterface/Views/LayerTreeSidebarPanel.css:
628         * UserInterface/Views/Main.css:
629         * UserInterface/Views/NavigationBar.css:
630         * UserInterface/Views/NavigationSidebarPanel.css:
631         * UserInterface/Views/Popover.css:
632         * UserInterface/Views/ReplayDashboardView.css:
633         * UserInterface/Views/Toolbar.css:
634
635 2014-09-17  Dean Jackson  <dino@apple.com>
636
637         WebInpector can use unprefixed flexbox
638         https://bugs.webkit.org/show_bug.cgi?id=136899
639
640         Reviewed by Joseph Pecoraro.
641
642         Now the inspector UI itself can use a non-prefixed flexbox. This was
643         a basic search and replace for the following properties:
644         - align-content
645         - align-items
646         - align-self
647         - flex-basis
648         - flex-direction
649         - flex-wrap
650         - flex-grow
651         - flex-shrink
652         - flex
653         - flex-flow
654         - justify
655
656         * UserInterface/Views/ButtonToolbarItem.css:
657         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
658         * UserInterface/Views/ContentBrowser.css:
659         * UserInterface/Views/ControlToolbarItem.css:
660         * UserInterface/Views/DebuggerDashboardView.css:
661         * UserInterface/Views/DefaultDashboardView.css:
662         * UserInterface/Views/FilterBar.css:
663         * UserInterface/Views/FlexibleSpaceNavigationItem.css:
664         * UserInterface/Views/FontResourceContentView.css:
665         * UserInterface/Views/HierarchicalPathComponent.css:
666         * UserInterface/Views/ImageResourceContentView.css:
667         * UserInterface/Views/LayerTreeSidebarPanel.css:
668         * UserInterface/Views/LogContentView.css:
669         * UserInterface/Views/Main.css:
670         * UserInterface/Views/NavigationBar.css:
671         * UserInterface/Views/NavigationSidebarPanel.css:
672         * UserInterface/Views/Popover.css:
673         * UserInterface/Views/QuickConsole.css:
674         * UserInterface/Views/ReplayDashboardView.css:
675         * UserInterface/Views/ResourceSidebarPanel.css:
676         * UserInterface/Views/Toolbar.css:
677
678 2014-09-16  Dean Jackson  <dino@apple.com>
679
680         Add unprefixed flexbox display values and property names/values
681         https://bugs.webkit.org/show_bug.cgi?id=136880
682         <rdar://problem/18361137>
683
684         Reviewed by Benjamin Poulain with some extra comments by Joseph Pecoraro.
685
686         * UserInterface/Models/CSSKeywordCompletions.js: Switch to all the unprefixed
687         flex properties.
688
689 2014-09-16  Joseph Pecoraro  <pecoraro@apple.com>
690
691         Web Inspector: Add Versioned Inspector protocol JSON files for iOS 8.0
692         https://bugs.webkit.org/show_bug.cgi?id=136873
693
694         Reviewed by Timothy Hatcher.
695
696         * Scripts/update-LegacyInspectorBackendCommands.rb:
697         * UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Added.
698         * UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js: Added.
699         * Versions/InspectorJS-iOS-8.0.json: Added.
700         * Versions/InspectorWeb-iOS-8.0.json: Added.
701
702 2014-09-16  Joseph Pecoraro  <pecoraro@apple.com>
703
704         Web Inspector: Fix ESLint no-extra-bind warnings
705         https://bugs.webkit.org/show_bug.cgi?id=136659
706
707         Reviewed by Timothy Hatcher.
708
709         * .eslintrc:
710         * UserInterface/Controllers/LayerTreeManager.js:
711         (WebInspector.LayerTreeManager.prototype.layersForNode):
712
713 2014-09-15  Matt Baker  <mattbaker@apple.com>
714
715         Web Inspector: mouse drifts away from resizer when resizing docked inspector
716         https://bugs.webkit.org/show_bug.cgi?id=22263
717
718         Reviewed by Joseph Pecoraro.
719
720         Modified the docked resizer dragging logic to record the initial mouse down position relative to the
721         resizer client rectangle. Added check while dragging the resizer to ensure that the cursor is positioned
722         correctly with respect to the resize direction before updating the attached window dimension.
723
724         * UserInterface/Base/Main.js:
725         (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
726
727 2014-09-11  Joseph Pecoraro  <pecoraro@apple.com>
728
729         Web Inspector: Fix assert in QuickConsole - main frame execution context path component
730         https://bugs.webkit.org/show_bug.cgi?id=136748
731
732         Reviewed by Timothy Hatcher.
733
734         This can get called for the MainFrame on page navigations.
735         In such cases we can return a better result from this method.
736
737         * UserInterface/Views/QuickConsole.js:
738         (WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
739
740 2014-09-11  Joseph Pecoraro  <pecoraro@apple.com>
741
742         Web Inspector: Hide DOM search result highlights when find banner is not showing
743         https://bugs.webkit.org/show_bug.cgi?id=136749
744
745         Reviewed by Timothy Hatcher.
746
747         Match search highlights in TextEditor by only showing the highlight
748         when the find banner is showing.
749
750         * UserInterface/Views/DOMTreeOutline.css:
751         (.showing-find-banner .dom-tree-outline .search-result):
752         (.dom-tree-outline .search-highlight): Deleted.
753
754 2014-09-11  Joseph Pecoraro  <pecoraro@apple.com>
755
756         Web Inspector: DOM Tree search highlights are not appearing
757         https://bugs.webkit.org/show_bug.cgi?id=136662
758
759         Reviewed by Timothy Hatcher.
760
761         When performing a search within the DOMTreeContentView all
762         search results should immediately highlight. When moving
763         between search results, emphasize the current with a bouncy.
764         Remember to remove the highlights when the search is changed
765         or cleared.
766
767         * UserInterface/Views/DOMTreeContentView.js:
768         (WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady):
769         (WebInspector.DOMTreeContentView.prototype.searchCleared):
770         Shor or hide highlights when searches change.
771
772         (WebInspector.DOMTreeContentView.prototype.revealResult):
773         (WebInspector.DOMTreeContentView.prototype._revealSearchResult):
774         Emphasize the highlight when moving to a new current result.
775
776         (WebInspector.DOMTreeContentView.prototype._showSearchHighlights):
777         (WebInspector.DOMTreeContentView.prototype._hideSearchHighlights):
778         On each affected DOMTreeElement show or hide search highlights.
779
780         * UserInterface/Views/DOMTreeElement.js:
781         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
782         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
783         Give a brief bouncy-highlight when told to emphasize the search highlight.
784
785         (WebInspector.DOMTreeElement.prototype.updateTitle):
786         Remove unused and unnecessary style class on each row.
787
788         (WebInspector.DOMTreeElement.prototype._highlightSearchResults):
789         Update the stale code to use new function names and accessors.
790
791         * UserInterface/Views/DOMTreeOutline.css:
792         (.dom-tree-outline .search-highlight):
793         Styles for the search highlight match search highlights in the sidebar.
794
795         * UserInterface/Views/Main.css:
796         (.bouncy-highlight):
797         * UserInterface/Views/TextEditor.css:
798         Move bouncy-highlight to Main.css.
799
800 2014-09-10  Saam Barati  <saambarati1@gmail.com>
801
802         Web Inspector: Modify the type profiler runtime protocol to transfer some computation into the WebInspector
803         https://bugs.webkit.org/show_bug.cgi?id=136500
804
805         Reviewed by Joseph Pecoraro.
806
807         This patch maintains the same UI in the Web Inspector for displaying
808         type information, but now accounts for the new protocol for type profiling.
809         
810         The Inspector now has a TypeSet class that wraps the TypeDescription 
811         protocol object and creates a simple interface for asking protocol objects 
812         about their type.
813
814         * UserInterface/Controllers/TypeTokenAnnotator.js:
815         (WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
816         * UserInterface/Main.html:
817         * UserInterface/Models/TypeSet.js: Added.
818         (WebInspector.TypeSet):
819         (WebInspector.TypeSet.fromPayload):
820         (WebInspector.TypeSet.prototype.isContainedIn):
821         * UserInterface/Views/SourceCodeTextEditor.js:
822         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
823         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
824         * UserInterface/Views/TypePropertiesSection.js:
825         (WebInspector.TypePropertiesSection.prototype.onpopulate):
826         (WebInspector.TypePropertyTreeElement.prototype.onpopulate):
827         * UserInterface/Views/TypeTokenView.js:
828         (WebInspector.TypeTokenView.prototype.update):
829         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
830         (WebInspector.TypeTokenView.prototype._displayTypeName):
831
832 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
833
834         Web Inspector: Eliminate typeof "undefined" checks
835         https://bugs.webkit.org/show_bug.cgi?id=136691
836
837         Reviewed by Alexey Proskuryakov.
838
839         * UserInterface/Base/Main.js:
840         (WebInspector.linkifyURLAsNode):
841         (WebInspector.linkifyStringAsFragment):
842         * UserInterface/Protocol/InspectorBackend.js:
843         (InspectorBackend.Command.prototype._invokeWithArguments):
844         * UserInterface/Views/DataGrid.js:
845         (WebInspector.DataGrid.prototype.get resizeMethod):
846         * UserInterface/Views/NavigationBar.js:
847         (WebInspector.NavigationBar.prototype.get minimumWidth):
848
849 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
850
851         Web Inspector: Fix obscure ESLint warnings and skip directories
852         https://bugs.webkit.org/show_bug.cgi?id=136686
853
854         Reviewed by Timothy Hatcher.
855
856         * .eslintignore: Added.
857         Skip directories we do not want ESLint to process.
858
859         * .eslintrc:
860         Add rules we've seen and sort sections.
861
862         * UserInterface/Controllers/FormatterContentBuilder.js:
863         (FormatterContentBuilder.prototype._appendIndent):
864         * UserInterface/Models/Color.js:
865         * UserInterface/Models/DOMNodeStyles.js:
866         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
867         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
868         * UserInterface/Views/DOMTreeDataGridNode.js:
869         * UserInterface/Views/DOMTreeElement.js:
870         (WebInspector.DOMTreeElement.prototype.ondelete):
871         (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
872         (WebInspector.DOMTreeElement.prototype._distinctClosingTagElement):
873         * UserInterface/Views/EditingSupport.js:
874         (WebInspector.EditingConfig):
875         * UserInterface/Views/LayerTreeDataGridNode.js:
876         (WebInspector.LayerTreeDataGridNode.prototype._makeOutlet):
877         * UserInterface/Views/TreeOutline.js:
878         (TreeOutline.prototype.appendChild):
879         (TreeOutline.prototype.insertChild):
880         (TreeOutline.prototype.removeChildAtIndex):
881         (TreeOutline.prototype.removeChild):
882         (TreeElement.prototype.expandRecursively):
883         Fix linter issues.
884
885 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
886
887         Web Inspector: Fix ESLint consistent-return warnings
888         https://bugs.webkit.org/show_bug.cgi?id=136682
889
890         Reviewed by Timothy Hatcher.
891
892         * .eslintrc:
893         * UserInterface/Controllers/BranchManager.js:
894         (WebInspector.BranchManager.prototype.createBranch):
895         * UserInterface/Controllers/FrameResourceManager.js:
896         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
897         * UserInterface/Models/DOMNodeStyles.js:
898         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
899         * UserInterface/Views/BoxModelDetailsSectionRow.js:
900         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
901         * UserInterface/Views/DOMTreeElement.js:
902         (WebInspector.DOMTreeElement.prototype.showChild):
903         (WebInspector.DOMTreeElement.prototype._startEditingTarget):
904         (WebInspector.DOMTreeElement.prototype._startEditing):
905         * UserInterface/Views/EditingSupport.js:
906         * UserInterface/Views/EventListenerSectionGroup.js:
907         (WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink):
908         * UserInterface/Views/FrameContentView.js:
909         (WebInspector.FrameContentView.prototype._showContentViewForIdentifier):
910         * UserInterface/Views/NavigationBar.js:
911         (WebInspector.NavigationBar.prototype.insertNavigationItem):
912         (WebInspector.NavigationBar.prototype.removeNavigationItem):
913         * UserInterface/Views/QuickConsole.js:
914         (WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
915         * UserInterface/Views/Sidebar.js:
916         (WebInspector.Sidebar.prototype.addSidebarPanel):
917         (WebInspector.Sidebar.prototype.removeSidebarPanel):
918         * UserInterface/Views/TextEditor.js:
919         (WebInspector.TextEditor.prototype.addStyleClassToLine):
920         (WebInspector.TextEditor.prototype.removeStyleClassFromLine):
921         (WebInspector.TextEditor.prototype.toggleStyleClassForLine):
922
923 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
924
925         Web Inspector: Fix ESLint no-undef warnings
926         https://bugs.webkit.org/show_bug.cgi?id=136660
927
928         Reviewed by Timothy Hatcher.
929
930         * UserInterface/Models/DOMSearchMatchObject.js:
931         (WebInspector.DOMSearchMatchObject.prototype._generateClassName):
932         (WebInspector.DOMSearchMatchObject.titleForDOMNode):
933         * UserInterface/Models/Gradient.js:
934         (WebInspector.Gradient.fromString):
935         * UserInterface/Views/CodeMirrorAdditions.js:
936         * UserInterface/Views/ReplayDashboardView.js:
937         (WebInspector.ReplayDashboardView):
938
939 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
940
941         Web Inspector: Remove unused Console search highlight methods
942         https://bugs.webkit.org/show_bug.cgi?id=136661
943
944         Reviewed by Timothy Hatcher.
945
946         ESLint's no-undef warning complained about some undefined references
947         in these functions that would have thrown exceptions. Turns out this
948         code is unused, and we do highlighting in the console separately.
949
950         * UserInterface/Views/ConsoleCommand.js:
951         (WebInspector.ConsoleCommand.prototype.clearHighlight): Deleted.
952         (WebInspector.ConsoleCommand.prototype.highlightSearchResults): Deleted.
953         (WebInspector.ConsoleCommand.prototype.matchesRegex): Deleted.
954         * UserInterface/Views/ConsoleMessageImpl.js:
955         (WebInspector.ConsoleMessageImpl.prototype.clearHighlight): Deleted.
956         (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults): Deleted.
957         (WebInspector.ConsoleMessageImpl.prototype.matchesRegex): Deleted.
958
959 2014-09-10  Joseph Pecoraro  <pecoraro@apple.com>
960
961         Web Inspector: Fix ESLint* no-avoidable-bind warnings
962         https://bugs.webkit.org/show_bug.cgi?id=136690
963
964         Reviewed by Timothy Hatcher.
965
966         * UserInterface/Protocol/RemoteObject.js:
967         (WebInspector.LocalJSONObject.prototype._children):
968         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
969         (WebInspector.CSSStyleDetailsSidebarPanel):
970         * UserInterface/Views/LayerTreeSidebarPanel.js:
971         (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):
972         * UserInterface/Views/LogContentView.js:
973         (WebInspector.LogContentView.prototype._filterMessages):
974         * UserInterface/Views/TextResourceContentView.js:
975         (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
976
977 2014-09-09  Benjamin Poulain  <bpoulain@apple.com>
978
979         Disable the "unreachable-code" warning
980         https://bugs.webkit.org/show_bug.cgi?id=136677
981
982         Reviewed by Darin Adler.
983
984         * Configurations/Base.xcconfig:
985
986 2014-09-08  Joseph Pecoraro  <pecoraro@apple.com>
987
988         Web Inspector: Fix ESLint no-trailing-spaces warnings
989         https://bugs.webkit.org/show_bug.cgi?id=136657
990
991         Reviewed by Andy Estes.
992
993         * .eslintrc:
994         * UserInterface/Base/DOMUtilities.js:
995         * UserInterface/Base/URLUtilities.js:
996         (relativePath):
997         * UserInterface/Base/Utilities.js:
998         * UserInterface/Controllers/CodeMirrorColorEditingController.js:
999         (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
1000         * UserInterface/Controllers/CodeMirrorDragToAdjustNumberController.js:
1001         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
1002         (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
1003         * UserInterface/Controllers/CodeMirrorEditingController.js:
1004         (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
1005         * UserInterface/Controllers/CodeMirrorGradientEditingController.js:
1006         (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
1007         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1008         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
1009         * UserInterface/Controllers/DragToAdjustController.js:
1010         (WebInspector.DragToAdjustController.prototype.set active):
1011         (WebInspector.DragToAdjustController.prototype._setDragging):
1012         (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
1013         * UserInterface/External/Esprima/esprima.js:
1014         * UserInterface/Models/ApplicationCacheFrame.js:
1015         (WebInspector.ApplicationCacheFrame):
1016         * UserInterface/Models/ApplicationCacheManifest.js:
1017         (WebInspector.ApplicationCacheManifest):
1018         (WebInspector.ApplicationCacheManifest.prototype.get manifestURL):
1019         * UserInterface/Models/CookieStorageObject.js:
1020         * UserInterface/Models/DOMSearchMatchObject.js:
1021         (WebInspector.DOMSearchMatchObject.prototype.get title):
1022         (WebInspector.DOMSearchMatchObject.titleForDOMNode):
1023         * UserInterface/Models/DatabaseObject.js:
1024         (WebInspector.DatabaseObject.prototype.getTableNames):
1025         * UserInterface/Models/DatabaseTableObject.js:
1026         (WebInspector.DatabaseTableObject):
1027         * UserInterface/Models/Gradient.js:
1028         (WebInspector.Gradient.fromString):
1029         (WebInspector.RadialGradient.prototype.toString):
1030         * UserInterface/Models/IssueMessage.js:
1031         (WebInspector.IssueMessage.prototype._formatTextIfNecessary):
1032         * UserInterface/Models/Resource.js:
1033         (WebInspector.Resource.prototype.getImageSize.imageDidLoad):
1034         (WebInspector.Resource.prototype.getImageSize):
1035         * UserInterface/Models/Script.js:
1036         (WebInspector.Script.prototype._makeSyntaxTree):
1037         * UserInterface/Models/SourceCodeLocation.js:
1038         (WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation):
1039         * UserInterface/Models/TextMarker.js:
1040         * UserInterface/Protocol/PageObserver.js:
1041         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
1042         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
1043         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh):
1044         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated):
1045         * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
1046         (WebInspector.ApplicationCacheFrameTreeElement):
1047         * UserInterface/Views/ApplicationCacheManifestTreeElement.js:
1048         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get name):
1049         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName):
1050         * UserInterface/Views/ButtonNavigationItem.js:
1051         (WebInspector.ButtonNavigationItem):
1052         * UserInterface/Views/ColorPicker.js:
1053         * UserInterface/Views/ColorWheel.js:
1054         (WebInspector.ColorWheel.prototype._draw):
1055         * UserInterface/Views/CompletionSuggestionsView.js:
1056         (WebInspector.CompletionSuggestionsView.prototype.show):
1057         * UserInterface/Views/ConsoleCommand.js:
1058         * UserInterface/Views/ConsolePrompt.js:
1059         * UserInterface/Views/ContentFlowTreeElement.js:
1060         * UserInterface/Views/CookieStorageTreeElement.js:
1061         (WebInspector.CookieStorageTreeElement):
1062         * UserInterface/Views/EventListenerSectionGroup.js:
1063         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
1064         * UserInterface/Views/GeneralTreeElementPathComponent.js:
1065         * UserInterface/Views/GoToLineDialog.js:
1066         (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
1067         * UserInterface/Views/LayerTreeDataGridNode.js:
1068         (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
1069         * UserInterface/Views/LayerTreeSidebarPanel.js:
1070         * UserInterface/Views/LogContentView.js:
1071         (WebInspector.LogContentView.prototype._highlightRanges):
1072         * UserInterface/Views/NavigationBar.js:
1073         (WebInspector.NavigationBar):
1074         * UserInterface/Views/NavigationItem.js:
1075         (WebInspector.NavigationItem):
1076         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1077         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
1078         * UserInterface/Views/ScopeBar.js:
1079         * UserInterface/Views/ScopeBarItem.js:
1080         (WebInspector.ScopeBarItem):
1081         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1082         (WebInspector.ScopeChainDetailsSidebarPanel):
1083         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1084         (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
1085         * UserInterface/Views/ScriptTreeElement.js:
1086         (WebInspector.ScriptTreeElement):
1087         * UserInterface/Views/SearchBar.js:
1088         * UserInterface/Views/SearchResultTreeElement.js:
1089         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
1090         * UserInterface/Views/Slider.js:
1091
1092 2014-09-09  Joseph Pecoraro  <pecoraro@apple.com>
1093
1094         Web Inspector: Fix ESLint eqeqeq warnings
1095         https://bugs.webkit.org/show_bug.cgi?id=136658
1096
1097         Reviewed by Andy Estes.
1098
1099         * UserInterface/Controllers/DOMTreeManager.js:
1100         (WebInspector.DOMTreeManager.prototype.mycallback):
1101         (WebInspector.DOMTreeManager.prototype.searchResult):
1102         * UserInterface/Models/Breakpoint.js:
1103         (WebInspector.Breakpoint.prototype.clearActions):
1104         * UserInterface/Models/DOMTree.js:
1105         (WebInspector.DOMTree.prototype._requestRootDOMNode.rootObjectAvailable):
1106         (WebInspector.DOMTree.prototype._requestRootDOMNode.rootDOMNodeAvailable):
1107         (WebInspector.DOMTree.prototype._requestRootDOMNode.dispatchCallbacks):
1108         (WebInspector.DOMTree.prototype._requestRootDOMNode):
1109         * UserInterface/Models/ProbeSet.js:
1110         (WebInspector.ProbeSet.prototype.removeProbe):
1111         * UserInterface/Models/ProbeSetDataTable.js:
1112         (WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
1113         * UserInterface/Views/CodeMirrorAdditions.js:
1114         * UserInterface/Views/CookieStorageContentView.js:
1115         (WebInspector.CookieStorageContentView.prototype._filterCookies):
1116         (WebInspector.cookieMatchesResourceURL):
1117         * UserInterface/Views/DOMStorageContentView.js:
1118         (WebInspector.DOMStorageContentView.prototype._editingCallback):
1119         * UserInterface/Views/DOMTreeElement.js:
1120         (WebInspector.DOMTreeElement):
1121         (WebInspector.DOMTreeElement.prototype._updateChildren):
1122         (WebInspector.DOMTreeElement.prototype._startEditingTarget):
1123         (WebInspector.DOMTreeElement.prototype._textNodeEditingCommitted):
1124         * UserInterface/Views/DataGrid.js:
1125         (WebInspector.DataGrid.prototype._resizerDragging):
1126         * UserInterface/Views/DatabaseContentView.js:
1127         (WebInspector.DatabaseContentView.prototype._queryError):
1128         * UserInterface/Views/DetailsSectionSimpleRow.js:
1129         (.valueElementClicked):
1130         (WebInspector.DetailsSectionSimpleRow):
1131         * UserInterface/Views/Slider.js:
1132         (WebInspector.Slider.prototype.get _maxX):
1133         * UserInterface/Views/TreeOutline.js:
1134         (TreeElement.prototype.expand):
1135
1136 2014-09-09  Jono Wells  <jonowells@apple.com>
1137
1138         Web Inspector: Fix ESLint no-extra-semi
1139         https://bugs.webkit.org/show_bug.cgi?id=136666
1140
1141         Reviewed by Andy Estes.
1142
1143         Add explicit no-extra-semi rule to .eslintrc. Remove all unnecessary
1144         semicolons as identified by ESLint.
1145
1146         * .eslintrc:
1147         * Tools/PrettyPrinting/Formatter.js:
1148         (Formatter):
1149         * UserInterface/Controllers/Formatter.js:
1150         (Formatter):
1151         * UserInterface/Models/Resource.js:
1152         (WebInspector.Resource.prototype.getImageSize.imageDidLoad):
1153         (WebInspector.Resource.prototype.getImageSize):
1154         * UserInterface/Views/LayerTreeSidebarPanel.js:
1155         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
1156         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
1157         * UserInterface/Views/ObjectPropertiesSection.js:
1158         (WebInspector.ObjectPropertyTreeElement.prototype.callback):
1159         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1160
1161 2014-09-09  Jono Wells  <jonowells@apple.com>
1162
1163         Web Inspector: Fix ESLint semi (missing semicolon)
1164         https://bugs.webkit.org/show_bug.cgi?id=136665
1165
1166         Reviewed by Andy Estes.
1167
1168         Add missing semicolons as identified by ESLint. Add explicit semi rule to .eslintrc.
1169
1170         * .eslintrc:
1171         * Tools/PrettyPrinting/FormatterContentBuilder.js:
1172         * Tools/PrettyPrinting/FormatterDebug.js:
1173         (Formatter.prototype.debug):
1174         * UserInterface/Base/DOMUtilities.js:
1175         * UserInterface/Base/EventListener.js:
1176         (WebInspector.EventListener):
1177         (WebInspector.EventListener.prototype.this._callback):
1178         (WebInspector.EventListener.prototype.connect):
1179         * UserInterface/Base/Object.js:
1180         (WebInspector.Object):
1181         (WebInspector.Object.addConstructorFunctions):
1182         (WebInspector.Event):
1183         * UserInterface/Base/URLUtilities.js:
1184         (WebInspector.displayNameForURL):
1185         (WebInspector.displayNameForHost):
1186         * UserInterface/Base/Utilities.js:
1187         (.):
1188         * UserInterface/Controllers/BranchManager.js:
1189         (WebInspector.BranchManager):
1190         * UserInterface/Controllers/CSSStyleManager.js:
1191         (WebInspector.CSSStyleManager):
1192         * UserInterface/Controllers/CodeMirrorColorEditingController.js:
1193         (WebInspector.CodeMirrorColorEditingController):
1194         * UserInterface/Controllers/CodeMirrorEditingController.js:
1195         (WebInspector.CodeMirrorEditingController):
1196         * UserInterface/Controllers/CodeMirrorGradientEditingController.js:
1197         (WebInspector.CodeMirrorGradientEditingController):
1198         (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
1199         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1200         * UserInterface/Controllers/FormatterContentBuilder.js:
1201         * UserInterface/Controllers/FormatterSourceMap.js:
1202         (WebInspector.FormatterSourceMap.fromBuilder):
1203         * UserInterface/Controllers/IssueManager.js:
1204         (WebInspector.IssueManager):
1205         * UserInterface/Controllers/LogManager.js:
1206         (WebInspector.LogManager):
1207         * UserInterface/Models/BreakpointAction.js:
1208         * UserInterface/Models/CSSCompletions.js:
1209         (WebInspector.CSSCompletions):
1210         (WebInspector.CSSCompletions.requestCSSNameCompletions):
1211         * UserInterface/Models/CSSKeywordCompletions.js:
1212         (WebInspector.CSSKeywordCompletions.forProperty):
1213         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
1214         * UserInterface/Models/CSSStyleSheet.js:
1215         (WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers):
1216         * UserInterface/Models/Color.js:
1217         (WebInspector.Color):
1218         (WebInspector.Color.fromString):
1219         * UserInterface/Models/DOMNode.js:
1220         (WebInspector.DOMNode):
1221         * UserInterface/Models/DOMSearchMatchObject.js:
1222         (WebInspector.DOMSearchMatchObject.titleForDOMNode):
1223         * UserInterface/Models/ExecutionContext.js:
1224         (WebInspector.ExecutionContext.supported):
1225         * UserInterface/Models/Gradient.js:
1226         (WebInspector.LinearGradient):
1227         (WebInspector.LinearGradient.linearGradientWithComponents):
1228         (WebInspector.RadialGradient):
1229         (WebInspector.RadialGradient.radialGradientWithComponents):
1230         * UserInterface/Models/IssueMessage.js:
1231         (WebInspector.IssueMessage):
1232         * UserInterface/Models/ReplaySessionSegment.js:
1233         (WebInspector.IncompleteSessionSegment):
1234         * UserInterface/Models/Resource.js:
1235         (WebInspector.Resource.prototype.associateWithScript):
1236         * UserInterface/Models/Script.js:
1237         (WebInspector.Script.resetUniqueDisplayNameNumbers):
1238         * UserInterface/Models/Setting.js:
1239         (WebInspector.Setting):
1240         * UserInterface/Models/SourceCodePosition.js:
1241         (WebInspector.SourceCodePosition):
1242         * UserInterface/Models/SourceMap.js:
1243         (WebInspector.SourceMap):
1244         (WebInspector.SourceMap.StringCharIterator):
1245         * UserInterface/Models/TextMarker.js:
1246         (WebInspector.TextMarker):
1247         * UserInterface/Models/TextRange.js:
1248         (WebInspector.TextRange):
1249         * UserInterface/Protocol/InspectorFrontendHostStub.js:
1250         (.WebInspector.InspectorFrontendHostStub):
1251         * UserInterface/Protocol/MessageDispatcher.js:
1252         (WebInspector.dispatchNextQueuedMessageFromBackend):
1253         (WebInspector.dispatchMessageFromBackend):
1254         * UserInterface/Protocol/RemoteObject.js:
1255         (WebInspector.RemoteObject):
1256         (WebInspector.RemoteObject.fromPrimitiveValue):
1257         (WebInspector.RemoteObject.fromLocalObject):
1258         (WebInspector.RemoteObject.resolveNode):
1259         (WebInspector.RemoteObject.fromPayload):
1260         (WebInspector.RemoteObject.type):
1261         (WebInspector.RemoteObjectProperty):
1262         (WebInspector.RemoteObjectProperty.fromPrimitiveValue):
1263         (WebInspector.LocalJSONObject):
1264         * UserInterface/Protocol/ReplayObserver.js:
1265         (WebInspector.ReplayPosition.fromProtocol):
1266         * UserInterface/Views/BreakpointActionView.js:
1267         (WebInspector.BreakpointActionView.displayStringForType):
1268         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1269         (WebInspector.CSSStyleDeclarationTextEditor.prototype.if):
1270         * UserInterface/Views/ClusterContentView.js:
1271         (WebInspector.ClusterContentView.prototype.goBack):
1272         (WebInspector.ClusterContentView.prototype.goForward):
1273         * UserInterface/Views/CodeMirrorAdditions.js:
1274         * UserInterface/Views/ColorWheel.js:
1275         (WebInspector.ColorWheel):
1276         * UserInterface/Views/ConsoleMessage.js:
1277         (WebInspector.ConsoleMessage):
1278         (WebInspector.ConsoleMessage.create):
1279         * UserInterface/Views/ConsoleMessageImpl.js:
1280         (WebInspector.ConsoleMessageImpl):
1281         * UserInterface/Views/ContextMenu.js:
1282         (WebInspector.ContextMenuItem):
1283         (WebInspector.ContextSubMenuItem):
1284         (WebInspector.ContextMenu):
1285         (WebInspector.ContextMenu.Provider):
1286         (WebInspector.ContextMenu.registerProvider):
1287         (WebInspector.contextMenuItemSelected):
1288         (WebInspector.contextMenuCleared):
1289         * UserInterface/Views/DOMTreeElement.js:
1290         (WebInspector.DOMTreeElement):
1291         * UserInterface/Views/DOMTreeOutline.js:
1292         (WebInspector.DOMTreeOutline):
1293         * UserInterface/Views/DOMTreeUpdater.js:
1294         (WebInspector.DOMTreeUpdater):
1295         * UserInterface/Views/DatabaseContentView.js:
1296         (WebInspector.DatabaseContentView):
1297         * UserInterface/Views/EditingSupport.js:
1298         (WebInspector.isBeingEdited):
1299         (WebInspector.markBeingEdited):
1300         (WebInspector.isEditingAnyField):
1301         (WebInspector.isEventTargetAnEditableField):
1302         (WebInspector.EditingConfig):
1303         (WebInspector.startEditing):
1304         * UserInterface/Views/EventListenerSection.js:
1305         (WebInspector.EventListenerSection):
1306         * UserInterface/Views/EventListenerSectionGroup.js:
1307         (WebInspector.EventListenerSectionGroup):
1308         * UserInterface/Views/FindBanner.js:
1309         * UserInterface/Views/GeneralTreeElement.js:
1310         (WebInspector.GeneralTreeElement):
1311         * UserInterface/Views/GoToLineDialog.js:
1312         (WebInspector.GoToLineDialog):
1313         * UserInterface/Views/IndeterminateProgressSpinner.js:
1314         (WebInspector.IndeterminateProgressSpinner):
1315         * UserInterface/Views/LayoutTimelineDataGrid.js:
1316         (WebInspector.LayoutTimelineDataGrid):
1317         * UserInterface/Views/LogContentView.js:
1318         (WebInspector.LogContentView):
1319         * UserInterface/Views/NavigationItem.js:
1320         * UserInterface/Views/ObjectPropertiesSection.js:
1321         (WebInspector.ObjectPropertiesSection):
1322         (WebInspector.ObjectPropertiesSection.CompareProperties):
1323         (WebInspector.ObjectPropertyTreeElement):
1324         * UserInterface/Views/ProbeSetDetailsSection.js:
1325         * UserInterface/Views/PropertiesSection.js:
1326         (WebInspector.PropertiesSection):
1327         * UserInterface/Views/ResourceTreeElement.js:
1328         (WebInspector.ResourceTreeElement.compareResourceTreeElements):
1329         (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
1330         * UserInterface/Views/ScriptTimelineDataGrid.js:
1331         (WebInspector.ScriptTimelineDataGrid):
1332         * UserInterface/Views/SearchResultTreeElement.js:
1333         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
1334         * UserInterface/Views/TimelineRuler.js:
1335         (WebInspector.TimelineRuler):
1336         (WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
1337         (WebInspector.TimelineRuler.prototype._handleMouseUp):
1338         * UserInterface/Views/Toolbar.js:
1339         * UserInterface/Views/TreeOutline.js:
1340         (TreeOutline.prototype.appendChild):
1341         (TreeOutline.prototype.insertChild):
1342         (TreeOutline.prototype.removeChildAtIndex):
1343         (TreeOutline.prototype.removeChild):
1344         (TreeOutline.prototype.removeChildren):
1345         (TreeOutline.prototype.removeChildrenRecursive):
1346         (TreeOutline.prototype._rememberTreeElement):
1347         (TreeOutline.prototype._forgetTreeElement):
1348         (TreeOutline.prototype._forgetChildrenRecursive):
1349         (TreeOutline.prototype.getCachedTreeElement):
1350         (TreeOutline.prototype.findTreeElement):
1351         (TreeOutline.prototype._treeElementDidChange):
1352         (TreeOutline.prototype.treeElementFromPoint):
1353         (TreeOutline.prototype._treeKeyDown):
1354         (TreeOutline.prototype.expand):
1355         (TreeOutline.prototype.collapse):
1356         (TreeOutline.prototype.revealed):
1357         (TreeOutline.prototype.reveal):
1358         (TreeOutline.prototype.select):
1359         (TreeOutline.prototype.revealAndSelect):
1360         (TreeElement.prototype._attach):
1361         (TreeElement.prototype._detach):
1362         (TreeElement.treeElementMouseDown):
1363         (TreeElement.treeElementToggled):
1364         (TreeElement.treeElementDoubleClicked):
1365         (TreeElement.prototype.collapse):
1366         (TreeElement.prototype.collapseRecursively):
1367         (TreeElement.prototype.expand):
1368         (TreeElement.prototype.expandRecursively):
1369         (TreeElement.prototype.hasAncestor):
1370         (TreeElement.prototype.reveal):
1371         (TreeElement.prototype.revealed):
1372         (TreeElement.prototype.selectOnMouseDown):
1373         (TreeElement.prototype.select):
1374         (TreeElement.prototype.revealAndSelect):
1375         (TreeElement.prototype.deselect):
1376         (TreeElement.prototype.onpopulate):
1377         (TreeElement.prototype.traverseNextTreeElement):
1378         (TreeElement.prototype.traversePreviousTreeElement):
1379         (TreeElement.prototype.isEventWithinDisclosureTriangle):
1380         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
1381         (WebInspector.TreeOutlineDataGridSynchronizer):
1382
1383 2014-09-08  Joseph Pecoraro  <pecoraro@apple.com>
1384
1385         Web Inspector: Inspector frequently restores wrong view when opened (often Timelines instead of Resource)
1386         https://bugs.webkit.org/show_bug.cgi?id=135965
1387
1388         Reviewed by Timothy Hatcher.
1389
1390         There were numerous subtle race conditions in state restoration.
1391         This patch intends to fix a number of them to get what feels
1392         like sane behavior for selected sidebar state restoration.
1393
1394         1. Starting a Timeline recording no longer automatically switches to the TimelineContentView.
1395         This was making every reload switch to Timelines. If you had
1396         a resource selected (e.g. the DOM Tree) we should go back
1397         to showing the DOM tree.
1398
1399         2. Background sidebars should not reveal and select tree elements.
1400         This was making resources get selected in Timelines when reloading the page
1401         because the background Resources sidebar was restoring selection of the resource.
1402         That is an unexpected selection and breaks the experience of Timelines.
1403
1404         3. ContentView changes during page navigation / reload should not be saved, and improve Resource restoration.
1405         If a TimelineContentView was in the ContentBrowser back/forward history,
1406         a reload with a resource selected in the Resources sidebar would end up
1407         showing the Timelines sidebar. This was because when ContentViews are
1408         closed during the navigation, the ContentBrowser would fall back to the
1409         remaining TimelineContentView and switch to its only allowed sidebar
1410         (Timelines). ResourceSidebarPanel, knowing a resource was selected,
1411         would select the MainFrame intending to stay in the Resource sidebar,
1412         but the resource is okay with showing in any sidebar, so we stay on Timelines.
1413
1414         4. Resource sidebar state restoration should propertly restore selection.
1415         On reload, state restoration would know the resource to re-select in the
1416         Resources sidebar. As ResourceTreeElements are added to the sidebar
1417         they are checked against the state restoration cookie. If they match,
1418         they would select the element and delete the cookie. Unfortunately,
1419         if this was the first TreeElement child being added to a FrameTreeElement,
1420         the FrameTreeElement onpopulate would remove all children and re-add
1421         them in a unique way. Unfortunately this means the TreeElement we
1422         selected based on the cookie, immediately got thrown away and recreated,
1423         and we no longer reveal and select it. This is a special case for
1424         FrameTreeElements which use the onpopulate SPI. So, instead of starting
1425         processing the new element queue, if this is the first time just trigger
1426         the onpopulate and elements are made just once.
1427
1428         5. Show Error Console triggering early, could have unexpected sidebar behavior.
1429         Opening Web Inspector directly to the console can run before
1430         WebInspector.contentLoaded (DOMContentLoaded). So in that case
1431         WebInspector.showFullHeightConsole was not handling if the contentBrowser
1432         had no content view yet, and the sidebar might be-reopened later on
1433         in contentLoaded based on the setting value.
1434
1435         6. Improve automatic resource selection for sidebars with multiple tree outlines.
1436         Selecting a call frame tree element was unexpectedly changing the
1437         selection to a Resource where the breakpoint was set. This was
1438         because we were only looking at one of potentially many content
1439         tree outlines in the sidebar to see if there was a user action.
1440         
1441         * UserInterface/Base/Main.js:
1442         (WebInspector.contentLoaded):
1443         (WebInspector.showFullHeightConsole):
1444         (WebInspector.toggleConsoleView):
1445         (WebInspector._mainResourceDidChange):
1446         (WebInspector._provisionalLoadStarted):
1447         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
1448         (WebInspector._updateCookieForInspectorViewState):
1449         (WebInspector._contentBrowserCurrentContentViewDidChange):
1450         * UserInterface/Views/NavigationSidebarPanel.js:
1451         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
1452         * UserInterface/Views/ResourceSidebarPanel.js:
1453         (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
1454         (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
1455         * UserInterface/Views/TimelineSidebarPanel.js:
1456         (WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
1457
1458 2014-09-08  Matt Baker  <mattbaker@apple.com>
1459
1460         Web Inspector: Add layout test for lowercase CSSProperty names
1461         https://bugs.webkit.org/show_bug.cgi?id=135961
1462
1463         Reviewed by Joseph Pecoraro.
1464
1465         Modified test components to support testing CSSStyleManager and related classes:
1466         - Added required models to Test.html
1467         - Added CSSCompletions initialization to Test.js
1468         - CSSCompletions doesn't assume presence of CodeMirror.
1469
1470         * UserInterface/Base/Test.js:
1471         (WebInspector.loaded):
1472         * UserInterface/Models/CSSCompletions.js:
1473         * UserInterface/Test.html:
1474
1475 2014-09-08  Matt Baker  <mattbaker@apple.com>
1476
1477         Web Inspector: Fixes to layout test infrastructure
1478         https://bugs.webkit.org/show_bug.cgi?id=136360
1479
1480         Reviewed by Joseph Pecoraro.
1481
1482         Added missing includes to Test.html, which was breaking tests that
1483         depended on SourceCodeLocation and LazySourceCodeLocation. Also fixed
1484         bug which prevented test results from being resent after reloading the
1485         page under test.
1486
1487         * UserInterface/Base/Test.js:
1488         (InspectorTest.reloadPage):
1489         * UserInterface/Test.html:
1490
1491 2014-09-07  Timothy Hatcher  <timothy@apple.com>
1492
1493         Use a <circle> instead of a <path> in DownloadArrow.svg.
1494         https://bugs.webkit.org/show_bug.cgi?id=136608
1495
1496         Reviewed by Antoine Quint.
1497
1498         * UserInterface/Images/DownloadArrow.svg:
1499         * UserInterface/Views/TreeElementStatusButton.css:
1500         (.item > .status > .status-button > svg .filled):
1501         (body.mac-platform.legacy .item > .status > .status-button > svg .filled):
1502         (:focus .item.selected > .status > .status-button > svg .filled):
1503         (.item > .status > .status-button > svg .stroked):
1504         (body.mac-platform.legacy .item > .status > .status-button > svg .stroked):
1505         (:focus .item.selected > .status > .status-button > svg .stroked):
1506         Tweak CSS selectors to apply to other shapes, not just path.
1507
1508 2014-09-06  Darin Adler  <darin@apple.com>
1509
1510         Make updates suggested by new version of Xcode
1511         https://bugs.webkit.org/show_bug.cgi?id=136603
1512
1513         Reviewed by Mark Rowe.
1514
1515         * Configurations/Base.xcconfig: Added CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_CONSTANT_CONVERSION,
1516         CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
1517         CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH, ENABLE_STRICT_OBJC_MSGSEND,
1518         GCC_WARN_UNDECLARED_SELECTOR, and GCC_WARN_UNUSED_FUNCTION as suggested by Xcode update check.
1519         Also removed duplicate GCC_WARN_UNUSED_VARIABLE line.
1520
1521         * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
1522
1523 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
1524
1525         LegacyProfiler: remove redundant ProfileNode members and other cleanup
1526         https://bugs.webkit.org/show_bug.cgi?id=136380
1527
1528         Reviewed by Timothy Hatcher.
1529
1530         Remove unused Profile.idleTime member.
1531
1532         * UserInterface/Models/Profile.js:
1533         (WebInspector.Profile.prototype.get idleTime): Deleted.
1534         * UserInterface/Models/ScriptTimelineRecord.js:
1535         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
1536
1537 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
1538
1539         Web Inspector: remove ProfilerAgent and legacy profiler files in the frontend
1540         https://bugs.webkit.org/show_bug.cgi?id=136462
1541
1542         Reviewed by Timothy Hatcher.
1543
1544         The legacy profiler manager didn't do anything, and its views and models
1545         have been superseded by new views and models based on the Timeline classes.
1546
1547         * .eslintrc:
1548         * UserInterface/Base/Main.js:
1549         (WebInspector.loaded):
1550         (WebInspector.openURL): Remove profile URL handling code.
1551         * UserInterface/Controllers/LegacyProfileManager.js: Removed.
1552         * UserInterface/Main.html:
1553         * UserInterface/Protocol/ConsoleObserver.js:
1554         (WebInspector.ConsoleObserver.prototype.messageAdded):
1555         * UserInterface/Protocol/InspectorFrontendAPI.js:
1556         (InspectorFrontendAPI.isProfilingJavaScript): Deleted.
1557         (InspectorFrontendAPI.startProfilingJavaScript): Deleted.
1558         (InspectorFrontendAPI.stopProfilingJavaScript): Deleted.
1559         * UserInterface/Protocol/LegacyProfilerObserver.js: Removed.
1560         * UserInterface/Views/LegacyBottomUpProfileDataGridTree.js: Removed.
1561         * UserInterface/Views/LegacyJavaScriptProfileObject.js: Removed.
1562         * UserInterface/Views/LegacyJavaScriptProfileType.js: Removed.
1563         * UserInterface/Views/LegacyJavaScriptProfileView.css: Removed.
1564         * UserInterface/Views/LegacyJavaScriptProfileView.js: Removed.
1565         * UserInterface/Views/LegacyProfileDataGridTree.js: Removed.
1566         * UserInterface/Views/LegacyProfileObject.js: Removed.
1567         * UserInterface/Views/LegacyProfileType.js: Removed.
1568         * UserInterface/Views/LegacyProfileView.css: Removed.
1569         * UserInterface/Views/LegacyProfileView.js: Removed.
1570         * UserInterface/Views/LegacyTopDownProfileDataGridTree.js: Removed.
1571
1572 2014-08-29  Saam Barati  <saambarati1@gmail.com>
1573
1574         Web Inspector: Create a UI for displaying JavaScript type information
1575         https://bugs.webkit.org/show_bug.cgi?id=135142
1576
1577         Reviewed by Joseph Pecoraro.
1578
1579         JavaScriptCore now has a type profiler. This patch provides a frontend
1580         user interface for displaying this type information in the Web Inspector.
1581         The user interface works by placing inline "type tokens" next to important
1582         JavaScript expressions: function arguments, function return types, and 
1583         variable declarations. Type information can also be seen for almost every
1584         JavaScipt expression just by hovering over it while viewing a JavaScript file.
1585
1586         Currently, turning on the type profiler is expensive, so the inspector
1587         ensures to never turn on type profiling until the user specifically asks 
1588         for type information to be turned on.
1589
1590         * UserInterface/Base/Main.js:
1591         (WebInspector.loaded):
1592         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1593         (WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
1594         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
1595         Added a new type profiling mode.
1596
1597         * UserInterface/Controllers/FormatterSourceMap.js:
1598         (WebInspector.FormatterSourceMap.prototype.originalToFormatted):
1599         (WebInspector.FormatterSourceMap.prototype.originalPositionToFormatted):
1600         (WebInspector.FormatterSourceMap.prototype.formattedToOriginal):
1601         (WebInspector.FormatterSourceMap.prototype.formattedToOriginalOffset):
1602         * UserInterface/Controllers/TypeTokenAnnotator.js: Added.
1603         (WebInspector.TypeTokenAnnotator):
1604         (WebInspector.TypeTokenAnnotator.prototype.get isActive):
1605         (WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor):
1606         (WebInspector.TypeTokenAnnotator.prototype.pause):
1607         (WebInspector.TypeTokenAnnotator.prototype.resume):
1608         (WebInspector.TypeTokenAnnotator.prototype.refresh):
1609         (WebInspector.TypeTokenAnnotator.prototype.reset):
1610         (WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
1611         (WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.):
1612         (WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
1613         (WebInspector.TypeTokenAnnotator.prototype._insertToken):
1614         (WebInspector.TypeTokenAnnotator.prototype.isLineTerminator):
1615         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
1616         (WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded):
1617         This class is responsible for producing the inline "type token" annotations.
1618
1619         * UserInterface/Images/NavigationItemTypes.svg: Added.
1620         * UserInterface/Main.html:
1621         * UserInterface/Models/Script.js:
1622         (WebInspector.Script.prototype.get scriptSyntaxTree):
1623         * UserInterface/Models/ScriptSyntaxTree.js:
1624         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
1625         (WebInspector.ScriptSyntaxTree.prototype.):
1626         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
1627         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1628         * UserInterface/Views/ScriptContentView.js:
1629         (WebInspector.ScriptContentView):
1630         (WebInspector.ScriptContentView.prototype.get navigationItems):
1631         (WebInspector.ScriptContentView.prototype._contentDidPopulate):
1632         (WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
1633         (WebInspector.ScriptContentView.prototype._showJavaScriptTypeInformationSettingChanged):
1634         * UserInterface/Views/SourceCodeTextEditor.js:
1635         (WebInspector.SourceCodeTextEditor):
1636         (WebInspector.SourceCodeTextEditor.prototype.shown):
1637         (WebInspector.SourceCodeTextEditor.prototype.hidden):
1638         (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
1639         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1640         (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
1641         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
1642         (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
1643         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
1644         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
1645         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
1646         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
1647         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
1648         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
1649         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
1650         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
1651         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
1652         (WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
1653         (WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForTypeTokenAnnotator):
1654         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
1655         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
1656         * UserInterface/Views/TextContentView.js:
1657         (WebInspector.TextContentView.prototype.get navigationItems):
1658         * UserInterface/Views/TextEditor.js:
1659         (WebInspector.TextEditor.prototype.set formatted):
1660         (WebInspector.TextEditor.prototype.canShowTypeAnnotations):
1661         (WebInspector.TextEditor.prototype.visibleRangeOffsets):
1662         (WebInspector.TextEditor.prototype.originalOffsetToCurrentPosition):
1663         (WebInspector.TextEditor.prototype.currentOffsetToCurrentPosition):
1664         (WebInspector.TextEditor.prototype.currentPositionToOriginalOffset):
1665         (WebInspector.TextEditor.prototype.currentPositionToCurrentOffset):
1666         (WebInspector.TextEditor.prototype.setInlineWidget):
1667         (WebInspector.TextEditor.prototype.addScrollHandler):
1668         (WebInspector.TextEditor.prototype.removeScrollHandler):
1669         (WebInspector.TextEditor.prototype._scrollIntoViewCentered):
1670         * UserInterface/Views/TextResourceContentView.js:
1671         (WebInspector.TextResourceContentView):
1672         (WebInspector.TextResourceContentView.prototype.get navigationItems):
1673         (WebInspector.TextResourceContentView.prototype._contentDidPopulate):
1674         (WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
1675         (WebInspector.TextResourceContentView.prototype._showJavaScriptTypeInformationSettingChanged):
1676         * UserInterface/Views/TypePropertiesSection.js: Added.
1677         (WebInspector.TypePropertiesSection):
1678         (WebInspector.TypePropertiesSection.prototype.onpopulate):
1679         (WebInspector.TypePropertiesSection.PropertyComparator):
1680         (WebInspector.TypePropertyTreeElement):
1681         (WebInspector.TypePropertyTreeElement.prototype.onpopulate):
1682         * UserInterface/Views/TypeTokenView.css: Added.
1683         (.type-token):
1684         (.type-token-left-spacing):
1685         (.type-token-right-spacing):
1686         (.type-token-function, .type-token-boolean):
1687         (.type-token-number):
1688         (.type-token-string):
1689         (.type-token-default):
1690         (.type-token-empty):
1691         (.type-token-many):
1692         * UserInterface/Views/TypeTokenView.js: Added.
1693         (WebInspector.TypeTokenView):
1694         (WebInspector.TypeTokenView.titleForPopover):
1695         (WebInspector.TypeTokenView.prototype.update):
1696         (WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
1697         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
1698         The inline "type token" view.
1699
1700 2014-08-29  Saam Barati  <sbarati@apple.com>
1701
1702         Web Inspector: Fix how Popover animates
1703         https://bugs.webkit.org/show_bug.cgi?id=136353
1704
1705         Reviewed by Timothy Hatcher.
1706
1707         Popovers currently don't animate properly because they use 
1708         window.requestAnimationFrame which won't fire its callback 
1709         while the inspector is paused in the debugger. This patches
1710         switches the callback mechanism to setTimeout and also changes
1711         how a Popover's anchor animates to prevent visual glitches.
1712
1713         Popover also has a new function that allows a new target
1714         frame and new content to be set simultaneously and to
1715         animate to show the new content while changing the 
1716         location of the popover frame.
1717
1718         SourceCodeTextEditor uses Popover's new API for animating
1719         between popovers when paused in the debugger. SourceCodeTextEditor 
1720         also now ensures proper balancing of popover tracking event 
1721         listeners.
1722
1723         * UserInterface/Views/Popover.js:
1724         (WebInspector.Popover.prototype.present):
1725         (WebInspector.Popover.prototype.presentNewContentWithFrame):
1726         (WebInspector.Popover.prototype.dismiss):
1727         (WebInspector.Popover.prototype._update):
1728         (WebInspector.Popover.prototype.drawBackground):
1729         (WebInspector.Popover.prototype._animateFrame):
1730         (WebInspector.Popover.prototype._drawFrame):
1731         (WebInspector.Popover.prototype._addListenersIfNeeded):
1732         (WebInspector.Popover.prototype._animateFrame.drawBackground): Deleted.
1733         * UserInterface/Views/SourceCodeTextEditor.js:
1734         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
1735         (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
1736         (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
1737
1738 2014-08-28  Saam Barati  <sbarati@apple.com>
1739
1740         Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure
1741         https://bugs.webkit.org/show_bug.cgi?id=136272
1742
1743         Reviewed by Joseph Pecoraro.
1744
1745         Include the necessary files in Test.html to test ScriptSyntaxTree.
1746         Also, ScriptSyntaxTree had a couple of errors for two of its nodes
1747         where they simply ignored one of the properties on the node.
1748         These errors were found while writing the tests and are fixed
1749         in this patch.
1750
1751         * UserInterface/Models/ScriptSyntaxTree.js:
1752         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1753         * UserInterface/Test.html:
1754
1755 2014-08-27  Saam Barati  <sbarati@apple.com>
1756
1757         Web Inspector: Layout issues for popover on not legacy OS
1758         https://bugs.webkit.org/show_bug.cgi?id=136268
1759
1760         Reviewed by Joseph Pecoraro.
1761
1762         On the latest OS, popovers invade the title bar's space which will
1763         cause layout issues because the title bar will render above
1764         the popover. Fix this by providing some padding for popovers on 
1765         not legacy OSs.
1766
1767         * UserInterface/Views/Popover.js:
1768
1769 2014-08-27  Timothy Hatcher  <timothy@apple.com>
1770
1771         REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
1772         https://bugs.webkit.org/show_bug.cgi?id=136289
1773
1774         Reviewed by Darin Adler.
1775
1776         * UserInterface/Views/Toolbar.css:
1777         (body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
1778         uses a solid color instead of a gradient for window-inactive.
1779
1780 2014-08-26  Saam Barati  <sbarati@apple.com>
1781
1782         Web Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
1783         https://bugs.webkit.org/show_bug.cgi?id=136160
1784
1785         Reviewed by Joseph Pecoraro.
1786
1787         Check if '_tracking' is already true before calling '_startTracking'
1788         to prevent the assertion from always firing.
1789
1790         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1791         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
1792
1793 2014-08-25  Brent Fulgham  <bfulgham@apple.com>
1794
1795         [Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
1796         https://bugs.webkit.org/show_bug.cgi?id=136229
1797
1798         Reviewed by Dean Jackson.
1799
1800         * WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD
1801         flag to build-webinspectorui.pl.
1802         * WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use
1803         the OFFICIAL_BUILD flag.
1804
1805 2014-08-24  Benjamin Poulain  <benjamin@webkit.org>
1806
1807         The inspector should not use the "after" pseudo element with the compatibility syntax
1808         https://bugs.webkit.org/show_bug.cgi?id=136204
1809
1810         Reviewed by Darin Adler.
1811
1812         We should only use hte proper pseudo element syntax inside WebKit.
1813
1814         * Tools/PrettyPrinting/codemirror-additions.css:
1815         * Tools/PrettyPrinting/populate/apple.css:
1816
1817 2014-08-24  Brian J. Burg  <burg@cs.washington.edu>
1818
1819         Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
1820         https://bugs.webkit.org/show_bug.cgi?id=136025
1821
1822         Reviewed by Joseph Pecoraro.
1823
1824         Also rename DOM.RGBA in legacy protocol specifications.
1825
1826         * Versions/Inspector-iOS-6.0.json:
1827         * Versions/Inspector-iOS-7.0.json:
1828
1829 2014-08-21  Simon Fraser  <simon.fraser@apple.com>
1830
1831         Add a button to enable paint flashing in the web inspector
1832         https://bugs.webkit.org/show_bug.cgi?id=136133
1833
1834         Reviewed by Tim Hatcher.
1835         
1836         Add a button to the right of the layer borders button to turn on paint flashing.
1837         Future patches will actually enable this feature.
1838
1839         * Localizations/en.lproj/localizedStrings.js: Tooltip strings.
1840         * UserInterface/Images/PaintFlashing.svg: Added. "Paintbrush" icon.
1841         * UserInterface/Views/DOMTreeContentView.js:
1842         (WebInspector.DOMTreeContentView):
1843         (WebInspector.DOMTreeContentView.prototype.get navigationItems):
1844         (WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
1845
1846 2014-08-20  Saam Barati  <sbarati@apple.com>
1847
1848         Rename HighFidelityTypeProfiling variables for more clarity
1849         https://bugs.webkit.org/show_bug.cgi?id=135899
1850
1851         Reviewed by Geoffrey Garen.
1852
1853         Change a reference in a comment to a JavaScriptCore file to its 
1854         newly renamed variant.
1855
1856         * UserInterface/Models/ScriptSyntaxTree.js:
1857
1858 2014-08-18  Saam Barati  <sbarati@apple.com>
1859
1860         Web Inspector: Introduce an inspector Abstract Syntax Tree.
1861         https://bugs.webkit.org/show_bug.cgi?id=135763
1862
1863         Reviewed by Joseph Pecoraro.
1864
1865         This patch adds an Abstract Syntax Tree to the Web inspector. 
1866         This syntax tree is modeled off the Esprima.js syntax tree
1867         which complies with the Mozilla Parser API:
1868         https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API
1869         Script is the owner of the Web Inspector syntax tree, and has an API
1870         for accessing its syntax tree property.
1871
1872         * UserInterface/External/Esprima/esprima.js:
1873         * UserInterface/Main.html:
1874         * UserInterface/Models/Script.js:
1875         (WebInspector.Script):
1876         (WebInspector.Script.prototype.requestScriptSyntaxTree.makeSyntaxTreeAndCallCallback):
1877         (WebInspector.Script.prototype._resolveResource):
1878         (WebInspector.Script.prototype._makeSyntaxTree):
1879         * UserInterface/Models/ScriptSyntaxTree.js: Added.
1880         (WebInspector.ScriptSyntaxTree):
1881         (WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully):
1882         (WebInspector.ScriptSyntaxTree.prototype.forEachNode):
1883         (WebInspector.ScriptSyntaxTree.prototype.):
1884         (WebInspector.ScriptSyntaxTree.prototype.filter):
1885         (WebInspector.ScriptSyntaxTree.prototype.filterForNodesInRange):
1886         (WebInspector.ScriptSyntaxTree.prototype.filterByRange):
1887         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
1888         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
1889         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
1890         (WebInspector.ScriptSyntaxTree.prototype._defaultParserState):
1891         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1892         (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
1893         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1894
1895 2014-08-16  Joseph Pecoraro  <pecoraro@apple.com>
1896
1897         Web Inspector: Improve performance of selection range changes viewing Scripts timeline
1898         https://bugs.webkit.org/show_bug.cgi?id=136015
1899
1900         Reviewed by Timothy Hatcher.
1901
1902         * UserInterface/Base/Utilities.js:
1903         (clamp):
1904         Helper function to clamp a value between a min and max.
1905
1906         * UserInterface/Models/ProfileNode.js:
1907         (WebInspector.ProfileNode.prototype.get startTime):
1908         (WebInspector.ProfileNode.prototype.get endTime):
1909         These can be quickly calculated, so avoid full calculation to grab the values.
1910
1911         * UserInterface/Views/ScriptTimelineView.js:
1912         (WebInspector.ScriptTimelineView.prototype.updateLayout):
1913         Update ranges with a smart helper, instead of blindly doing it and needing refresh.
1914
1915         * UserInterface/Views/ProfileNodeDataGridNode.js:
1916         (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
1917         (WebInspector.ProfileNodeDataGridNode.prototype.get data):
1918         (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
1919         (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
1920         (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.
1921         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1922         (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
1923         (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
1924         (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
1925         When updating the range selection, compare to the last range selection
1926         on this DataGridNode. If the visible portion of this node's time range
1927         changes, we need a refresh. Otherwise, we don't need a refresh.
1928
1929 2014-08-15  Joseph Pecoraro  <pecoraro@apple.com>
1930
1931         Web Inspector: Update Scripts/update-LegacyInspectorBackendCommands.rb for the new generator
1932         https://bugs.webkit.org/show_bug.cgi?id=136006
1933
1934         Reviewed by Timothy Hatcher.
1935
1936         * Scripts/update-LegacyInspectorBackendCommands.rb:
1937         Use the new generator and pass the appropriate flags.
1938
1939         * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
1940         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
1941         Newly generated files using the new generator.
1942
1943         * Versions/Inspector-iOS-6.0.json:
1944         Remove unsupported features.
1945
1946 2014-08-15  Joseph Pecoraro  <pecoraro@apple.com>
1947
1948         Web Inspector: Remove forced layouts during recording caused by striped background element resizing
1949         https://bugs.webkit.org/show_bug.cgi?id=136009
1950
1951         Reviewed by Timothy Hatcher.
1952
1953         We used to manually resize and a custom striped background behind
1954         the timeline tree outline content area. This can happen frequently
1955         during timeline recordings causing forced layouts. We can eliminate
1956         the hack and instead put the stripe background on the tree outline.
1957
1958         * UserInterface/Views/TimelineSidebarPanel.js:
1959         (WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
1960         * UserInterface/Views/TimelineSidebarPanel.css:
1961         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
1962         (.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted.
1963         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted.
1964         Eliminate the striped background element.
1965
1966         * UserInterface/Views/TimelineView.css:
1967         (.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline):
1968         (.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
1969         Give the timeline content tree outlines the striped background.
1970
1971         * UserInterface/Views/NavigationSidebarPanel.js:
1972         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
1973         (WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
1974         Remove the now unused updateCustomContentOverflow method.
1975
1976 2014-08-15  Jono Wells  <jonowells@apple.com>
1977
1978         Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting
1979         https://bugs.webkit.org/show_bug.cgi?id=135995
1980
1981         Reviewed by Joseph Pecoraro.
1982
1983         Change so if an element is inspected via the Inspect Element context menu, selected
1984         node restoration is disallowed until the main resource in the main frame changes.
1985         This way an attempt by a sub-frame will not change the highlighted element in the
1986         Main Frame's DOM tree unexpectedly.
1987
1988         * UserInterface/Controllers/DOMTreeManager.js:
1989         (WebInspector.DOMTreeManager):
1990         (WebInspector.DOMTreeManager.prototype._mainResourceDidChange):
1991         (WebInspector.DOMTreeManager.prototype.inspectElement):
1992
1993 2014-08-15  Brian J. Burg  <burg@cs.washington.edu>
1994
1995         Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
1996         https://bugs.webkit.org/show_bug.cgi?id=131596
1997
1998         Reviewed by Joseph Pecoraro.
1999
2000         Also apply type extraction refactorings to old protocol versions for consistency.
2001
2002         * Versions/Inspector-iOS-6.0.json:
2003         * Versions/Inspector-iOS-7.0.json:
2004
2005 2014-08-15  Timothy Hatcher  <timothy@apple.com>
2006
2007         Web Inspector: Probe details sidebar data grids do not show data
2008         https://bugs.webkit.org/show_bug.cgi?id=135992
2009
2010         Reviewed by Joseph Pecoraro.
2011
2012         * UserInterface/Views/ProbeSetDataGrid.js:
2013         (WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly.
2014
2015 2014-08-15  Timothy Hatcher  <timothy@apple.com>
2016
2017         Web Inspector: Legacy Mac toolbar appearance looks wrong
2018         https://bugs.webkit.org/show_bug.cgi?id=135962
2019
2020         Reviewed by Joseph Pecoraro.
2021
2022         * UserInterface/Views/Toolbar.css:
2023         (body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
2024         Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
2025         applies all the time as it should have.
2026
2027 2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2028
2029         Web Inspector: Dragging Undocked inspector by window title has broken behavior
2030         https://bugs.webkit.org/show_bug.cgi?id=135950
2031
2032         Reviewed by Timothy Hatcher.
2033
2034         * UserInterface/Base/Main.js:
2035         On Mac ports where we the inspector content goes everywhere, window dragging behavior
2036         still exists for the top 22px of the window. So don't do our JavaScript based window
2037         dragging for this special region.
2038
2039         * UserInterface/Models/KeyboardShortcut.js:
2040         (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl):
2041         (WebInspector.KeyboardShortcut.prototype.get displayName):
2042         Instead of calling a host function, use the value already in the frontend.
2043
2044 2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2045
2046         Web Inspector: Split console toggle button wrong - Images/Images/SplitToggleUp.svg does not exist
2047         https://bugs.webkit.org/show_bug.cgi?id=135957
2048
2049         Reviewed by Timothy Hatcher.
2050
2051         * UserInterface/Views/LogContentView.js:
2052         (WebInspector.LogContentView):
2053         Wrong image path passed to platformImagePath.
2054
2055 2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2056
2057         Web Inspector: Avoid re-binding the same function over and over
2058         https://bugs.webkit.org/show_bug.cgi?id=135949
2059
2060         Reviewed by Timothy Hatcher.
2061
2062         * UserInterface/Controllers/TimelineManager.js:
2063         (WebInspector.TimelineManager.prototype._startAutoCapturing):
2064         (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
2065         (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
2066         Stash a bound copy of the function once, and reuse it.
2067
2068 2014-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2069
2070         Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording
2071         https://bugs.webkit.org/show_bug.cgi?id=135946
2072
2073         Reviewed by Timothy Hatcher.
2074
2075         Each TimelineContentView was listening for the TimelineManager's start/stop
2076         capturing events. However, only the active recording could possibly update.
2077         Likewise, if a pre-existing recording started and stopped we did not properly
2078         stop in the case where we were waiting for an event to update the current time,
2079         which would result in an infinite rAF loop of no updates.
2080
2081         * UserInterface/Models/TimelineRecording.js:
2082         (WebInspector.TimelineRecording.prototype.unloaded):
2083         When a timeline recording is unloaded trigger an event.
2084
2085         * UserInterface/Views/TimelineContentView.js:
2086         (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
2087         Assert we were not already waiting.
2088
2089         (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
2090         Properly handle the case of starting/stoping an already existing recording
2091         without a new event coming in.
2092
2093         (WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
2094         (WebInspector.TimelineContentView.prototype._recordingReset):
2095         Convert to a boolean instead of deleting state.
2096
2097         (WebInspector.TimelineContentView.prototype._recordingUnloaded):
2098         Stop listening to timeline manager events that no longer affect unloaded recordings.
2099
2100 2014-08-13  Jono Wells  <jonowells@apple.com>
2101
2102         Web Inspector: eslint configuration should be stored as .eslintrc
2103         https://bugs.webkit.org/show_bug.cgi?id=135916
2104
2105         .eslintrc file added to allow for ESLint solutions, within editors and otherwise,
2106         to be automatically configured based on the WebKit JavaScript coding style. The
2107         initial file is incomplete.
2108
2109         Reviewed by Joseph Pecoraro.
2110
2111         * .eslintrc: Added.
2112         * External/.eslintrc: Added.
2113
2114 2014-08-13  Timothy Hatcher  <timothy@apple.com>
2115
2116         Web Inspector: Missing semicolon after console.assert in TimelineSidebarPanel.js
2117         https://bugs.webkit.org/show_bug.cgi?id=135917
2118
2119         Reviewed by Joseph Pecoraro.
2120
2121         * UserInterface/Views/TimelineSidebarPanel.js:
2122
2123 2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2124
2125         Web Inspector: Inline DataGrid inside details sidebar has double thick top border with legacy styles
2126         https://bugs.webkit.org/show_bug.cgi?id=135894
2127
2128         Reviewed by Timothy Hatcher.
2129
2130         * UserInterface/Views/DetailsSection.css:
2131         (body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline):
2132         In legacy styles the details-section header always has a 1px bottom border.
2133         In all styles, an inline data grid had a 1px border everywhere. So, handle
2134         this specific case by removing the top border of an inline data grid
2135         that is inside an expanded details section.
2136
2137 2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2138
2139         Web Inspector: "No Filter Results" view only shows once, does not show again
2140         https://bugs.webkit.org/show_bug.cgi?id=135892
2141
2142         Reviewed by Timothy Hatcher.
2143
2144         * UserInterface/Views/NavigationSidebarPanel.js:
2145         (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
2146         We were checking at the wrong level for a parent. Check if the root
2147         placeholder element has a parent or not.
2148
2149 2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2150
2151         Web Inspector: Incorrect border colors in event listeners sections in details sidebar
2152         https://bugs.webkit.org/show_bug.cgi?id=135891
2153
2154         Reviewed by Timothy Hatcher.
2155
2156         * UserInterface/Views/DetailsSection.css:
2157         (.details-section .details-section > .header):
2158         (.details-section .details-section:not(.collapsed) > .header):
2159         Remove box-shadow and replace with a bottom border.
2160
2161         (body.mac-platform.legacy .details-section .details-section.collapsed > .header):
2162         (.details-section .details-section.collaspsed > .header): Deleted.
2163         Collapsed was spelled incorrectly so this was not applying properly before.
2164         But correct this for legacy because legacy still uses a box-shadow.
2165
2166 2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2167
2168         Web Inspector: Timeline Close buttons can use polish for new and legacy styles
2169         https://bugs.webkit.org/show_bug.cgi?id=135870
2170
2171         Reviewed by Timothy Hatcher.
2172
2173         * UserInterface/Images/Legacy/Close.svg:
2174         Ensure this has fill colors in tree selections.
2175
2176         * UserInterface/Views/TimelineSidebarPanel.css:
2177         (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
2178         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button):
2179         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
2180         Size the close-button for the top overviews differently in new styles (14x14) and legacy (12x12).
2181
2182 2014-08-13  Timothy Hatcher  <timothy@apple.com>
2183
2184         Web Inspector: Workaround a NSWindow change to the title bar.
2185         https://bugs.webkit.org/show_bug.cgi?id=135880
2186
2187         Reviewed by Joseph Pecoraro.
2188
2189         * UserInterface/Base/Main.js:
2190         (WebInspector._updateToolbarHeight): Don't call in legacy mode.
2191
2192         * UserInterface/Views/DashboardContainerView.css:
2193         (.toolbar .dashboard-container):
2194         (.toolbar .dashboard):
2195         Drive-by fix some errant drop-shadows. The transparent border was pushing the inset top
2196         drop shadow down when it shouldn't. Remove duplicate background and shadow.
2197
2198         * UserInterface/Views/Main.css:
2199         (body): Set the background white, never needs to be transparent now.
2200         (body.mac-platform.legacy:not(.docked)): Set background to transparent when not docked in legacy.
2201         (body.docked.bottom): Update border color.
2202         (body.docked.right): Ditto.
2203         (body.docked.bottom.mac-platform.legacy): Keep old border color.
2204         (body.docked.right.mac-platform.legacy): Ditto.
2205
2206         * UserInterface/Views/Toolbar.css:
2207         (.toolbar): Set a default border and background gradient.
2208         (body.window-inactive .toolbar): No gradient but use a solid color when inactive.
2209         (body.mac-platform:not(.legacy):not(.docked) .toolbar): Padding on the top for the title bar.
2210         (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Account for title bar height.
2211         (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Ditto.
2212         (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Ditto.
2213         (body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Ditto.
2214         (body.mac-platform.legacy .toolbar): No inset shadow in legacy when not docked.
2215         (body.mac-platform.legacy.docked .toolbar): Restore legacy border color.
2216         (body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Only disable sub-pixel antialiasing on legacy!
2217         (body.mac-platform.legacy.window-inactive .toolbar): Restore legacy border color.
2218
2219 2014-08-13  Timothy Hatcher  <timothy@apple.com>
2220
2221         Web Inspector: Restore Helvetica as the dashboard font in legacy mode
2222         https://bugs.webkit.org/show_bug.cgi?id=135886
2223
2224         Reviewed by Joseph Pecoraro.
2225
2226         * UserInterface/Views/DefaultDashboardView.css:
2227         (body.mac-platform.legacy .toolbar .dashboard.default > .item):
2228
2229 2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2230
2231         Web Inspector: Timeline record content view close button does not work after scrolling, invisible scrollbar
2232         https://bugs.webkit.org/show_bug.cgi?id=135863
2233
2234         Reviewed by Timothy Hatcher.
2235
2236         A workaround is to not have position:relative content inside of
2237         scrollable region. Turns out this was only done in two places,
2238         and I do not see any absolutely positioned content in navigation
2239         sidebar content tree outlines. This also fixes clicking on the
2240         reload button if you've scrolled the Resources sidebar. 
2241
2242         * UserInterface/Views/NavigationSidebarPanel.css:
2243         (.navigation-sidebar-panel-content-tree-outline .children): Deleted.
2244         (.navigation-sidebar-panel-content-tree-outline .item): Deleted.
2245
2246 2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2247
2248         Web Inspector: Remove unused variable in Platform.js
2249         https://bugs.webkit.org/show_bug.cgi?id=135869
2250
2251         Reviewed by Timothy Hatcher.
2252
2253         * UserInterface/Base/Platform.js:
2254
2255 2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2256
2257         Web Inspector: Timeline selection range creation does not work when clicking event bubble or near bottom of overview
2258         https://bugs.webkit.org/show_bug.cgi?id=135849
2259
2260         Reviewed by Timothy Hatcher.
2261
2262         Click events on elements in the graph container (event bubbles) or
2263         in the scroll container (bottom 16px) were becoming the event targets.
2264         As siblings of the ruler, the dispatch would not go through the ruler.
2265         The ruler was supposed to be overlaying everything in the overview,
2266         so give the ruler a z-index so it really is overlaying elements.
2267
2268         * UserInterface/Views/TimelineRuler.css:
2269         (.timeline-ruler):
2270
2271 2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2272
2273         Web Inspector: GoToLine dialog clear text button looks poor
2274         https://bugs.webkit.org/show_bug.cgi?id=135828
2275
2276         Reviewed by Timothy Hatcher.
2277
2278         Legacy/CloseWhite.svg was not used, but in the case where the white
2279         close button is needed the thicker bars looks better. Re-use the
2280         Legacy image as the default CloseWhite.svg.
2281
2282         * UserInterface/Images/CloseWhite.svg:
2283         * UserInterface/Images/Legacy/CloseWhite.svg: Removed.
2284
2285 2014-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2286
2287         Web Inspector: Easier Way to go back to the Timeline Overviews
2288         https://bugs.webkit.org/show_bug.cgi?id=135827
2289
2290         Reviewed by Timothy Hatcher.
2291
2292         * Localizations/en.lproj/localizedStrings.js:
2293         Added new tooltip UIString.
2294
2295         * UserInterface/Images/Close.svg:
2296         * UserInterface/Images/CloseLarge.svg:
2297         * UserInterface/Images/Legacy/Close.svg:
2298         Add "stroked" class so the buttons can fill with white on selected rows.
2299         Also re-center the non-legacy images horizontally.
2300
2301         * UserInterface/Views/GeneralTreeElement.js:
2302         (WebInspector.GeneralTreeElement.prototype.set status):
2303         Do not recreate elements if the status did not change.
2304
2305         * UserInterface/Views/LayoutTimelineView.js:
2306         (WebInspector.LayoutTimelineView):
2307         (WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
2308         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
2309         (WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton):
2310         (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
2311         * UserInterface/Views/NetworkTimelineView.js:
2312         (WebInspector.NetworkTimelineView):
2313         (WebInspector.NetworkTimelineView.prototype._treeElementDeselected):
2314         (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
2315         (WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton):
2316         (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
2317         * UserInterface/Views/OverviewTimelineView.js:
2318         (WebInspector.OverviewTimelineView.prototype._treeElementDeselected):
2319         (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
2320         (WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton):
2321         (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
2322         * UserInterface/Views/ScriptTimelineView.js:
2323         (WebInspector.ScriptTimelineView):
2324         (WebInspector.ScriptTimelineView.prototype._treeElementDeselected):
2325         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
2326         (WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton):
2327         (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
2328         Provide select/deselect handlers to show/hide the close status bar button
2329         when selecting a row that shows a non-Timeline content view. Currently the
2330         only content views the tree elements can show are Resource views, so the
2331         tooltip is the same everywhere.
2332
2333 2014-08-12  Timothy Hatcher  <timothy@apple.com>
2334
2335         Web Inspector: Expect to see top level JavaScript function profiler details for event handlers in timeline
2336         https://bugs.webkit.org/show_bug.cgi?id=132109
2337
2338         Reviewed by Joseph Pecoraro.
2339
2340         * UserInterface/Views/ScriptTimelineView.js:
2341         (WebInspector.ScriptTimelineView.prototype._processPendingRecords): Don't promote root node children if
2342         there is only one child.
2343
2344 2014-08-11  Brian J. Burg  <burg@cs.washington.edu>
2345
2346         Web Inspector: show a replay dashboard when capturing or replaying
2347         https://bugs.webkit.org/show_bug.cgi?id=135170
2348
2349         Reviewed by Timothy Hatcher.
2350
2351         This patch adds a replay dashboard with record/play/pause buttons. It
2352         is shown automatically when the user starts capturing an execution from
2353         the replay menu in the Timelines sidebar panel.
2354
2355         * UserInterface/Base/Main.js:
2356         (WebInspector.loaded):
2357         (WebInspector._captureDidStart):
2358         * UserInterface/Controllers/DashboardManager.js:
2359         (WebInspector.DashboardManager):
2360         * UserInterface/Images/ReplayPauseButton.svg: Added.
2361         * UserInterface/Images/ReplayPlayButton.svg: Added.
2362         * UserInterface/Images/ReplayRecordingButton.svg: Added.
2363         * UserInterface/Main.html:
2364         * UserInterface/Models/ReplayDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
2365         (WebInspector.ReplayDashboard):
2366         * UserInterface/Views/DashboardView.js:
2367         (WebInspector.DashboardView):
2368         * UserInterface/Views/ReplayDashboardView.css: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
2369         (.toolbar .dashboard.replay):
2370         (.toolbar .dashboard.replay div.navigation-bar):
2371         (.toolbar .dashboard.replay .item.button > .glyph):
2372         (.toolbar.label-only .dashboard.replay .item.button > .glyph):
2373         * UserInterface/Views/ReplayDashboardView.js: Added.
2374         (WebInspector.ReplayDashboardView):
2375         (WebInspector.ReplayDashboardView.prototype._captureButtonItemClicked):
2376         (WebInspector.ReplayDashboardView.prototype._replayButtonItemClicked):
2377         (WebInspector.ReplayDashboardView.prototype._captureStarted):
2378         (WebInspector.ReplayDashboardView.prototype._captureStopped):
2379         (WebInspector.ReplayDashboardView.prototype._playbackStarted):
2380         (WebInspector.ReplayDashboardView.prototype._playbackPaused):
2381         (WebInspector.ReplayDashboardView.prototype._playbackFinished):
2382
2383 2014-08-08  Brian J. Burg  <burg@cs.washington.edu>
2384
2385         Web Inspector: DebuggerManager commands should return promises
2386         https://bugs.webkit.org/show_bug.cgi?id=135690
2387
2388         Reviewed by Timothy Hatcher.
2389
2390         Convert the existing debugger commands to return promises. This
2391         requires separately waiting for protocol command's promise to be
2392         fulfilled, as well as waiting for the appropriate DebuggerManager
2393         event. If the protocol command promise is rejected, tear down the
2394         single-fire event listener.
2395
2396         * UserInterface/Controllers/DebuggerManager.js:
2397         (WebInspector.DebuggerManager.prototype.pause):
2398         (WebInspector.DebuggerManager.prototype.resume):
2399         (WebInspector.DebuggerManager.prototype.stepOver):
2400         (WebInspector.DebuggerManager.prototype.stepInto):
2401         (WebInspector.DebuggerManager.prototype.stepOut):
2402         * UserInterface/Controllers/ReplayManager.js: Use the promise-based API.
2403         (WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):
2404
2405 2014-08-11  Timothy Hatcher  <timothy@apple.com>
2406
2407         Web Inspector: Update folder icons
2408         https://bugs.webkit.org/show_bug.cgi?id=135808
2409
2410         Reviewed by Joseph Pecoraro.
2411
2412         * UserInterface/Images/FolderGeneric.png: Updated.
2413         * UserInterface/Images/FolderGeneric@2x.png: Updated.
2414
2415 2014-08-11  Timothy Hatcher  <timothy@apple.com>
2416
2417         Web Inspector: DataGrid and its clients are a cluster-cuss of styles
2418         https://bugs.webkit.org/show_bug.cgi?id=135788
2419
2420         Clean up DataGrid and its subclasses and client styles.
2421
2422         Reviewed by Joseph Pecoraro.
2423
2424         * Localizations/en.lproj/localizedStrings.js:
2425         * UserInterface/Views/ApplicationCacheFrameContentView.css:
2426         (.content-view.application-cache-frame > .data-grid):
2427         * UserInterface/Views/CookieStorageContentView.css:
2428         (.content-view.cookie-storage > .data-grid):
2429         * UserInterface/Views/DOMStorageContentView.css:
2430         (.content-view.dom-storage > .data-grid):
2431         * UserInterface/Views/DOMTreeDataGrid.css:
2432         (.dom-tree-data-grid .data-grid):
2433         (.dom-tree-data-grid .name-column .icon):
2434         * UserInterface/Views/DOMTreeDataGrid.js:
2435         (WebInspector.DOMTreeDataGrid):
2436         * UserInterface/Views/DataGrid.css:
2437         (.data-grid):
2438         (.data-grid table):
2439         (.data-grid .data-container):
2440         (.data-grid.inline):
2441         (.data-grid th):
2442         (.data-grid :-webkit-any(th, td):not(:last-child)):
2443         (.data-grid th.sortable:active):
2444         (.data-grid th:-webkit-any(.sort-ascending, .sort-descending)):
2445         (.data-grid table.data):
2446         (.data-grid td):
2447         (.data-grid:focus tr.selected td:not(:last-child)):
2448         (body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)):
2449         (.data-grid :-webkit-any(th, td) > div):
2450         (.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child):
2451         (.data-grid th.sort-ascending > div:first-child::after):
2452         (.data-grid th.sort-descending > div:first-child::after):
2453         (.data-grid td .subtitle):
2454         (.data-grid td .subtitle::before):
2455         (.data-grid:focus tr.selected td .subtitle):
2456         (.data-grid td.error):
2457         (.data-grid tr.selected td.error):
2458         (.data-grid td .icon):
2459         (.data-grid td .go-to-arrow):
2460         (.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow):
2461         * UserInterface/Views/DatabaseContentView.css:
2462         (.storage-view):
2463         * UserInterface/Views/DatabaseTableContentView.css:
2464         (.content-view.database-table > .data-grid):
2465         * UserInterface/Views/DetailsSection.css:
2466         (.details-section > .content .data-grid):
2467         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
2468         (.content-view.indexed-database-object-store > .data-grid):
2469         * UserInterface/Views/LayerTreeDataGridNode.js:
2470         (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
2471         (WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData):
2472         * UserInterface/Views/LayerTreeSidebarPanel.css:
2473         (.layer-tree.panel .data-grid):
2474         (.layer-tree.panel .name-column .icon):
2475         (.layer-tree.panel tr.reflection .name-column .icon):
2476         (.layer-tree.panel tr.pseudo-element .name-column .icon):
2477         (.layer-tree.panel .name-column .reflection):
2478         (.layer-tree.panel tr.selected .name-column .reflection):
2479         (.layer-tree.panel .bottom-bar):
2480         (body.mac-platform.legacy .layer-tree.panel .bottom-bar):
2481         (.layer-tree.panel .bottom-bar > div):
2482         (body.mac-platform.legacy .layer-tree.panel .bottom-bar > div):
2483         (body.mac-platform.legacy .layer-tree-popover):
2484         * UserInterface/Views/LayerTreeSidebarPanel.js:
2485         (WebInspector.LayerTreeSidebarPanel):
2486         (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
2487         (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
2488         (WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar):
2489         (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics):
2490         * UserInterface/Views/LegacyJavaScriptProfileView.css:
2491         (.content-view.profile-view > .data-grid):
2492         * UserInterface/Views/LegacyProfileView.css:
2493         * UserInterface/Views/LogContentView.css:
2494         (.console-message .bubble):
2495         * UserInterface/Views/NetworkTimelineView.css:
2496         (.timeline-view.network > .data-grid):
2497         * UserInterface/Views/OverviewTimelineView.css:
2498         (.timeline-view.overview > .timeline-ruler > .header):
2499         (.timeline-view.overview > .data-grid):
2500         * UserInterface/Views/OverviewTimelineView.js:
2501         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
2502         (.details-section.probe-set .options > .probe-add):
2503         (.popover .probe-popover):
2504         * UserInterface/Views/ProbeSetDataGrid.css:
2505         (.details-section.probe-set .data-grid tr.past-value td):
2506         (.details-section.probe-set .data-grid > td.unknown-value):
2507         (.details-section.probe-set .data-grid tr.revealed.highlighted):
2508         (.details-section.probe-set .data-grid tr.separator):
2509         (.details-section.probe-set .data-grid > tr.data-updated):
2510         (.details-section.probe-set .data-grid .selected .section *):
2511         (.details-section.probe-set .data-grid .selected td.unknown-value):
2512         (.details-section.probe-set .data-grid .section):
2513         * UserInterface/Views/QuickConsole.css:
2514         (.quick-console):
2515         * UserInterface/Views/TimelineDataGrid.css:
2516         (.data-grid.timeline th):
2517         (.data-grid.timeline > .navigation-bar-container > .navigation-bar):
2518         * UserInterface/Views/TimelineRuler.css:
2519         (.timeline-ruler > .header):
2520         (.timeline-ruler > .header > .divider):
2521
2522 2014-08-11  Brent Fulgham  <bfulgham@apple.com>
2523
2524         [Win] Adjust build script for Windows production build.
2525         https://bugs.webkit.org/show_bug.cgi?id=135806
2526         <rdar://problem/17978299>
2527
2528         Reviewed by Timothy Hatcher.
2529
2530         * WebInspectorUI.vcxproj/WebInspectorUI.make: Make sure target for
2531         xcopy operation exists.
2532         * WebInspectorUI.vcxproj/WebInspectorUI.proj: Don't create directories
2533         we don't need, make sure the target location exists before we build.
2534         * WebInspectorUI.vcxproj/build-webinspectorui.pl: Make sure that
2535         production builds get the intermediary command files from the
2536         right place.
2537
2538 2014-08-11  Brian J. Burg  <burg@cs.washington.edu>
2539
2540         Web Inspector: Add a helper to avoid leaking single-fire event listeners in Promise chains
2541         https://bugs.webkit.org/show_bug.cgi?id=135772
2542
2543         Reviewed by Timothy Hatcher.
2544
2545         A common pattern when working with promise chains is to convert an event
2546         handler into a promise by using a single-fire event listener with the
2547         resolve continuation as the callback. This is fine if the event fires;
2548         if it doesn't fire, then the event emitter permanently keeps a reference to the
2549         this-object and the callback.
2550
2551         This patch adds EventListener, a proxy object for events that can be manipulated
2552         from multiple promise callback functions. If a promise is rejected, the catch
2553         block can disconnect any event listeners set up earlier in the promise chain.
2554
2555         This patch also reimplements EventListenerSet to use multiple EventListeners,
2556         since they share the same logic to uniformly handle Inspector and DOM events.
2557
2558         Test: inspector/event-listener.html
2559         Test: inspector/event-listener-set.html
2560
2561         * UserInterface/Base/EventListener.js: Added.
2562         (WebInspector.EventListener):
2563         (WebInspector.EventListener.prototype.this._callback):
2564         (WebInspector.EventListener.prototype.connect):
2565         (WebInspector.EventListener.prototype.disconnect):
2566         * UserInterface/Base/EventListenerSet.js: Update license block.
2567         (WebInspector.EventListenerSet.prototype.register):
2568         (WebInspector.EventListenerSet.prototype.install):
2569         (WebInspector.EventListenerSet.prototype.uninstall):
2570         * UserInterface/Main.html: Include EventListener.
2571         * UserInterface/Test.html: Include EventListener and EventListenerSet.
2572
2573 2014-08-10  Timothy Hatcher  <timothy@apple.com>
2574
2575         Web Inspector: new glyphs are visible on OS X 10.9 builds
2576         https://bugs.webkit.org/show_bug.cgi?id=135743
2577
2578         Reviewed by Joseph Pecoraro.
2579
2580         * UserInterface/Images/Legacy/UserInputPrompt.svg: Removed.
2581         * UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed.
2582         * UserInterface/Images/Legacy/UserInputResult.svg: Removed.
2583         Removed images that were not used.
2584
2585         * UserInterface/Views/DashboardContainerView.css:
2586         (body.mac-platform.legacy .dashboard-container .advance-arrow):
2587         * UserInterface/Views/DebuggerDashboardView.js:
2588         (WebInspector.DebuggerDashboardView):
2589         * UserInterface/Views/FolderIcon.css:
2590         (body.mac-platform.legacy .folder-icon .icon):
2591         * UserInterface/Views/HierarchicalPathComponent.css:
2592         (body.mac-platform.legacy .hierarchical-path-component > .selector-arrows):
2593         * UserInterface/Views/LogContentView.js:
2594         (WebInspector.LogContentView):
2595         Use legacy images.
2596
2597         * UserInterface/Views/NavigationSidebarPanel.css:
2598         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle):
2599         Fix color for selected subtitle.
2600
2601         * UserInterface/Views/TimelineSidebarPanel.js:
2602         (WebInspector.TimelineSidebarPanel):
2603         Use legacy images.
2604
2605 2014-08-09  Brian J. Burg  <burg@cs.washington.edu>
2606
2607         Web Inspector: TimelineManager should reuse empty recordings
2608         https://bugs.webkit.org/show_bug.cgi?id=135749
2609
2610         Reviewed by Timothy Hatcher.
2611
2612         Check whether the recording is empty before creating a new one.
2613
2614         * UserInterface/Controllers/TimelineManager.js:
2615         (WebInspector.TimelineManager.prototype._loadNewRecording):
2616         * UserInterface/Models/TimelineRecording.js:
2617         (WebInspector.TimelineRecording.prototype.isEmpty):
2618         (WebInspector.TimelineRecording.prototype.unloaded):
2619
2620 2014-08-08  Brian J. Burg  <burg@cs.washington.edu>
2621
2622         Web Inspector: add debugging flag to InspectorTest for unbuffered logging to stderr
2623         https://bugs.webkit.org/show_bug.cgi?id=135726
2624
2625         Reviewed by Timothy Hatcher.
2626
2627         Added a flag for debugging inspector tests which will synchronously log messages.
2628         This avoids failure modes that prevent logging from being added to the test page.
2629
2630         * UserInterface/Base/Test.js:
2631         (InspectorTest.debugLog):
2632         (InspectorTest.addResult):
2633
2634 2014-08-08  Joseph Pecoraro  <pecoraro@apple.com>
2635
2636         Web Inspector: When Switching Recordings, the UI datagrids do not update to match selection
2637         https://bugs.webkit.org/show_bug.cgi?id=135764
2638
2639         Reviewed by Timothy Hatcher.
2640
2641         * UserInterface/Views/TimelineSidebarPanel.js:
2642         When changing the activeContentView trigger an update of the datagrids by
2643         re-applying the filter, which will be different now that the view is different.
2644
2645 2014-08-08  Joseph Pecoraro  <pecoraro@apple.com>
2646
2647         Web Inspector: Uncaught Exception opening Web Inspector - TypeError: undefined is not a function - candidateObjectCookie.every
2648         https://bugs.webkit.org/show_bug.cgi?id=135762
2649
2650         Reviewed by Timothy Hatcher.
2651
2652         * UserInterface/Views/NavigationSidebarPanel.js:
2653         (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
2654         Fix a typo, the wrong object was being used.
2655
2656 2014-08-07  Brian J. Burg  <burg@cs.washington.edu>
2657
2658         REGRESSION(r172094): timeline views are blank after reloading in some situations
2659         https://bugs.webkit.org/show_bug.cgi?id=135742
2660
2661         Reviewed by Timothy Hatcher.
2662
2663         Address various bugs that cause the wrong timeline content views to appear when
2664         starting a recording by reloading the inspected page. Fix other small oversights
2665         that were encountered in the sidebar-based view state restoration code.
2666
2667         * UserInterface/Models/TimelineRecording.js:
2668         (WebInspector.TimelineRecording.prototype.saveIdentityToCookie): Add a dummy implementation.
2669
2670         * UserInterface/Views/NavigationSidebarPanel.js:
2671         (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
2672         This code erroneously matches any tree element whose represented object's
2673         saveIdentityToCookie function produces an empty cookie.
2674
2675         * UserInterface/Views/TimelineContentView.js:
2676         (WebInspector.TimelineContentView.prototype._showTimelineView): Add an assertion
2677         that will find mismatches between represented objects of the TimelineContentView
2678         and TimelineViews.
2679
2680         * UserInterface/Views/TimelineSidebarPanel.js:
2681         (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Don't call
2682         the superclass's implementation, since we do not want to perform a relaxed match
2683         against any of our tree elements. The only thing that can be restored across reopen
2684         is a selected timeline tree element, which is already handled by this override.
2685
2686 2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2687
2688         Web Inspector: Fix accidental always true comparison
2689         https://bugs.webkit.org/show_bug.cgi?id=135741
2690
2691         Reviewed by Timothy Hatcher.
2692
2693         Remove accidental "!" that would always cause this comparison to succeed.
2694
2695         * UserInterface/Views/OverviewTimelineView.js:
2696         (WebInspector.OverviewTimelineView.prototype.updateLayout):
2697
2698 2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2699
2700         Web Inspector: Timeline Filter Bars are not appearing at all
2701         https://bugs.webkit.org/show_bug.cgi?id=135740
2702
2703         Reviewed by Timothy Hatcher.
2704
2705         * UserInterface/Views/TimelineDataGrid.css:
2706         (.data-grid.timeline.has-non-default-filter > .navigation-bar-container):
2707         (.data-grid.timeline > .navigation-bar-container > .navigation-bar):
2708         (body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar):
2709         Update the positioning and height for non-legacy because the console is now taller.
2710
2711         * UserInterface/Views/ScopeBar.js:
2712         (WebInspector.ScopeBar.prototype.hasNonDefaultItemSelected):
2713         Helper to know if there is a non-default filter.
2714
2715         * UserInterface/Views/TimelineDataGrid.js:
2716         (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
2717         (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
2718         Update scope bar visibility. If non-default we want to always show it.
2719         
2720         (WebInspector.TimelineDataGrid.prototype._updateScopeBarForcedVisibility):
2721         If there is a non-default filter, force showing the bar.
2722
2723 2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2724
2725         Web Inspector: breakpoints enabled state is not persisted across re-opening the inspector
2726         https://bugs.webkit.org/show_bug.cgi?id=135745
2727
2728         Reviewed by Timothy Hatcher.
2729
2730         When restoring breakpoints when the inspector is initializing, do not
2731         let setting these breakpoints automatically enable breakpoints. We should
2732         respect the setting in this case.
2733
2734         * UserInterface/Controllers/DebuggerManager.js:
2735         (WebInspector.DebuggerManager.restoreBreakpointsSoon):
2736         (WebInspector.DebuggerManager):
2737
2738 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2739
2740         Web Inspector: Combine and minify Esprima
2741         https://bugs.webkit.org/show_bug.cgi?id=135728
2742
2743         Reviewed by Joseph Pecoraro.
2744
2745         * Scripts/combine-resources.pl:
2746         * Scripts/copy-user-interface-resources.pl:
2747         * UserInterface/External/Esprima/LICENSE: Added.
2748
2749 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2750
2751         Fix regression where tree outline keyboard navigation is broken.
2752
2753         https://bugs.webkit.org/show_bug.cgi?id=135718
2754
2755         Reviewed by Joseph Pecoraro.
2756
2757         * UserInterface/Views/TreeOutline.js:
2758         (TreeElement.prototype.revealed): Fix the check for currentAncestor.hidden.
2759
2760 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2761
2762         Web Inspector: Filter bar text and icon are positioned too low and tight
2763         https://bugs.webkit.org/show_bug.cgi?id=135723
2764
2765         Reviewed by Joseph Pecoraro.
2766
2767         * UserInterface/Views/FilterBar.css:
2768         (.filter-bar > input[type="search"]):
2769         (.filter-bar > input[type="search"]::-webkit-search-decoration):
2770         * UserInterface/Views/SearchBar.css:
2771         (.search-bar > input[type="search"]):
2772
2773 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2774
2775         Web Inspector: Dashboard error and warning icons should be filled when enabled
2776         https://bugs.webkit.org/show_bug.cgi?id=135725
2777
2778         Reviewed by Joseph Pecoraro.
2779
2780         * UserInterface/Images/ErrorsEnabled.svg:
2781         * UserInterface/Images/IssuesEnabled.svg:
2782
2783 2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2784
2785         Web Inspector: Dashboard contents shift when window changes active state
2786         https://bugs.webkit.org/show_bug.cgi?id=135724
2787
2788         Reviewed by Timothy Hatcher.
2789
2790         The container was getting a 1px border when inactive and none when active.
2791         Give it a transparent border when active so contents don't change size.
2792
2793         * UserInterface/Views/DashboardContainerView.css:
2794         (.toolbar .dashboard-container):
2795
2796 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2797
2798         Fix reference to missing CloseTimeline.svg image.
2799
2800         Rubber-stamped by Joseph Pecoraro.
2801
2802         * UserInterface/Views/TimelineSidebarPanel.js:
2803         (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Use CloseLarge.svg instead.
2804
2805 2014-08-07  Brent Fulgham  <bfulgham@apple.com>
2806
2807         [Win] Unreviewed build fix.
2808
2809         Add a WebInspectorUI.proj file for use with MSBuild utility.
2810
2811         * WebInspectorUI.vcxproj/WebInspectorUI.proj: Added.
2812
2813 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
2814
2815         Get rid of INPUT_SPEECH
2816         https://bugs.webkit.org/show_bug.cgi?id=135672
2817
2818         Reviewed by Andreas Kling.
2819
2820         * UserInterface/Models/CSSKeywordCompletions.js:
2821
2822 2014-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2823
2824         Web Inspector: Dragging selection window when mouse goes out of window bounds does not behave as expected
2825         https://bugs.webkit.org/show_bug.cgi?id=135372
2826
2827         Reviewed by Timothy Hatcher.
2828
2829         Constrain move selection window dragging to the ruler bounds
2830         based on the mouse down position on the drag window.
2831
2832         * UserInterface/Views/TimelineRuler.js:
2833         (WebInspector.TimelineRuler.prototype._handleMouseDown):
2834         (WebInspector.TimelineRuler.prototype._handleMouseMove):
2835         (WebInspector.TimelineRuler.prototype._handleMouseUp):
2836
2837 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2838
2839         Web Inspector: Update glyphs to be more like Xcode 6
2840         https://bugs.webkit.org/show_bug.cgi?id=135705
2841
2842         Reviewed by Joseph Pecoraro.
2843
2844         * Localizations/en.lproj/localizedStrings.js: Updated.
2845
2846         * UserInterface/Base/ImageUtilities.js:
2847         (platformImagePath): Added.
2848         (generateEmbossedImages.generateImage):
2849         Bump the base image version. Helper function. Use isLegacyMacOS.
2850
2851         * UserInterface/Base/Main.js:
2852         (WebInspector.contentLoaded):
2853         (WebInspector._updateDockNavigationItems):
2854         (WebInspector._generateDisclosureTriangleImages):
2855         Use new images and add legacy path. Remove the shadow.
2856
2857         * UserInterface/Images: Updated images.
2858         * UserInterface/Images/Legacy: Added. Moved legacy images here.
2859
2860         * UserInterface/Views/CSSStyleDeclarationSection.css:
2861         (.style-declaration-section):
2862         (body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
2863         (.style-declaration-section.last-in-group):
2864         (.style-declaration-section.last-in-group + .style-declaration-section):
2865         Use a consistent gray for borders.
2866
2867         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2868         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
2869         Use a consistent gray for borders.
2870
2871         * UserInterface/Views/ContentBrowser.js:
2872         (WebInspector.ContentBrowser):
2873         Use new images and add legacy path.
2874
2875         * UserInterface/Views/ControlToolbarItem.css:
2876         (.toolbar .item.control):
2877         (body.mac-platform.legacy .toolbar .item.control):
2878         (.toolbar .item.control:hover):
2879         (body.mac-platform.legacy .toolbar .item.control:hover):
2880         Adjust the opacity for controls.
2881
2882         * UserInterface/Views/DOMTreeContentView.js:
2883         (WebInspector.DOMTreeContentView):
2884         Use new images and add legacy path.
2885
2886         * UserInterface/Views/DataGrid.css:
2887         (.data-grid tr.selected):
2888         Use a consistent gray for borders.
2889
2890         * UserInterface/Views/DataGrid.js:
2891         (WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
2892         Use new images and add legacy path. Remove the shadow.
2893
2894         * UserInterface/Views/DebuggerSidebarPanel.js:
2895         (WebInspector.DebuggerSidebarPanel):
2896         Use new images and add legacy path.
2897
2898         * UserInterface/Views/DefaultDashboardView.css:
2899         (.toolbar .dashboard.default > .item):
2900         (body.mac-platform.legacy .toolbar .dashboard.default > .item):
2901         (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img):
2902         (body.mac-platform.legacy .toolbar .dashboard.default > .time > img):
2903         (body.mac-platform.legacy .toolbar .dashboard.default > .logs > img):
2904         (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesSize > img):
2905         (body.mac-platform.legacy .toolbar .dashboard.default > .errors > img):
2906         (body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img):
2907         (body.mac-platform.legacy .toolbar .dashboard.default > .issues > img):
2908         (body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img):
2909         Use new images and add legacy path.
2910
2911         * UserInterface/Views/DetailsSection.css:
2912         (.details-section):
2913         (.details-section .details-section:first-child):
2914         (body.mac-platform.legacy .details-section > .header):
2915         (.details-section > .content > .group):
2916         (.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *):
2917         (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
2918         Use a consistent gray for borders.
2919
2920         * UserInterface/Views/FilterBar.css:
2921         (body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration):
2922         Use new images and add legacy path.
2923
2924         * UserInterface/Views/FindBanner.css:
2925         (.find-banner):
2926         Use a consistent gray for borders.
2927
2928         * UserInterface/Views/FindBanner.js:
2929         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
2930         Add legacy path.
2931
2932         * UserInterface/Views/FrameTreeElement.js:
2933         (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
2934         Use new images and add legacy path.
2935
2936         * UserInterface/Views/LogContentView.js:
2937         (WebInspector.LogContentView):
2938         Use new images and add legacy path.
2939
2940         * UserInterface/Views/Main.css:
2941         (#split-content-browser):
2942         Use a consistent gray for borders.
2943
2944         * UserInterface/Views/NavigationSidebarPanel.css:
2945         (.sidebar > .panel.navigation > .overflow-shadow):
2946         (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow):
2947         (.sidebar > .panel.navigation > .overflow-shadow.top):
2948         (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top):
2949         (.sidebar > .panel.navigation > .empty-content-placeholder):
2950         (body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder):
2951         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .disclosure-button):
2952         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected.expanded .disclosure-button):
2953         (.navigation-sidebar-panel-content-tree-outline .item.selected):
2954         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
2955         Adjust the styles to make the selected item use white text and icons only when focused.
2956
2957         * UserInterface/Views/NavigationSidebarPanel.js:
2958         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
2959         (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
2960         Remove the shadow from the disclosure triangles. Make the overflow shadow not fade.
2961
2962         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
2963         (.details-section.probe-set .options > .probe-clear-samples):
2964         (.details-section.probe-set .options > .probe-remove):
2965         (.details-section.probe-set .options > .probe-add):
2966         (body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples):
2967         (body.mac-platform.legacy .details-section.probe-set .options > .probe-remove):
2968         (body.mac-platform.legacy .details-section.probe-set .options > .probe-add):
2969         Tweak size and position of icons and use legacy paths.
2970
2971         * UserInterface/Views/QuickConsole.css:
2972         (.quick-console):
2973         Adjust padding to match filter bar height.
2974
2975         * UserInterface/Views/ResourceSidebarPanel.css:
2976         (.sidebar > .panel.navigation.resource > .search-bar):
2977         Adjust height.
2978
2979         * UserInterface/Views/RulesStyleDetailsPanel.css:
2980         (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
2981         (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
2982         (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img):
2983         Use a consistent gray for borders. Don't bold the New Rule label.
2984
2985         * UserInterface/Views/ScriptContentView.js:
2986         (WebInspector.ScriptContentView):
2987         Use new images and add legacy path.
2988
2989         * UserInterface/Views/Sidebar.css:
2990         (.sidebar.left):
2991         (.sidebar.right):
2992         Use a consistent gray for borders.
2993
2994         * UserInterface/Views/TextContentView.js:
2995         (WebInspector.TextContentView):
2996         Use new images and add legacy path.
2997
2998         * UserInterface/Views/TextResourceContentView.js:
2999         (WebInspector.TextResourceContentView):
3000         Use new images and add legacy path.
3001
3002         * UserInterface/Views/TimelineContentView.js:
3003         (WebInspector.TimelineContentView):
3004         Use new images and add legacy path.
3005
3006         * UserInterface/Views/TimelineDataGrid.css:
3007         (.data-grid.timeline th):
3008         (.data-grid.timeline th.sortable:active):
3009         (.data-grid.timeline th.sort-descending):
3010         Fix a regression with the gradient background showing in legacy mode.
3011
3012         * UserInterface/Views/TimelineIcons.css:
3013         (body.mac-platform.legacy .network-icon .icon):
3014         (body.mac-platform.legacy .network-icon.large .icon):
3015         (body.mac-platform.legacy .colors-icon .icon):
3016         (body.mac-platform.legacy .colors-icon.large .icon):
3017         Added legacy versions of these icons.
3018
3019         * UserInterface/Views/TimelineSidebarPanel.css:
3020         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
3021         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
3022         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
3023         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
3024         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
3025         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
3026         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
3027         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
3028         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
3029         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
3030         (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
3031         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
3032         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
3033         Update the styles for the recording button and close button.
3034
3035         * UserInterface/Views/TimelineSidebarPanel.js:
3036         (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
3037         Use TreeElementStatusButton instead of a styled image.
3038
3039         * UserInterface/Views/TreeElementStatusButton.css:
3040         (.item > .status > .status-button > svg path.filled):
3041         (body.mac-platform.legacy .item > .status > .status-button > svg path.filled):
3042         (:focus .item.selected > .status > .status-button > svg path.filled):
3043         (.item > .status > .status-button > svg path.stroked):
3044         (body.mac-platform.legacy .item > .status > .status-button > svg path.stroked):
3045         (:focus .item.selected > .status > .status-button > svg path.stroked):
3046         (.item.selected > .status > .status-button:active):
3047         (.item > .status > .status-button.disabled):
3048         Updated selectors and styles to work with stroke or fill.
3049
3050 2014-08-07  Brian J. Burg  <burg@cs.washington.edu>
3051
3052         Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint
3053         https://bugs.webkit.org/show_bug.cgi?id=135674
3054
3055         Reviewed by David Kilzer.
3056
3057         * UserInterface/Controllers/DebuggerManager.js:
3058         (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo.
3059
3060 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
3061
3062         Web Inspector: breakpoint resolved state should not depend on all breakpoints being enabled
3063         https://bugs.webkit.org/show_bug.cgi?id=135517
3064
3065         Reviewed by Joseph Pecoraro.
3066
3067         Previously, Breakpoint.resolved returned false if all breakpoints were disabled, even if
3068         the breakpoint had an associated SourceCode. This was a weird hack to make it easier to
3069         style breakpoint widgets. This made it hard for other code to deal with resolved
3070         breakpoints that were also disabled, or SourceCodeLocations that resolve and unresolve.
3071         This patch removes that consideration and fixes style update code to manually check if all
3072         breakpoints are being suppressed.
3073
3074         The code now enforces that a Breakpoint must have a SourceCode before it can be resolved.
3075         (As a performance optimization when loading the initial frame tree, we sometimes we give
3076         Breakpoints a SourceCode before the debugger officially says that the breakpoint has been
3077         resolved. Thus, it's possible to be unresolved with a SourceCode, but not vice-versa.)
3078
3079         This patch also adds a few guards where we assumed a SourceCodeLocation had a SourceCode.
3080
3081         * UserInterface/Controllers/DebuggerManager.js:
3082         (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Remove spurious
3083         ResolvedStateDidChange events.
3084
3085         (WebInspector.DebuggerManager.prototype.breakpointResolved): Set the breakpoint's SourceCode
3086         if it has not been set already by DebuggerManager.associateBreakpointsWithSourceCode.
3087
3088         * UserInterface/Models/Breakpoint.js:
3089         (WebInspector.Breakpoint.prototype.get resolved):
3090         (WebInspector.Breakpoint.prototype.set resolved.isSpecialBreakpoint):
3091         (WebInspector.Breakpoint.prototype.set resolved): Add an assertion.
3092         * UserInterface/Models/SourceCodeLocation.js: Add guards for !SourceCode.
3093         (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
3094         * UserInterface/Views/BreakpointTreeElement.js: Account for DebuggerManager.breakpointsEnabled.
3095         (WebInspector.BreakpointTreeElement):
3096         (WebInspector.BreakpointTreeElement.prototype._updateStatus):
3097         * UserInterface/Views/ProbeSetDetailsSection.js:
3098         (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Loosen the assertion.
3099         * UserInterface/Views/SourceCodeTextEditor.js: Account for DebuggerManager.breakpointsEnabled.
3100         (WebInspector.SourceCodeTextEditor):
3101         (WebInspector.SourceCodeTextEditor.prototype.close):
3102         (WebInspector.SourceCodeTextEditor.prototype._breakpointStatusDidChange):
3103         (WebInspector.SourceCodeTextEditor.prototype._breakpointsEnabledDidChange):
3104         (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus):
3105         * UserInterface/Views/TextEditor.js: Account for DebuggerManager.breakpointsEnabled.
3106
3107 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
3108
3109         Web Inspector: ReplayManager should unpause and suppress breakpoints before capturing/replaying
3110         https://bugs.webkit.org/show_bug.cgi?id=135608
3111
3112         Reviewed by Timothy Hatcher.
3113
3114         It is jarring when the debugger pauses during capturing or replaying. For now, we should suppress
3115         all breakpoints during capturing or replaying, and restore breakpoint enabled state when
3116         capturing finishes, when replaying finishes, or during temporary replay pauses.
3117
3118         In the future, the debugger will be selectively enabled during playback to seek to specific
3119         breakpoint hits. This is tracked in https://bugs.webkit.org/show_bug.cgi?id=135663.
3120
3121         * UserInterface/Controllers/ReplayManager.js:
3122         (WebInspector.ReplayManager.prototype.startCapturing.result):
3123         (WebInspector.ReplayManager.prototype.replayToPosition.result):
3124         (WebInspector.ReplayManager.prototype.replayToCompletion.result):
3125         (WebInspector.ReplayManager.prototype.captureStopped):
3126         (WebInspector.ReplayManager.prototype.playbackPaused):
3127         (WebInspector.ReplayManager.prototype.playbackFinished):
3128         (WebInspector.ReplayManager.prototype._changeSegmentState):
3129         (WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):
3130
3131 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
3132
3133         [Win] Build fix.
3134
3135         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing
3136         proper path settings for final output.
3137
3138 2014-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3139
3140         Implement parsing for CSS scroll snap points
3141         https://bugs.webkit.org/show_bug.cgi?id=134301
3142
3143         Reviewed by Dean Jackson.
3144
3145         * UserInterface/Models/CSSKeywordCompletions.js: Added snap point property keywords, such as mandatory, proximity, elements, and repeat.
3146
3147 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
3148
3149         REGRESSION(r172094): tests fail because Inspector test harness does not include UIString
3150         https://bugs.webkit.org/show_bug.cgi?id=135658
3151
3152         Reviewed by Joseph Pecoraro.
3153
3154         * UserInterface/Base/Test.js:
3155         (WebInspector.contentLoaded): Fix brace placement.
3156         (WebInspector.UIString): Added. This is the identity function during testing.
3157
3158 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
3159
3160         Web Inspector: convert ReplayManager to a promise-based API
3161         https://bugs.webkit.org/show_bug.cgi?id=135249
3162
3163         Reviewed by Timothy Hatcher.
3164
3165         Convert replay commands to an asynchronous, promise-based API. This addresses
3166         two problems with a synchronous replay API: clients can only use the synchronous
3167         API if session and segment state are exactly correct, and trying to change state
3168         to match this requirement requires chaining multiple commands and events.
3169
3170         The asynchronous API allows clients to issue replay commands with impunity,
3171         as long as they can be unambiguously handled. For example, issuing
3172         pausePlayback() while capturing is not allowed, but issuing startCapturing()
3173         while replaying is allowed. The API also hides implementation details that
3174         are not important, such as steps to unpause or temporarily disable the debugger.
3175
3176         This patch also cleans up uses of promises, such as adding error re-throwing.
3177         It adds return type annotations to public ReplayManager asynchronous methods.
3178
3179         * UserInterface/Controllers/ReplayManager.js:
3180         (WebInspector.ReplayManager.catch):
3181         (WebInspector.ReplayManager):
3182         (WebInspector.ReplayManager.prototype.createSession):
3183         (WebInspector.ReplayManager.prototype.switchSession):
3184         (WebInspector.ReplayManager.prototype.startCapturing):
3185         (WebInspector.ReplayManager.prototype.stopCapturing):
3186         (WebInspector.ReplayManager.prototype.replayToPosition):
3187         (WebInspector.ReplayManager.prototype.replayToCompletion):
3188         (WebInspector.ReplayManager.prototype.sessionCreated.catch): re-throw.
3189         (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
3190         (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
3191         (WebInspector.ReplayManager.prototype.segmentUnloaded.catch): re-throw.
3192         (WebInspector.ReplayManager.prototype.sessionCreated.catech): re-throw.
3193
3194 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
3195
3196         Web Inspector: protocol command invocations should return a promise if no callback is supplied
3197         https://bugs.webkit.org/show_bug.cgi?id=130702
3198
3199         Reviewed by Timothy Hatcher.
3200
3201         This allows the trailing Agent.command.promise(args) to be dropped in favor of just
3202         Agent.command(args). It should make it a bit easier to convert code to use promises.
3203
3204         Test: LayoutTests/inspector/protocol-promise-result.html
3205
3206         * UserInterface/Controllers/ReplayManager.js: Drop use of .promise().
3207         * UserInterface/Controllers/TimelineManager.js: Drop use of .promise().
3208         (WebInspector.TimelineManager.prototype.startCapturing):
3209         * UserInterface/Protocol/InspectorBackend.js:
3210         (.callable): Redirect to the promise entry point if the last argument isn't a function.
3211         (InspectorBackend.Command.create):
3212
3213 2014-08-05  James Craig  <jcraig@apple.com>
3214
3215         Web Inspector: AXI: Add label string once AccessibilityObject::computedLabel() is available
3216         https://bugs.webkit.org/show_bug.cgi?id=129940
3217
3218         Reviewed by Chris Fleizach.
3219
3220         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI update for label field in Node Inspector.
3221         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
3222
3223 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
3224
3225         Web Inspector: support storing multiple timeline recordings in the manager
3226         https://bugs.webkit.org/show_bug.cgi?id=132875
3227
3228         Reviewed by Timothy Hatcher.
3229
3230         This patch adds support for capturing multiple timeline recordings and switching
3231         between them in the user interface using hierarchical path components.
3232
3233         * Localizations/en.lproj/localizedStrings.js:
3234         * UserInterface/Base/Main.js:
3235         (WebInspector.contentLoaded): Remove hard-coded priming of the timeline sidebar panel.
3236         Instead, load the first recording in the timeline manager after the initial load.
3237
3238         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Don't suppress
3239         onselect events when selecting the tree element for a newly shown content view. This
3240         allows the sidebar to sync the current content view and timeline tree element selection
3241         with what is displayed in the content browser.
3242
3243         * UserInterface/Controllers/TimelineManager.js: Add two new events, RecordingCreated and
3244         RecordingLoaded. A recording is considered active when any new records recieved will be
3245         appended to that recording. The user interface is not necessarily viewing the active
3246         recording.
3247
3248         (WebInspector.TimelineManager.delayedWork):
3249         (WebInspector.TimelineManager): Keep a list of recordings, and load the first recording
3250         asynchronously so that everyone can add an event listener for it.
3251
3252         (WebInspector.TimelineManager.prototype.get activeRecording):
3253         (WebInspector.TimelineManager.prototype.get recordings):
3254         (WebInspector.TimelineManager.prototype.startCapturing):
3255         (WebInspector.TimelineManager.prototype.stopCapturing): Use promises to make the iOS 7
3256         fallback path better match the async semantics of the non-fallback path.
3257
3258         (WebInspector.TimelineManager.prototype.unloadRecording):
3259         (WebInspector.TimelineManager.prototype._loadNewRecording): Stop capturing and unload
3260         any existing recording before creating and loading a new recording.
3261
3262         (WebInspector.TimelineManager.prototype._startAutoCapturing): Create a new recording
3263         rather than resetting the current recording.
3264
3265         * UserInterface/Models/NetworkTimeline.js:
3266         (WebInspector.NetworkTimeline):
3267         * UserInterface/Models/Timeline.js:
3268         (WebInspector.Timeline):
3269         (WebInspector.Timeline.prototype.get type): Each timeline stores its TimelineRecord.Type
3270         so that other code can create type-specific views using the Timeline as a representedObject.
3271
3272         * UserInterface/Models/TimelineRecording.js: For each recording, add new state for a unique identifier,
3273         display string, and an isWritable flag. Once a recording is unloaded, it becomes read-only.
3274         (WebInspector.TimelineRecording.prototype.get displayName):
3275         (WebInspector.TimelineRecording.prototype.get identifier):
3276         (WebInspector.TimelineRecording.prototype.isWritable):
3277         (WebInspector.TimelineRecording.prototype.unloaded):
3278         (WebInspector.TimelineRecording.prototype.reset): A recording can only be reset if it is writable.
3279
3280         * UserInterface/Protocol/InspectorFrontendAPI.js:
3281         (InspectorFrontendAPI.setTimelineProfilingEnabled): Don't make redundant start/stop capturing calls.
3282
3283         * UserInterface/Views/LayoutTimelineOverviewGraph.js: Use a timeline as the representedObject for all
3284         timeline-specific graphs and views. Otherwise, use the recording.
3285         (WebInspector.LayoutTimelineOverviewGraph):
3286         * UserInterface/Views/LayoutTimelineView.js:
3287         (WebInspector.LayoutTimelineView):
3288         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
3289         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
3290         (WebInspector.NetworkTimelineOverviewGraph):
3291         * UserInterface/Views/NetworkTimelineView.js:
3292         (WebInspector.NetworkTimelineView):
3293         * UserInterface/Views/OverviewTimelineView.js:
3294         (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):
3295         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
3296         (WebInspector.ScriptTimelineOverviewGraph):
3297         * UserInterface/Views/ScriptTimelineView.js:
3298         (WebInspector.ScriptTimelineView):
3299         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
3300
3301         * UserInterface/Views/TimelineContentView.js: Iterate over timeline objects when setting up maps. Use timelines
3302         as keys rather than their type identifiers.
3303         (WebInspector.TimelineContentView.prototype.showTimelineViewForTimeline): Renamed from showTimelineView. This
3304         function takes a Timeline instance rather than an identifier, since the conten view is specific to one recording.
3305         (WebInspector.TimelineContentView.prototype.get selectionPathComponents): Match types against the currently
3306         visible timeline's representedObject.
3307         (WebInspector.TimelineContentView.prototype.get currentTimelineView): Used by the sidebar panel to sync timeline
3308         tree element selections to TimelineView shown by the TimelineContentView.
3309         (WebInspector.TimelineContentView.prototype.shown): Sync enablement of the "Clear Timelines" button to recording
3310         read-only state.
3311
3312         (WebInspector.TimelineContentView.prototype.saveToCookie):
3313         (WebInspector.TimelineContentView.prototype.restoreFromCookie): Added. Only handle saving/restoring the subview.
3314
3315         (WebInspector.TimelineContentView.prototype._pathComponentSelected):
3316         (WebInspector.TimelineContentView.prototype._showTimelineView): Relax the early return so that timeline views
3317         and content tree outlines are reattached when re-navigating to the same timeline view via back-forward entries.
3318         (WebInspector.TimelineContentView.prototype.showTimelineView): Deleted.
3319
3320         * UserInterface/Views/TimelineOverviewGraph.js:
3321         (WebInspector.TimelineOverviewGraph):
3322