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