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