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