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