Unreviewed, update localizable strings.
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog-2013-06-11
1 2013-06-10  Timothy Hatcher  <timothy@apple.com>
2
3         Remove Xcode 4 skin and only have the Xcode 5 look.
4
5         Reviewed by Joseph Pecoraro.
6
7         * UserInterface/ButtonNavigationItem.css:
8         (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
9         * UserInterface/CodeMirrorOverrides.css:
10         * UserInterface/DashboardView.css:
11         (.toolbar .dashboard):
12         (body.window-inactive .toolbar .dashboard):
13         (.toolbar.collapsed .dashboard):
14         (.toolbar.collapsed .dashboard > .logs):
15         * UserInterface/DashboardView.js:
16         (WebInspector.DashboardView):
17         (WebInspector.DashboardView.prototype._setItemEnabled):
18         * UserInterface/DetailsSection.css:
19         * UserInterface/DividerNavigationItem.css:
20         (.navigation-bar .item.divider):
21         * UserInterface/FilterBar.css:
22         (.filter-bar > input[type="search"]):
23         (.filter-bar > input[type="search"]::-webkit-input-placeholder):
24         (.filter-bar > input[type="search"]:valid):
25         * UserInterface/FindBanner.css:
26         (.find-banner > input[type="search"]):
27         (.find-banner > button):
28         * UserInterface/HierarchicalPathComponent.css:
29         * UserInterface/InstrumentSidebarPanel.css:
30         * UserInterface/LayerTreeSidebarPanel.css:
31         * UserInterface/Main.css:
32         (#split-content-browser > .navigation-bar):
33         * UserInterface/NavigationBar.css:
34         * UserInterface/NavigationSidebarPanel.css:
35         * UserInterface/RadioButtonNavigationItem.css:
36         (.navigation-bar .item.radio.button.text-only.selected):
37         * UserInterface/ResourceSidebarPanel.css:
38         * UserInterface/ResourceSidebarPanel.js:
39         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
40         * UserInterface/ScopeBar.css:
41         (.scope-bar > li):
42         (.scope-bar > li:active):
43         (.scope-bar > li:hover):
44         (.scope-bar > li.selected):
45         * UserInterface/SearchBar.css:
46         (.search-bar > input[type="search"]):
47         (.search-bar > input[type="search"]::-webkit-input-placeholder):
48         (.search-bar > input[type="search"]:valid):
49         * UserInterface/TimelinesContentView.css:
50         (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
51
52 2013-06-08  Timothy Hatcher  <timothy@apple.com>
53
54         Improve switching from the full view console to the Resource sidebar, so the previous resource is shown in the content browser again.
55
56         Also cleans up my earlier changes and removes an assert that can fire often now.
57
58         <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
59
60         Reviewed by Antoine Quint.
61
62         * UserInterface/Main.js:
63         (WebInspector.showFullHeightConsole):
64         (WebInspector._sidebarCollapsedStateDidChange): Call _updateNavigationSidebarForCurrentContentView for the navigation sidebar.
65         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Only do this work if the sidebar is not collapsed. We don't
66         want to deselect items if the sidebar is collapsed, preserving the selection is important when showing the sidebar later.
67         (WebInspector._updateNavigationSidebarForCurrentContentView): Added. Split off from _navigationSidebarPanelSelected. Only do this work
68         if the sidebar is not collapsed.
69         (WebInspector._navigationSidebarPanelSelected): Call _updateNavigationSidebarForCurrentContentView.
70         (WebInspector._contentBrowserCurrentContentViewDidChange): Clean up by returning early if there is no current content view.
71         * UserInterface/ResourceSidebarPanel.js:
72         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Remove an assert that can happen a lot now.
73
74 2013-06-07  Antoine Quint  <graouts@apple.com>
75
76         <rdar://problem/14094308> Styles should come before Layers details sidebar
77
78         Switch Layers and Styles.
79
80         Reviewed by Timothy Hatcher.
81
82         * UserInterface/CSSStyleDetailsSidebarPanel.js:
83         (WebInspector.CSSStyleDetailsSidebarPanel):
84         * UserInterface/LayerTreeSidebarPanel.js:
85         (WebInspector.LayerTreeSidebarPanel):
86         * UserInterface/Main.js:
87         (WebInspector.contentLoaded):
88
89 2013-06-07  Timothy Hatcher  <timothy@apple.com>
90
91         Keep the selected tree element in sync with the current content view.
92
93         <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
94
95         Reviewed by Antoine Quint.
96
97         * UserInterface/Main.js:
98         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Added.
99         (WebInspector._navigationSidebarPanelSelected): Call _revealAndSelectRepresentedObjectInNavigationSidebar.
100         (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto.
101
102 2013-06-07  Timothy Hatcher  <timothy@apple.com>
103
104         Keep the navigation sidebar and the current content view in sync with a set of allowed sidebars per content view.
105
106         <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
107
108         Reviewed by Antoine Quint.
109
110         * UserInterface/ContentView.js:
111         (WebInspector.ContentView.prototype.get allowedNavigationSidebarPanels): Added.
112         * UserInterface/FrameContentView.js:
113         (WebInspector.FrameContentView.prototype.get allowedNavigationSidebarPanels): Added.
114         * UserInterface/Main.js:
115         (WebInspector.showSplitConsole): Show the navigation sidebar if it was showing.
116         (WebInspector.showFullHeightConsole): Hide the navigation sidebar and remember if it was showing.
117         (WebInspector.toggleConsoleView): Show the sidebar if it was showing.
118         (WebInspector._navigationSidebarPanelSelected): Ensure the navigation sidebar panel is allowed by the current content view.
119         (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto.
120         * UserInterface/NavigationSidebarPanel.js:
121         (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection):
122         (WebInspector.NavigationSidebarPanel.prototype.shown):
123         * UserInterface/ProfileView.js:
124         (WebInspector.ProfileView.prototype.get allowedNavigationSidebarPanels): Added.
125         * UserInterface/ResourceClusterContentView.js:
126         (WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels): Added.
127         * UserInterface/TimelinesContentView.js:
128         (WebInspector.TimelinesContentView.prototype.get allowedNavigationSidebarPanels): Added.
129
130 2013-06-06  Timothy Hatcher  <timothy@apple.com>
131
132         Properly filter into resources with a source map if they haven't been expanded yet.
133
134         <rdar://problem/14072548> Resources filter shows "No Filter Results" after reload with SourceMaps
135
136         Reviewed by Joseph Pecoraro.
137
138         * UserInterface/NavigationSidebarPanel.js:
139         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass false to
140         traverseNextTreeElement to cause the tree elements to be populated. This matches the interactive
141         case when typing into the filter bar, which already worked with source maps.
142
143 2013-06-05  Antoine Quint  <graouts@apple.com>
144
145         <rdar://problem/14077407> Jumping to an error in a JS file form the console highlights to white first before going back to red
146
147         Remove the explicit ÒtoÓ color in the CSS animation we use to highlight a link
148         in the text editor as it is revealed, which means the ÒtoÓ color will be the
149         underlying color set on the element. This will animate to red for errors,
150         yellow for warnings, and transparent for regular lines.
151
152         Reviewed by Timothy Hatcher.
153
154         * UserInterface/TextEditor.css:
155         (@-webkit-keyframes text-editor-highlight-fadeout):
156
157 2013-06-05  Antoine Quint  <graouts@apple.com>
158
159         <rdar://problem/14077152> Activity viewer does not update error count for grouped errors when inspector is closed.
160
161         Take into account the repeat count of an error when incrementing
162         the message count.
163
164         Reviewed by Timothy Hatcher.
165
166         * UserInterface/DashboardManager.js:
167         (WebInspector.DashboardManager.prototype._consoleMessageAdded):
168         (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated):
169         (WebInspector.DashboardManager.prototype._incrementConsoleMessageType):
170
171 2013-06-05  Joseph Pecoraro  <pecoraro@apple.com>
172
173         <rdar://problem/14072409> Pressing Enter/Esc when editing a breakpoint (conditional breakpoint) should dismiss popover
174
175         Handle Esc and Enter on the <input> to dismiss the popover.
176         This behaves like Xcode's breakpoint condition popover.
177
178         Reviewed by Timothy Hatcher.
179
180         * UserInterface/Breakpoint.js:
181         (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown):
182         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
183         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
184
185 2013-06-05  Joseph Pecoraro  <pecoraro@apple.com>
186
187         <rdar://problem/14054886> Pressing Enter in a blank console should do nothing, not insert a newline
188
189         Reviewed by Antoine Quint.
190
191         * UserInterface/ConsolePrompt.js:
192
193 2013-06-05  Timothy Hatcher  <timothy@apple.com>
194
195         Add/update copyright and license to all the user interface files in
196         preparation for open sourcing to WebKit.
197
198         Rubber-stamped by Antoine Quint.
199
200         * UserInterface/ActivateButtonNavigationItem.js:
201         * UserInterface/ActivateButtonToolbarItem.js:
202         * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
203         * UserInterface/ApplicationCacheFrame.js:
204         * UserInterface/ApplicationCacheFrameContentView.css:
205         * UserInterface/ApplicationCacheFrameContentView.js:
206         * UserInterface/ApplicationCacheFrameTreeElement.js:
207         * UserInterface/ApplicationCacheIcons.css:
208         * UserInterface/ApplicationCacheManager.js:
209         * UserInterface/ApplicationCacheManifest.js:
210         * UserInterface/ApplicationCacheManifestTreeElement.js:
211         * UserInterface/ApplicationCacheObserver.js:
212         * UserInterface/BinarySearch.js:
213         * UserInterface/BlankStylePropertiesSection.js:
214         * UserInterface/BottomUpProfileDataGridTree.js:
215         * UserInterface/BoxModelDetailsSectionRow.css:
216         * UserInterface/BoxModelDetailsSectionRow.js:
217         * UserInterface/Branch.js:
218         * UserInterface/BranchManager.js:
219         * UserInterface/Breakpoint.css:
220         * UserInterface/Breakpoint.js:
221         * UserInterface/BreakpointIcons.css:
222         * UserInterface/BreakpointTreeElement.css:
223         * UserInterface/BreakpointTreeElement.js:
224         * UserInterface/ButtonNavigationItem.css:
225         * UserInterface/ButtonNavigationItem.js:
226         * UserInterface/ButtonToolbarItem.css:
227         * UserInterface/ButtonToolbarItem.js:
228         * UserInterface/CSSCompletions.js:
229         * UserInterface/CSSKeywordCompletions.js:
230         * UserInterface/CSSMedia.js:
231         * UserInterface/CSSObserver.js:
232         * UserInterface/CSSProperty.js:
233         * UserInterface/CSSRule.js:
234         * UserInterface/CSSSelectorProfileObject.js:
235         * UserInterface/CSSSelectorProfileType.js:
236         * UserInterface/CSSSelectorProfileView.js:
237         * UserInterface/CSSStyleDeclaration.js:
238         * UserInterface/CSSStyleDeclarationSection.css:
239         * UserInterface/CSSStyleDeclarationSection.js:
240         * UserInterface/CSSStyleDeclarationTextEditor.css:
241         * UserInterface/CSSStyleDeclarationTextEditor.js:
242         * UserInterface/CSSStyleDetailsSidebarPanel.css:
243         * UserInterface/CSSStyleDetailsSidebarPanel.js:
244         * UserInterface/CSSStyleManager.js:
245         * UserInterface/CSSStyleSheet.js:
246         * UserInterface/CallFrame.js:
247         * UserInterface/CallFrameIcons.css:
248         * UserInterface/CallFrameTreeElement.js:
249         * UserInterface/ClusterContentView.css:
250         * UserInterface/ClusterContentView.js:
251         * UserInterface/CodeMirrorAdditions.js:
252         * UserInterface/CodeMirrorCompletionController.css:
253         * UserInterface/CodeMirrorCompletionController.js:
254         * UserInterface/CodeMirrorFormatters.js:
255         * UserInterface/CodeMirrorOverrides.css:
256         * UserInterface/CodeMirrorTokenTrackingController.css:
257         * UserInterface/CodeMirrorTokenTrackingController.js:
258         * UserInterface/Color.js:
259         * UserInterface/CompletionSuggestionsView.css:
260         * UserInterface/CompletionSuggestionsView.js:
261         * UserInterface/ComputedStyleDetailsPanel.js:
262         * UserInterface/ConsoleCommand.js:
263         * UserInterface/ConsoleCommandResult.js:
264         * UserInterface/ConsoleGroup.js:
265         * UserInterface/ConsoleMessage.js:
266         * UserInterface/ConsoleMessageImpl.js:
267         * UserInterface/ConsoleObserver.js:
268         * UserInterface/ConsolePrompt.css:
269         * UserInterface/ConsolePrompt.js:
270         * UserInterface/ContentBrowser.css:
271         * UserInterface/ContentBrowser.js:
272         * UserInterface/ContentView.css:
273         * UserInterface/ContentView.js:
274         * UserInterface/ContentViewContainer.css:
275         * UserInterface/ContentViewContainer.js:
276         * UserInterface/ContextMenu.js:
277         * UserInterface/ControlToolbarItem.css:
278         * UserInterface/ControlToolbarItem.js:
279         * UserInterface/CookieIcon.css:
280         * UserInterface/CookieStorageContentView.css:
281         * UserInterface/CookieStorageContentView.js:
282         * UserInterface/CookieStorageObject.js:
283         * UserInterface/CookieStorageTreeElement.js:
284         * UserInterface/DOMDetailsSidebarPanel.js:
285         * UserInterface/DOMNode.js:
286         * UserInterface/DOMNodeDetailsSidebarPanel.js:
287         * UserInterface/DOMNodeStyles.js:
288         * UserInterface/DOMObserver.js:
289         * UserInterface/DOMSearchMatchObject.js:
290         * UserInterface/DOMStorageContentView.css:
291         * UserInterface/DOMStorageContentView.js:
292         * UserInterface/DOMStorageIcons.css:
293         * UserInterface/DOMStorageObject.js:
294         * UserInterface/DOMStorageObserver.js:
295         * UserInterface/DOMStorageTreeElement.js:
296         * UserInterface/DOMTree.js:
297         * UserInterface/DOMTreeContentView.css:
298         * UserInterface/DOMTreeContentView.js:
299         * UserInterface/DOMTreeElement.js:
300         * UserInterface/DOMTreeElementPathComponent.js:
301         * UserInterface/DOMTreeManager.js:
302         * UserInterface/DOMTreeOutline.css:
303         * UserInterface/DOMTreeOutline.js:
304         * UserInterface/DOMTreeUpdater.js:
305         * UserInterface/DOMUtilities.js:
306         * UserInterface/DashboardManager.js:
307         * UserInterface/DashboardView.css:
308         * UserInterface/DashboardView.js:
309         * UserInterface/DataGrid.css:
310         * UserInterface/DataGrid.js:
311         * UserInterface/DatabaseContentView.css:
312         * UserInterface/DatabaseContentView.js:
313         * UserInterface/DatabaseHostTreeElement.js:
314         * UserInterface/DatabaseIcon.css:
315         * UserInterface/DatabaseObject.js:
316         * UserInterface/DatabaseObserver.js:
317         * UserInterface/DatabaseTableContentView.css:
318         * UserInterface/DatabaseTableContentView.js:
319         * UserInterface/DatabaseTableIcon.css:
320         * UserInterface/DatabaseTableObject.js:
321         * UserInterface/DatabaseTableTreeElement.js:
322         * UserInterface/DatabaseTreeElement.js:
323         * UserInterface/DebuggerManager.js:
324         * UserInterface/DebuggerObserver.js:
325         * UserInterface/DebuggerSidebarPanel.css:
326         * UserInterface/DebuggerSidebarPanel.js:
327         * UserInterface/DetailsSection.css:
328         * UserInterface/DetailsSection.js:
329         * UserInterface/DetailsSectionDataGridRow.js:
330         * UserInterface/DetailsSectionGroup.js:
331         * UserInterface/DetailsSectionPropertiesRow.js:
332         * UserInterface/DetailsSectionRow.js:
333         * UserInterface/DetailsSectionSimpleRow.js:
334         * UserInterface/DetailsSidebarPanel.css:
335         * UserInterface/DetailsSidebarPanel.js:
336         * UserInterface/DividerNavigationItem.css:
337         * UserInterface/DividerNavigationItem.js:
338         * UserInterface/Editing.css:
339         * UserInterface/EditingSupport.js:
340         * UserInterface/EventHandler.js:
341         * UserInterface/EventListenerSection.js:
342         * UserInterface/EventListenerSectionGroup.css:
343         * UserInterface/EventListenerSectionGroup.js:
344         * UserInterface/ExecutionContext.js:
345         * UserInterface/ExecutionContextList.js:
346         * UserInterface/FilterBar.css:
347         * UserInterface/FilterBar.js:
348         * UserInterface/FindBanner.css:
349         * UserInterface/FindBanner.js:
350         * UserInterface/FlexibleSpaceNavigationItem.css:
351         * UserInterface/FlexibleSpaceNavigationItem.js:
352         * UserInterface/FolderIcon.css:
353         * UserInterface/FolderTreeElement.js:
354         * UserInterface/FontResourceContentView.css:
355         * UserInterface/FontResourceContentView.js:
356         * UserInterface/Formatter.js:
357         * UserInterface/FormatterContentBuilder.js:
358         * UserInterface/FormatterSourceMap.js:
359         * UserInterface/Frame.js:
360         * UserInterface/FrameContentView.js:
361         * UserInterface/FrameResourceManager.js:
362         * UserInterface/FrameTreeElement.js:
363         * UserInterface/GeneralTreeElement.js:
364         * UserInterface/GeneralTreeElementPathComponent.js:
365         * UserInterface/GenericResourceContentView.js:
366         * UserInterface/Geometry.js:
367         * UserInterface/HierarchicalPathComponent.css:
368         * UserInterface/HierarchicalPathComponent.js:
369         * UserInterface/HierarchicalPathNavigationItem.js:
370         * UserInterface/ImageResourceContentView.css:
371         * UserInterface/ImageResourceContentView.js:
372         * UserInterface/ImageUtilities.js:
373         * UserInterface/IndeterminateProgressSpinner.css:
374         * UserInterface/IndeterminateProgressSpinner.js:
375         * UserInterface/InspectorBackend.js:
376         * UserInterface/InspectorFrontendAPI.js:
377         * UserInterface/InspectorObserver.js:
378         * UserInterface/InstrumentIcons.css:
379         * UserInterface/InstrumentSidebarPanel.css:
380         * UserInterface/InstrumentSidebarPanel.js:
381         * UserInterface/IssueManager.js:
382         * UserInterface/IssueMessage.js:
383         * UserInterface/JavaScriptLogViewController.js:
384         * UserInterface/JavaScriptProfileObject.js:
385         * UserInterface/JavaScriptProfileType.js:
386         * UserInterface/JavaScriptProfileView.css:
387         * UserInterface/JavaScriptProfileView.js:
388         * UserInterface/KeyboardShortcut.js:
389         * UserInterface/LayerTreeDataGrid.js:
390         * UserInterface/LayerTreeDataGridNode.js:
391         * UserInterface/LayerTreeManager.js:
392         * UserInterface/LayerTreeObserver.js:
393         * UserInterface/LayerTreeSidebarPanel.css:
394         * UserInterface/LayerTreeSidebarPanel.js:
395         * UserInterface/LayoutTimelineDataGrid.js:
396         * UserInterface/LayoutTimelineDataGridNode.js:
397         * UserInterface/LayoutTimelineRecord.js:
398         * UserInterface/LoadInspectorBackendCommands.js:
399         * UserInterface/LoadLocalizedStrings.js:
400         * UserInterface/LogContentView.css:
401         * UserInterface/LogContentView.js:
402         * UserInterface/LogIcon.css:
403         * UserInterface/LogManager.js:
404         * UserInterface/LogObject.js:
405         * UserInterface/LogTreeElement.js:
406         * UserInterface/MIMETypeUtilities.js:
407         * UserInterface/Main.css:
408         * UserInterface/Main.html:
409         * UserInterface/Main.js:
410         * UserInterface/MetricsStyleDetailsPanel.js:
411         * UserInterface/NavigationBar.css:
412         * UserInterface/NavigationBar.js:
413         * UserInterface/NavigationItem.js:
414         * UserInterface/NavigationSidebarPanel.css:
415         * UserInterface/NavigationSidebarPanel.js:
416         * UserInterface/NetworkDataGrid.css:
417         * UserInterface/NetworkDataGrid.js:
418         * UserInterface/NetworkGraphCalculator.js:
419         * UserInterface/NetworkObserver.js:
420         * UserInterface/NetworkTimeline.css:
421         * UserInterface/Object.js:
422         * UserInterface/ObjectPropertiesSection.js:
423         * UserInterface/PageObserver.js:
424         * UserInterface/PathComponentIcons.css:
425         * UserInterface/Popover.css:
426         * UserInterface/Popover.js:
427         * UserInterface/ProfileManager.js:
428         * UserInterface/ProfileObject.js:
429         * UserInterface/ProfileType.js:
430         * UserInterface/ProfileView.css:
431         * UserInterface/ProfileView.js:
432         * UserInterface/ProfilerObserver.js:
433         * UserInterface/PropertiesSection.js:
434         * UserInterface/QuickConsole.css:
435         * UserInterface/QuickConsole.js:
436         * UserInterface/QuickConsoleNavigationBar.js:
437         * UserInterface/RadioButtonNavigationItem.css:
438         * UserInterface/RadioButtonNavigationItem.js:
439         * UserInterface/Resource.js:
440         * UserInterface/ResourceClusterContentView.js:
441         * UserInterface/ResourceCollection.js:
442         * UserInterface/ResourceContentView.js:
443         * UserInterface/ResourceDetailsSidebarPanel.js:
444         * UserInterface/ResourceIcons.css:
445         * UserInterface/ResourceSearchMatchObject.js:
446         * UserInterface/ResourceSidebarPanel.css:
447         * UserInterface/ResourceSidebarPanel.js:
448         * UserInterface/ResourceTimelineDataGridNode.js:
449         * UserInterface/ResourceTimelineDataGridNodePathComponent.js:
450         * UserInterface/ResourceTimelineRecord.js:
451         * UserInterface/ResourceTreeElement.css:
452         * UserInterface/ResourceTreeElement.js:
453         * UserInterface/Revision.js:
454         * UserInterface/RulesStyleDetailsPanel.css:
455         * UserInterface/RulesStyleDetailsPanel.js:
456         * UserInterface/RuntimeObserver.js:
457         * UserInterface/ScopeBar.css:
458         * UserInterface/ScopeBar.js:
459         * UserInterface/ScopeBarItem.js:
460         * UserInterface/ScopeChainDetailsSidebarPanel.js:
461         * UserInterface/ScopeChainNode.js:
462         * UserInterface/ScopeVariableTreeElement.js:
463         * UserInterface/Script.js:
464         * UserInterface/ScriptContentView.css:
465         * UserInterface/ScriptContentView.js:
466         * UserInterface/ScriptTimelineDataGrid.js:
467         * UserInterface/ScriptTimelineDataGridNode.js:
468         * UserInterface/ScriptTimelineRecord.js:
469         * UserInterface/ScriptTreeElement.js:
470         * UserInterface/SearchBar.css:
471         * UserInterface/SearchBar.js:
472         * UserInterface/SearchIcons.css:
473         * UserInterface/SearchResultTreeElement.js:
474         * UserInterface/Section.css:
475         * UserInterface/Section.js:
476         * UserInterface/Setting.js:
477         * UserInterface/Sidebar.css:
478         * UserInterface/Sidebar.js:
479         * UserInterface/SidebarPanel.js:
480         * UserInterface/SourceCode.js:
481         * UserInterface/SourceCodeLocation.js:
482         * UserInterface/SourceCodePosition.js:
483         * UserInterface/SourceCodeRevision.js:
484         * UserInterface/SourceCodeTextEditor.css:
485         * UserInterface/SourceCodeTextEditor.js:
486         * UserInterface/SourceCodeTextRange.js:
487         * UserInterface/SourceCodeTreeElement.js:
488         * UserInterface/SourceMap.js:
489         * UserInterface/SourceMapManager.js:
490         * UserInterface/SourceMapResource.js:
491         * UserInterface/SourceMapResourceTreeElement.js:
492         * UserInterface/StorageManager.js:
493         * UserInterface/StorageTreeElement.js:
494         * UserInterface/StyleDetailsPanel.js:
495         * UserInterface/StyleRuleIcons.css:
496         * UserInterface/SyntaxHighlightingDefaultTheme.css:
497         * UserInterface/SyntaxHighlightingSupport.js:
498         * UserInterface/TextContentView.css:
499         * UserInterface/TextContentView.js:
500         * UserInterface/TextEditor.css:
501         * UserInterface/TextEditor.js:
502         * UserInterface/TextRange.js:
503         * UserInterface/TextResourceContentView.css:
504         * UserInterface/TextResourceContentView.js:
505         * UserInterface/TimelineDataGrid.css:
506         * UserInterface/TimelineDataGrid.js:
507         * UserInterface/TimelineDecorations.css:
508         * UserInterface/TimelineDecorations.js:
509         * UserInterface/TimelineEventMarker.js:
510         * UserInterface/TimelineManager.js:
511         * UserInterface/TimelineObserver.js:
512         * UserInterface/TimelineOverview.css:
513         * UserInterface/TimelineOverview.js:
514         * UserInterface/TimelineRecord.js:
515         * UserInterface/TimelinesContentView.css:
516         * UserInterface/TimelinesContentView.js:
517         * UserInterface/TimelinesObject.js:
518         * UserInterface/ToggleButtonNavigationItem.js:
519         * UserInterface/ToggleControlToolbarItem.js:
520         * UserInterface/Toolbar.css:
521         * UserInterface/Toolbar.js:
522         * UserInterface/TreeOutline.js:
523         * UserInterface/Utilities.js:
524         * UserInterface/WebInspector.js:
525
526 2013-06-05  Timothy Hatcher  <timothy@apple.com>
527
528         Properly update the boundaries for the NetworkTransferTimeCalculator.
529
530         It is expected that _lowerBound and _upperBound return NaN instead of 0.
531
532         <rdar://problem/14040314> Web Inspector says it takes ~15,000 days to load developer library
533
534         Reviewed by Joseph Pecoraro.
535
536         * UserInterface/NetworkDataGrid.js:
537         (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes):
538         * UserInterface/NetworkGraphCalculator.js:
539         (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
540         (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
541         * UserInterface/TimelineDecorations.js:
542         (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
543
544 2013-06-05  Timothy Hatcher  <timothy@apple.com>
545
546         Unlocalize the box model labels.
547
548         <rdar://problem/14057745> [WebBrowser]: Euro: 13A476r: Box model should not be localized
549
550         Reviewed by Ada Chan.
551
552         * UserInterface/BoxModelDetailsSectionRow.js:
553         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
554
555 2013-06-05  Timothy Hatcher  <timothy@apple.com>
556
557         Syntax highlight inherit, initial and function names in CSS as keywords.
558
559         Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
560
561         Reviewed by Joseph Pecoraro.
562
563         * UserInterface/CSSCompletions.js:
564         (WebInspector.CSSCompletions.requestCSSNameCompletions.propertyNamesCallback):
565         Strip function parenthesis from names. Process the color list to strip function parenthesis from rgb(), etc.
566
567 2013-06-05  Timothy Hatcher  <timothy@apple.com>
568
569         Improve the implicit suffix handling when editing in the middle of a CSS value.
570
571         Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
572
573         Reviewed by Joseph Pecoraro.
574
575         * UserInterface/CodeMirrorCompletionController.js:
576         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
577
578 2013-06-05  Timothy Hatcher  <timothy@apple.com>
579
580         Autocomplete property names for transition and transition-property.
581
582         Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
583
584         Reviewed by Joseph Pecoraro.
585
586         * UserInterface/CSSCompletions.js:
587         (WebInspector.CSSCompletions.prototype.get values):
588         * UserInterface/CSSKeywordCompletions.js:
589         (WebInspector.CSSKeywordCompletions.forProperty):
590
591 2013-06-04  Timothy Hatcher  <timothy@apple.com>
592
593         Properly autocomplete CSS values if the property name is on a previous line.
594
595         Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
596
597         Reviewed by Joseph Pecoraro.
598
599         * UserInterface/CodeMirrorCompletionController.js:
600         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
601
602 2013-06-03  Timothy Hatcher  <timothy@apple.com>
603
604         Add property names to the value keywords list so they are highlighted for -webkit-transition.
605
606         <rdar://problem/14052662> "-webkit-transform" is not correctly highlighted when editing CSS resource
607
608         Reviewed by Joseph Pecoraro.
609
610         * UserInterface/CSSCompletions.js:
611         (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
612
613 2013-06-03  Joseph Pecoraro  <pecoraro@apple.com>
614
615         <rdar://problem/14047312> Add New Rules sometimes doesn't do anything
616
617         Better handle generating selectors for nodes with spaces in class or id attributes.
618
619         Tests: (Cases that were failing before)
620
621           <div class=" x "> => Before: (..x.)  After: (.x)
622           <div id=" x ">    => Before: (# x )  After: (div[id=" x "])
623           <div id='"x"'>    => Before: (#"x")  After: (div[id="\"x\""])
624
625         Reviewed by Timothy Hatcher.
626
627         * UserInterface/DOMNode.js:
628         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
629         * UserInterface/DOMUtilities.js:
630         (WebInspector.displayNameForNode):
631
632 2013-06-03  Antoine Quint  <graouts@apple.com>
633
634         <rdar://problem/13932229> Update CSSKeywordCompletions.js for iOS properties
635
636         Add support for the new Ò-appleÓ-prefixed values for the ÒfontÓ property.
637
638         Reviewed by Timothy Hatcher.
639
640         * UserInterface/CSSKeywordCompletions.js:
641
642 2013-06-03  Joseph Pecoraro  <pecoraro@apple.com>
643
644         <rdar://problem/14047029> Exception CallFrameTreeElement.js:19: TypeError: 'null' is not an object (evaluating 'callFrame.sourceCodeLocation.displaySourceCode')
645
646         Only include a subtitle for call frame tree elements if there is a
647         source code location, because that is used to determine the subtitle.
648
649         Reviewed by Timothy Hatcher.
650
651         * UserInterface/CallFrameTreeElement.js:
652         (WebInspector.CallFrameTreeElement):
653
654 2013-06-03  Timothy Hatcher  <timothy@apple.com>
655
656         Hide the caret in read-only style declarations.
657
658         <rdar://problem/14047344> Locked rules (UA stylesheets) in Styles sidebar shouldn't display a caret
659
660         Reviewed by Joseph Pecoraro.
661
662         * UserInterface/CSSStyleDeclarationTextEditor.css:
663         (.css-style-text-editor.read-only > .CodeMirror .CodeMirror-cursor): Added.
664
665 2013-06-03  Timothy Hatcher  <timothy@apple.com>
666
667         Correctly stop auto recording the Timeline after the load event or a maximum duration (which ever comes first).
668
669         The original fix for <rdar://problem/13180009> was incorrect and caused <rdar://problem/13919974>
670         and also caused infinite auto recording on pages with indefinite timers that rapidly adds records.
671
672         <rdar://problem/14043180> REGRESSION (6.0.5-Curie): Safari Web Content: 100% CPU when using Inspector
673
674         Reviewed by Joseph Pecoraro.
675
676         * UserInterface/TimelineManager.js:
677         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
678         Don't call _stopAutoRecordingSoon for the DOMContent event.
679
680         (WebInspector.TimelineManager.prototype._addRecord):
681         Don't call _stopAutoRecordingSoon. Add the call to _resetAutoRecordingDeadTimeTimeout back.
682
683         (WebInspector.TimelineManager.prototype._startAutoRecording):
684         Use MaximumAutoRecordDuration instead of MaximumAutoRecordDurationAfterLastRecord for the timeout.
685
686         (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
687         Remove the dead time timeout now that it is back in _addRecord.
688
689 2013-06-02  Joseph Pecoraro  <pecoraro@apple.com>
690
691         <rdar://problem/14040519> BoxModelDetailsSectionRow.js:120: ERROR: TypeError: 'null' is not an object (evaluating 'style.propertyForName(width).value')
692
693         Make the sidebar resilient against the possibility of an empty computed
694         style object. The ultimate issue is that the DOM Tree does not have a
695         selected node, but this could should be resilient anyways.
696
697         Reviewed by Timothy Hatcher.
698
699         * UserInterface/BoxModelDetailsSectionRow.js:
700         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
701
702 2013-06-02  Joseph Pecoraro  <pecoraro@apple.com>
703
704         Reveal line sometimes doesn't work with content right at the edge of the screen.
705
706         Reviewed by Timothy Hatcher.
707
708         * UserInterface/TextEditor.js:
709         (WebInspector.TextEditor.prototype._isPositionVisible):
710
711 2013-05-31  Joseph Pecoraro  <pecoraro@apple.com>
712
713         <rdar://problem/14039888> Should not have spellchecking during most HTML editing
714
715         Allow EditingConfig to specify whether or not spellchecking should be enabled.
716         Spellcheck is off by default, because most of the time it is code, and it is
717         only enabled when editing a TextNode in the DOM Tree.
718
719         Reviewed by Timothy Hatcher.
720
721         * UserInterface/DOMTreeElement.js:
722         (WebInspector.DOMTreeElement.prototype._startEditingTextNode):
723         * UserInterface/EditingSupport.js:
724         (WebInspector.EditingConfig):
725         (.cleanUpAfterEditing):
726
727 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
728
729         <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
730
731         Previously the SourceCodeTextEditor was automatically formatting the
732         content after the content was set on the TextEditor and some initial
733         processing; such as revealing a pending position. This change lets
734         the SourceCodeTextEditor signal to the TextEditor that it should
735         automatically format the incoming string before the extra processing
736         takes place. Now the pending position is updated in _prettyPrint,
737         and revealed appropriately.
738
739         Reviewed by Antoine Quint.
740
741         * UserInterface/SourceCodeTextEditor.js:
742         (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
743         (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
744         (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
745         Move the auto formatting decision from didPopulate to willPopulate.
746         If autoformatting is needed, we signal the TextEditor before setting
747         the string.
748
749         * UserInterface/TextEditor.js:
750         (WebInspector.TextEditor.prototype.set string.update):
751         (WebInspector.TextEditor.prototype.set string):
752         (WebInspector.TextEditor.prototype.set autoFormat):
753         Keep a boolean for whether or not we should auto format when setting
754         the string. When setting the string, format if needed, after clearing
755         the history and before any pending position reveals.
756
757 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
758
759         <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
760
761         Rename "revealLine" to "revealPosition". Now, if the first reveal is
762         for a position in pretty printed code, it can be remapped to an
763         appropriate (line, column), instead of whatever (line, 0) mapped to.
764
765         There is one bug fix here, the _prettyPrint in TextEditor was
766         incorrectly doing this._lineNumberToReveal.lineNumber, which should
767         have just been this._lineNumberToReveal. However, this code was not
768         getting reached in its current form. That will be addressed in the
769         next part.
770
771         Reviewed by Antoine Quint.
772
773         * UserInterface/FrameContentView.js:
774         (WebInspector.FrameContentView.prototype.showSourceCode):
775         * UserInterface/ResourceClusterContentView.js:
776         (WebInspector.ResourceClusterContentView.prototype.showResponse):
777         (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
778         * UserInterface/ResourceSidebarPanel.js:
779         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
780         (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeLocation):
781         (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation):
782         (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeLocation):
783         (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
784         (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange):
785         * UserInterface/ScriptContentView.js:
786         (WebInspector.ScriptContentView.prototype.revealPosition):
787         * UserInterface/TextContentView.js:
788         (WebInspector.TextContentView.prototype.revealPosition):
789         * UserInterface/TextEditor.js:
790         (WebInspector.TextEditor.prototype.set string.update):
791         (WebInspector.TextEditor.prototype.set string):
792         (WebInspector.TextEditor.prototype.revealNextSearchResult):
793         (WebInspector.TextEditor.prototype.line):
794         (WebInspector.TextEditor.prototype.updateLayout):
795         (WebInspector.TextEditor.prototype._textRangeFromCodeMirrorPosition):
796         (WebInspector.TextEditor.prototype._codeMirrorPositionFromTextRange):
797         * UserInterface/TextResourceContentView.js:
798         (WebInspector.TextResourceContentView.prototype.revealPosition):
799
800 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
801
802         <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
803
804         Add WebInspector.SourceCodePosition. Rather than passing lineNumber
805         and columnNumber as separate parameters all over the place, we can
806         pass a position object. Create positions as appropriate from other
807         classes like SourceCodeLocation and TextRange.
808
809         Reviewed by Antoine Quint.
810
811         * UserInterface/Main.html:
812         * UserInterface/SourceCodeLocation.js:
813         (WebInspector.SourceCodeLocation.prototype.position):
814         (WebInspector.SourceCodeLocation.prototype.formattedPosition):
815         (WebInspector.SourceCodeLocation.prototype.displayPosition):
816         * UserInterface/SourceCodePosition.js: Added.
817         (WebInspector.SourceCodePosition):
818         (WebInspector.SourceCodePosition.prototype.get lineNumber):
819         (WebInspector.SourceCodePosition.prototype.get columnNumber):
820         * UserInterface/TextRange.js:
821         (WebInspector.TextRange.prototype.startPosition):
822         (WebInspector.TextRange.prototype.endPosition):
823
824 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
825
826         <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
827
828         Remove a reveal that always happens with line number 0.
829
830         Reviewed by Antoine Quint.
831
832         * UserInterface/Main.js:
833         (WebInspector.toggleConsoleView):
834         * UserInterface/ResourceSidebarPanel.js:
835         (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode):
836
837 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
838
839         Unprefix uses of "-webkit-calc".
840
841         Reviewed by Timothy Hatcher.
842
843         * UserInterface/CSSStyleDeclarationTextEditor.css:
844         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
845
846 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
847
848         <rdar://problem/14028576> Inspector finds CSS color names in other strings
849
850         Be a little more picky with our CSS regex, and include some post-processing
851         to act as a negative lookbehind, which is not supported in JavaScript regexes.
852         Do not allow color names that are prefixed or post-fixed with '-' or '.'.
853
854         Tests cases that previously would have produced swatches:
855
856           url(gold.png);
857           url("fools-gold.png");
858           url(fools.gold.png);
859
860         Using a regex is of course an imperfect solution, but it covers the majority
861         of cases and works well. It also allows us to detect colors in comments and
862         provide color swatches for those. This allows us to filter out some more
863         inappropriate cases.
864
865         Reviewed by Timothy Hatcher.
866
867         * UserInterface/CSSStyleDeclarationTextEditor.js:
868         (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
869         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
870
871 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
872
873         <rdar://problem/14023649> No -webkit-filter autocompletion
874
875         Add functions to CSS completion suggestions. When the completion
876         suggestion is showing it has both parens, when committed, the cursor is
877         placed inside the two parens so users can keep typing.
878
879         This adds a bunch of common function completions.
880
881         Reviewed by Timothy Hatcher.
882
883         * UserInterface/CSSKeywordCompletions.js:
884         * UserInterface/CodeMirrorCompletionController.js:
885         (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint):
886
887 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
888
889         <rdar://problem/13994485> Hovering element breadcrumbs should highlight element on page
890
891         When hovering DOMTreeElementPathComponents highlight the associated
892         node on the page, like when you hover the DOMTreeElement.
893
894         Reviewed by Dean Jackson.
895
896         * UserInterface/HierarchicalPathComponent.js:
897         (WebInspector.HierarchicalPathComponent):
898         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOver):
899         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOut):
900         Provide hooks for subclass mouseOver and mouseOut functions.
901
902         * UserInterface/DOMTreeElementPathComponent.js:
903         (WebInspector.DOMTreeElementPathComponent.prototype.get nextSibling):
904         (WebInspector.DOMTreeElementPathComponent.prototype.mouseOver):
905         (WebInspector.DOMTreeElementPathComponent.prototype.mouseOut):
906         Implement the mouseOver and mouseOut to show / hide the DOM highlight.
907
908 2013-05-30  Joseph Pecoraro  <pecoraro@apple.com>
909
910         <rdar://problem/14020206> Debugger popover not showing for "this"
911
912         Allow popover for the keyword "this".
913
914         Reviewed by Antoine Quint.
915
916         * UserInterface/CodeMirrorTokenTrackingController.js:
917         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
918
919 2013-05-28  Joseph Pecoraro  <pecoraro@apple.com>
920
921         <rdar://problem/14007495> Web Inspector has "Instruments," but this is already a feature in Xcode
922
923         Rename the "Instruments" Navigation Sidebar to "Timelines". Marketing
924         had concerns about using the same name in multiple places.
925
926         Rubber-stamped by Timothy Hatcher.
927
928         * Localizations/en.lproj/localizedStrings.js:
929         * UserInterface/InstrumentSidebarPanel.js:
930         (WebInspector.InstrumentSidebarPanel):
931
932 2013-05-28  Joseph Pecoraro  <pecoraro@apple.com>
933
934         <rdar://problem/14006550> Console errors persist when you navigate to other pages
935
936         The console can clear in two ways, handle both events.
937
938         Reviewed by Timothy Hatcher.
939
940         * UserInterface/DashboardManager.js:
941         (WebInspector.DashboardManager):
942
943 2013-05-27  Timothy Hatcher  <timothy@apple.com>
944
945         Fix copy handeling for DataGrid.
946
947         When text selection was disabled in r48866, that broke the copy event
948         handlers for DataGrid. That change prevents focus from making a caret
949         selection inside the DataGrid (it goes outside to the nearest selectable
950         text). This broke bubbling of the copy event to the right elements.
951
952         Reviewed by Antoine Quint.
953
954         * UserInterface/DataGrid.js:
955         (WebInspector.DataGrid):
956         (WebInspector.DataGrid.prototype.handleBeforeCopyEvent):
957         (WebInspector.DataGrid.prototype.handleCopyEvent):
958         * UserInterface/Main.js:
959         (WebInspector._beforecopy):
960         (WebInspector._copy):
961
962 2013-05-27  Timothy Hatcher  <timothy@apple.com>
963
964         Allow data grid value column's in details sections wrap to multiple lines.
965
966         <rdar://problem/12329905> Can't easily view long header values
967
968         Reviewed by Antoine Quint.
969
970         * UserInterface/DataGrid.css:
971         (.data-grid tr.selected):
972         (.data-grid:focus tr.selected):
973         * UserInterface/DetailsSection.css:
974         (.details-section > .content .data-grid table.data):
975         (.details-section > .content .data-grid tr:nth-child(even)):
976         (.details-section > .content .data-grid tr:nth-child(odd)):
977         (.details-section > .content .data-grid td.value-column):
978         (.details-section > .content .data-grid td.value-column > div):
979
980 2013-05-27  Timothy Hatcher  <timothy@apple.com>
981
982         Only add event markers for the main frame.
983
984         The event markers for frame heavy pages are too noisy and not very
985         useful. We also didn't distinguish frames in the marker tooltips.
986
987         Reviewed by Antoine Quint.
988
989         * UserInterface/TimelineManager.js:
990         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
991         (WebInspector.TimelineManager.prototype.eventRecorded):
992
993 2013-05-26  Timothy Hatcher  <timothy@apple.com>
994
995         Stop using a CSS drop-shadow filter for the Web Inspector popover.
996
997         Use the existing background canvas to draw the drop shadow instead.
998
999         <rdar://problem/13991902> Stop using CSS filters for Popover
1000
1001         This also fixes:
1002         <rdar://problem/13977466> Popover arrow is not perfectly centered with content
1003
1004         Reviewed by Joseph Pecoraro.
1005
1006         * UserInterface/Popover.css:
1007         (.popover):
1008         (.popover > .container):
1009         * UserInterface/Popover.js:
1010         (WebInspector.Popover.prototype._update):
1011         (WebInspector.Popover.prototype._drawBackground):
1012         (WebInspector.Popover.prototype._bestMetricsForEdge):
1013
1014 2013-05-25  Timothy Hatcher  <timothy@apple.com>
1015
1016         Show the popover after a delay so quickly arrowing down the grid does not flash the popover.
1017
1018         Also prevent showing the popover if the element is hidden, which was happening sometimes for
1019         rows at the bottom which were marked as offscreen still. Put MIN_Y before MAX_X so the popover
1020         is more predictably positioned, and this matches NSPopover. Plus always clear the popover
1021         TreeOutline after giving the popover time to animate out when hiding.
1022
1023         Reviewed by Joseph Pecoraro.
1024
1025         * UserInterface/TimelineDataGrid.js:
1026         (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
1027         (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon.delayedWork):
1028         (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon):
1029         (WebInspector.TimelineDataGrid.prototype._hidePopover):
1030         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
1031
1032 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1033
1034         Show a highlight quad on the screen when selecting a Layout/Paint record.
1035
1036         If we know the Quad / Rect of a Paint / Layout we can highlight that
1037         portion on the inspected page. Unfortunately this information is not
1038         very useful after the page scrolls, but it can be useful.
1039
1040         Reviewed by Timothy Hatcher.
1041
1042         * UserInterface/Geometry.js:
1043         (WebInspector.Quad.prototype.toProtocol):
1044         * UserInterface/LayoutTimelineDataGrid.js:
1045         (WebInspector.LayoutTimelineDataGrid):
1046         (WebInspector.LayoutTimelineDataGrid.prototype.reset):
1047         (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
1048         (WebInspector.LayoutTimelineDataGrid.prototype.hidden):
1049         (WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged):
1050         (WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded):
1051         * UserInterface/TimelineDataGrid.js:
1052         (WebInspector.TimelineDataGrid.prototype.shown):
1053         (WebInspector.TimelineDataGrid.prototype.hidden):
1054         * UserInterface/TimelinesContentView.js:
1055         (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType):
1056         (WebInspector.TimelinesContentView.prototype.shown):
1057         (WebInspector.TimelinesContentView.prototype.hidden):
1058
1059 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1060
1061         <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
1062
1063         Clear the popover's contents when the content view is reset so
1064         we don't leak anything held by the CallFrameTreeElements.
1065
1066         Reviewed by Timothy Hatcher.
1067
1068         * UserInterface/NetworkDataGrid.js:
1069         (WebInspector.NetworkDataGrid.prototype.reset):
1070         * UserInterface/TimelineDataGrid.js:
1071         (WebInspector.TimelineDataGrid.prototype.reset):
1072
1073 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1074
1075         <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
1076
1077         Stack trace information is already available from the backend. Display
1078         it in a popover when the corresponding row in the data grid is selected.
1079         Users can then click a call frame to jump to that source code location.
1080
1081         Because both Layout and Script timelines include call traces, this is
1082         made generic an put in TimelineDataGrid. Subclasses tell the superclass
1083         which element to anchor the popover next to, but the superclass handles
1084         showing the popover.
1085
1086         Reviewed by Timothy Hatcher.
1087
1088         * UserInterface/CallFrameTreeElement.js:
1089         (WebInspector.CallFrameTreeElement):
1090         Allow a CallFrameTreeElement for native code call frames. Such call
1091         frames don't have a source code location, so they have no subtitle.
1092
1093         * UserInterface/Images/Native.pdf: Added.
1094         * UserInterface/CallFrameIcons.css:
1095         (.native-icon .icon):
1096         This is a duplicate of the DOMNode.pdf gray [N] icon.
1097
1098         * UserInterface/Main.html:
1099         Include new files.
1100
1101         * UserInterface/NetworkDataGrid.js:
1102         (WebInspector.NetworkDataGrid):
1103         * UserInterface/ScriptTimelineDataGrid.js: Added.
1104         (WebInspector.ScriptTimelineDataGrid):
1105         (WebInspector.ScriptTimelineDataGrid.prototype.callFramePopoverAnchorElement):
1106         * UserInterface/LayoutTimelineDataGrid.js: Added.
1107         (WebInspector.LayoutTimelineDataGrid):
1108         (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
1109         Give each TimelineDataGrid subclass its own class. Implement only
1110         what is needed. The new subclasses provide the element for the
1111         superclass to anchor the call frame popover.
1112
1113         * UserInterface/TimelinesContentView.js:
1114         (WebInspector.TimelinesContentView):
1115         Instantiate the specific DataGrid types.
1116
1117         * UserInterface/TimelineDataGrid.css: Added.
1118         * UserInterface/TimelineDataGrid.js:
1119         (WebInspector.TimelineDataGrid):
1120         (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement):
1121         (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
1122         (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
1123         (WebInspector.TimelineDataGrid.prototype._windowResized):
1124         (WebInspector.TimelineDataGrid.prototype._hidePopover):
1125         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
1126         Show and manager the popover.
1127
1128         (WebInspector.TimelineDataGrid.prototype._createPopoverContent):
1129         (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
1130         Popover content is a TreeOutline containing CallFrameTreeElements.
1131         When a call frame is selected, reveal the source code location.
1132
1133         * UserInterface/DataGrid.js:
1134         (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
1135         Helper for accessing a specific <td> inside a <tr> by column name.
1136
1137 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1138
1139         Switch from "X" and "Y" to "Area" in the Layout Timeline
1140
1141         For transformed paint rects an X, Y, Width and Height, didn't make
1142         sense, so the backend switched to quads. Instead of showing approximate
1143         values, like the bounding box, lets just remove unknowns and switch
1144         to showing the Area instead.
1145
1146         Reviewed by Timothy Hatcher.
1147
1148         * UserInterface/LayoutTimelineDataGridNode.js:
1149         (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
1150         * UserInterface/TimelinesContentView.js:
1151         (WebInspector.TimelinesContentView):
1152
1153 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1154
1155         Restore Width and Height values for Layouts and Paints in Timeline
1156
1157         The backend changed a while back from including rect values, to quad
1158         values. We should move away from X and Y and instead show Area.
1159
1160         Reviewed by Timothy Hatcher.
1161
1162         * UserInterface/Geometry.js:
1163         (WebInspector.Quad):
1164         Provide a wrapper object for the protocol Quad representation.
1165
1166         * UserInterface/TimelineManager.js:
1167         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1168         (WebInspector.TimelineManager.prototype.eventRecorded):
1169         Ingest new and old Layout and Paint timeline record.
1170
1171         * UserInterface/LayoutTimelineRecord.js:
1172         (WebInspector.LayoutTimelineRecord):
1173         (WebInspector.LayoutTimelineRecord.prototype.get area):
1174         (WebInspector.LayoutTimelineRecord.prototype.get rect):
1175         (WebInspector.LayoutTimelineRecord.prototype.get quad):
1176         A record may be wrapping a quad.
1177
1178 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1179
1180         Use SourceCodeLocations when displaying Script locations.
1181
1182         Using SourceCodeLocations allows the locations to show formatted
1183         and display locations and is therefore more accurate. It also shows
1184         the tooltip and display strings consistent with the rest of the UI.
1185
1186         Reviewed by Timothy Hatcher.
1187
1188         * UserInterface/ScriptTimelineDataGridNode.js:
1189         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
1190         * UserInterface/ScriptTimelineRecord.js:
1191         (WebInspector.ScriptTimelineRecord):
1192         (WebInspector.ScriptTimelineRecord.prototype.get lineNumber):
1193         (WebInspector.ScriptTimelineRecord.prototype.get callFrames):
1194         (WebInspector.ScriptTimelineRecord.prototype.get sourceCodeLocation):
1195         * UserInterface/TimelineManager.js:
1196         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1197         (WebInspector.TimelineManager.prototype.eventRecorded):
1198
1199 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1200
1201         Add Script Timeline records for Installing / Removing Timelines
1202
1203         We had records for TimerFired but not install / remove. It is sometimes
1204         useful to see the stack traces where timers are added and removed.
1205
1206         Reviewed by Timothy Hatcher.
1207
1208         * Localizations/en.lproj/localizedStrings.js:
1209         * UserInterface/ScriptTimelineRecord.js:
1210         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1211         * UserInterface/TimelineManager.js:
1212         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1213         (WebInspector.TimelineManager.prototype.eventRecorded):
1214
1215 2013-05-24  Joseph Pecoraro  <pecoraro@apple.com>
1216
1217         Remove some unused old style DataGrid events.
1218
1219         These events are not used anywhere, and we have a new style event.
1220
1221         Reviewed by Timothy Hatcher.
1222
1223         * UserInterface/DataGrid.js:
1224         (WebInspector.DataGridNode.prototype.select):
1225         (WebInspector.DataGridNode.prototype.deselect):
1226
1227 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1228
1229         Turn off spellchecking on some text inputs.
1230
1231         Reviewed by David Kilzer.
1232
1233         * UserInterface/Breakpoint.js:
1234         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
1235         * UserInterface/FindBanner.js:
1236         (WebInspector.FindBanner):
1237
1238 2013-05-24  Timothy Hatcher  <timothy@apple.com>
1239
1240         Tag all Web Inspector images with copyright info.
1241
1242         Added to all images: Copyright © 2013 Apple Inc. All rights reserved.
1243
1244         Requested by Joyce Chow.
1245
1246         * UserInterface/Images/ApplicationCache.png:
1247         * UserInterface/Images/ApplicationCache@2x.png:
1248         * UserInterface/Images/ApplicationCacheManifest.png:
1249         * UserInterface/Images/ApplicationCacheManifest@2x.png:
1250         * UserInterface/Images/BackArrow.pdf:
1251         * UserInterface/Images/BottomUpTree.pdf:
1252         * UserInterface/Images/Breakpoint.png:
1253         * UserInterface/Images/Breakpoint@2x.png:
1254         * UserInterface/Images/BreakpointButton.pdf:
1255         * UserInterface/Images/BreakpointInactive.png:
1256         * UserInterface/Images/BreakpointInactive@2x.png:
1257         * UserInterface/Images/BreakpointInactiveButton.pdf:
1258         * UserInterface/Images/ClippingCSS.png:
1259         * UserInterface/Images/ClippingCSS@2x.png:
1260         * UserInterface/Images/ClippingGeneric.png:
1261         * UserInterface/Images/ClippingGeneric@2x.png:
1262         * UserInterface/Images/ClippingJS.png:
1263         * UserInterface/Images/ClippingJS@2x.png:
1264         * UserInterface/Images/Close.pdf:
1265         * UserInterface/Images/Colors.png:
1266         * UserInterface/Images/Colors@2x.png:
1267         * UserInterface/Images/Cookie.png:
1268         * UserInterface/Images/Cookie@2x.png:
1269         * UserInterface/Images/Crosshair.pdf:
1270         * UserInterface/Images/DOMCharacterData.pdf:
1271         * UserInterface/Images/DOMComment.pdf:
1272         * UserInterface/Images/DOMDocument.pdf:
1273         * UserInterface/Images/DOMDocumentType.pdf:
1274         * UserInterface/Images/DOMElement.pdf:
1275         * UserInterface/Images/DOMNode.pdf:
1276         * UserInterface/Images/DOMTextNode.pdf:
1277         * UserInterface/Images/DOMTree.pdf:
1278         * UserInterface/Images/Database.png:
1279         * UserInterface/Images/Database@2x.png:
1280         * UserInterface/Images/DatabaseTable.png:
1281         * UserInterface/Images/DatabaseTable@2x.png:
1282         * UserInterface/Images/DisclosureTriangleSmallClosed.pdf:
1283         * UserInterface/Images/DisclosureTriangleSmallOpen.pdf:
1284         * UserInterface/Images/DisclosureTriangleTinyClosed.pdf:
1285         * UserInterface/Images/DisclosureTriangleTinyOpen.pdf:
1286         * UserInterface/Images/DockBottom.pdf:
1287         * UserInterface/Images/DockRight.pdf:
1288         * UserInterface/Images/DocumentCSS.png:
1289         * UserInterface/Images/DocumentCSS@2x.png:
1290         * UserInterface/Images/DocumentFont.png:
1291         * UserInterface/Images/DocumentFont@2x.png:
1292         * UserInterface/Images/DocumentGeneric.png:
1293         * UserInterface/Images/DocumentGeneric@2x.png:
1294         * UserInterface/Images/DocumentImage.png:
1295         * UserInterface/Images/DocumentImage@2x.png:
1296         * UserInterface/Images/DocumentJS.png:
1297         * UserInterface/Images/DocumentJS@2x.png:
1298         * UserInterface/Images/DocumentMarkup.png:
1299         * UserInterface/Images/DocumentMarkup@2x.png:
1300         * UserInterface/Images/Error.pdf:
1301         * UserInterface/Images/ErrorSmall.pdf:
1302         * UserInterface/Images/Errors.svg:
1303         * UserInterface/Images/ErrorsEnabled.svg:
1304         * UserInterface/Images/EventListener.pdf:
1305         * UserInterface/Images/Exception.pdf:
1306         * UserInterface/Images/FilterFieldGlyph.pdf:
1307         * UserInterface/Images/FolderGeneric.png:
1308         * UserInterface/Images/FolderGeneric@2x.png:
1309         * UserInterface/Images/ForwardArrow.pdf:
1310         * UserInterface/Images/Function.pdf:
1311         * UserInterface/Images/GoToArrow.pdf:
1312         * UserInterface/Images/HierarchicalNavigationItemChevron.pdf:
1313         * UserInterface/Images/IndeterminateProgressSpinner1.pdf:
1314         * UserInterface/Images/IndeterminateProgressSpinner10.pdf:
1315         * UserInterface/Images/IndeterminateProgressSpinner11.pdf:
1316         * UserInterface/Images/IndeterminateProgressSpinner12.pdf:
1317         * UserInterface/Images/IndeterminateProgressSpinner2.pdf:
1318         * UserInterface/Images/IndeterminateProgressSpinner3.pdf:
1319         * UserInterface/Images/IndeterminateProgressSpinner4.pdf:
1320         * UserInterface/Images/IndeterminateProgressSpinner5.pdf:
1321         * UserInterface/Images/IndeterminateProgressSpinner6.pdf:
1322         * UserInterface/Images/IndeterminateProgressSpinner7.pdf:
1323         * UserInterface/Images/IndeterminateProgressSpinner8.pdf:
1324         * UserInterface/Images/IndeterminateProgressSpinner9.pdf:
1325         * UserInterface/Images/InstructionPointer.png:
1326         * UserInterface/Images/InstructionPointer@2x.png:
1327         * UserInterface/Images/Issues.svg:
1328         * UserInterface/Images/IssuesEnabled.svg:
1329         * UserInterface/Images/LayerBorders.pdf:
1330         * UserInterface/Images/LessColumns.pdf:
1331         * UserInterface/Images/LocalStorage.png:
1332         * UserInterface/Images/LocalStorage@2x.png:
1333         * UserInterface/Images/Locked.pdf:
1334         * UserInterface/Images/Log.png:
1335         * UserInterface/Images/Log@2x.png:
1336         * UserInterface/Images/Logs.svg:
1337         * UserInterface/Images/Memory.svg:
1338         * UserInterface/Images/MoreColumns.pdf:
1339         * UserInterface/Images/NavigationItemAngleBrackets.pdf:
1340         * UserInterface/Images/NavigationItemBrushAndRuler.pdf:
1341         * UserInterface/Images/NavigationItemBug.pdf:
1342         * UserInterface/Images/NavigationItemCurleyBraces.pdf:
1343         * UserInterface/Images/NavigationItemFile.pdf:
1344         * UserInterface/Images/NavigationItemLayers.pdf:
1345         * UserInterface/Images/NavigationItemLog.pdf:
1346         * UserInterface/Images/NavigationItemMagnifyingGlass.pdf:
1347         * UserInterface/Images/NavigationItemStopwatch.pdf:
1348         * UserInterface/Images/NavigationItemStorage.pdf:
1349         * UserInterface/Images/NavigationItemTrash.pdf:
1350         * UserInterface/Images/NavigationItemVariable.pdf:
1351         * UserInterface/Images/Network.png:
1352         * UserInterface/Images/Network@2x.png:
1353         * UserInterface/Images/NetworkBarBlue.png:
1354         * UserInterface/Images/NetworkBarBlue@2x.png:
1355         * UserInterface/Images/NetworkBarGray.png:
1356         * UserInterface/Images/NetworkBarGray@2x.png:
1357         * UserInterface/Images/NetworkBarGreen.png:
1358         * UserInterface/Images/NetworkBarGreen@2x.png:
1359         * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf:
1360         * UserInterface/Images/NetworkBarLabelCalloutRight.pdf:
1361         * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf:
1362         * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf:
1363         * UserInterface/Images/NetworkBarOrange.png:
1364         * UserInterface/Images/NetworkBarOrange@2x.png:
1365         * UserInterface/Images/NetworkBarPurple.png:
1366         * UserInterface/Images/NetworkBarPurple@2x.png:
1367         * UserInterface/Images/NetworkBarRed.png:
1368         * UserInterface/Images/NetworkBarRed@2x.png:
1369         * UserInterface/Images/NetworkBarWhiteFlat.png:
1370         * UserInterface/Images/NetworkBarWhiteFlat@2x.png:
1371         * UserInterface/Images/NetworkBarYellow.png:
1372         * UserInterface/Images/NetworkBarYellow@2x.png:
1373         * UserInterface/Images/NetworkHollowBarBlue.png:
1374         * UserInterface/Images/NetworkHollowBarBlue@2x.png:
1375         * UserInterface/Images/NetworkHollowBarGray.png:
1376         * UserInterface/Images/NetworkHollowBarGray@2x.png:
1377         * UserInterface/Images/NetworkHollowBarGreen.png:
1378         * UserInterface/Images/NetworkHollowBarGreen@2x.png:
1379         * UserInterface/Images/NetworkHollowBarOrange.png:
1380         * UserInterface/Images/NetworkHollowBarOrange@2x.png:
1381         * UserInterface/Images/NetworkHollowBarPurple.png:
1382         * UserInterface/Images/NetworkHollowBarPurple@2x.png:
1383         * UserInterface/Images/NetworkHollowBarRed.png:
1384         * UserInterface/Images/NetworkHollowBarRed@2x.png:
1385         * UserInterface/Images/NetworkHollowBarYellow.png:
1386         * UserInterface/Images/NetworkHollowBarYellow@2x.png:
1387         * UserInterface/Images/Pause.pdf:
1388         * UserInterface/Images/Percent.pdf:
1389         * UserInterface/Images/Plus.pdf:
1390         * UserInterface/Images/Profile.png:
1391         * UserInterface/Images/Profile@2x.png:
1392         * UserInterface/Images/PseudoElement.pdf:
1393         * UserInterface/Images/Recording.png:
1394         * UserInterface/Images/Recording@2x.png:
1395         * UserInterface/Images/RecordingHovered.png:
1396         * UserInterface/Images/RecordingHovered@2x.png:
1397         * UserInterface/Images/RecordingStopped.png:
1398         * UserInterface/Images/RecordingStopped@2x.png:
1399         * UserInterface/Images/Reflection.pdf:
1400         * UserInterface/Images/Reload.svg:
1401         * UserInterface/Images/ReloadSelected.svg:
1402         * UserInterface/Images/Request.pdf:
1403         * UserInterface/Images/Resources.svg:
1404         * UserInterface/Images/Response.pdf:
1405         * UserInterface/Images/ResultLine.pdf:
1406         * UserInterface/Images/Resume.pdf:
1407         * UserInterface/Images/Script.png:
1408         * UserInterface/Images/Script@2x.png:
1409         * UserInterface/Images/SessionStorage.png:
1410         * UserInterface/Images/SessionStorage@2x.png:
1411         * UserInterface/Images/ShadowDOM.pdf:
1412         * UserInterface/Images/SortIndicatorDownArrow.pdf:
1413         * UserInterface/Images/SortIndicatorUpArrow.pdf:
1414         * UserInterface/Images/SourceCode.pdf:
1415         * UserInterface/Images/SplitToggleDown.pdf:
1416         * UserInterface/Images/SplitToggleUp.pdf:
1417         * UserInterface/Images/StepInto.pdf:
1418         * UserInterface/Images/StepOut.pdf:
1419         * UserInterface/Images/StepOver.pdf:
1420         * UserInterface/Images/Stopwatch.png:
1421         * UserInterface/Images/Stopwatch@2x.png:
1422         * UserInterface/Images/StyleRuleAuthor.pdf:
1423         * UserInterface/Images/StyleRuleInherited.pdf:
1424         * UserInterface/Images/StyleRuleInheritedElement.pdf:
1425         * UserInterface/Images/StyleRuleInspector.pdf:
1426         * UserInterface/Images/StyleRuleUser.pdf:
1427         * UserInterface/Images/StyleRuleUserAgent.pdf:
1428         * UserInterface/Images/Time.svg:
1429         * UserInterface/Images/TimelineBarBlue.png:
1430         * UserInterface/Images/TimelineBarBlue@2x.png:
1431         * UserInterface/Images/TimelineBarOrange.png:
1432         * UserInterface/Images/TimelineBarOrange@2x.png:
1433         * UserInterface/Images/TimelineBarPurple.png:
1434         * UserInterface/Images/TimelineBarPurple@2x.png:
1435         * UserInterface/Images/Undock.pdf:
1436         * UserInterface/Images/UpDownArrows.svg:
1437         * UserInterface/Images/UserInputPrompt.pdf:
1438         * UserInterface/Images/UserInputPromptPrevious.pdf:
1439         * UserInterface/Images/UserInputPromptPreviousSelected.pdf:
1440         * UserInterface/Images/UserInputResult.pdf:
1441         * UserInterface/Images/UserInputResultSelected.pdf:
1442         * UserInterface/Images/Warning.pdf:
1443         * UserInterface/Images/WarningSmall.pdf:
1444         * UserInterface/Images/Weight.svg:
1445
1446 2013-05-24  Timothy Hatcher  <timothy@apple.com>
1447
1448         Workaround an error with minifying the Web Inspector.
1449
1450         jsmin.py does not like: return //.test();
1451
1452         <rdar://problem/13983475> REGRESSION(r51583): Cannot show web inspector in recent spades
1453
1454         * UserInterface/External/CodeMirror/codemirror.js:
1455         (window.CodeMirror):
1456
1457 2013-05-23  Timothy Hatcher  <timothy@apple.com>
1458
1459         Update CodeMirror from 3.12 to 3.13.
1460
1461         Include the new comment.js addon and hook it up to Command-/.
1462
1463         Reviewed by Joseph Pecoraro.
1464
1465         * Scripts/update-codemirror-resources.rb: Added comment.js.
1466         * UserInterface/CodeMirrorAdditions.js:
1467         * UserInterface/External/CodeMirror/clojure.js:
1468         * UserInterface/External/CodeMirror/codemirror.css:
1469         * UserInterface/External/CodeMirror/codemirror.js:
1470         * UserInterface/External/CodeMirror/coffeescript.js:
1471         * UserInterface/External/CodeMirror/comment.js: Added.
1472         * UserInterface/External/CodeMirror/css.js:
1473         * UserInterface/External/CodeMirror/javascript.js:
1474         * UserInterface/External/CodeMirror/less.js:
1475         * UserInterface/External/CodeMirror/placeholder.js:
1476         * UserInterface/External/CodeMirror/runmode.js:
1477         * UserInterface/External/CodeMirror/sass.js:
1478         * UserInterface/External/CodeMirror/searchcursor.js:
1479         * UserInterface/External/CodeMirror/sql.js:
1480         * UserInterface/External/CodeMirror/xml.js:
1481         * UserInterface/Main.html: Include comment.js.
1482
1483 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1484
1485         <rdar://problem/13972577> ER: when deleting break points on a file, don't move up if you can't delete
1486
1487         Reviewed by Timothy Hatcher.
1488
1489         * UserInterface/DebuggerSidebarPanel.js:
1490         (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
1491
1492 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1493
1494         <rdar://problem/7545262> Command-E should put selected text in the search box
1495
1496         Don't implicitly preventDefault with the keyboard shortcut. This allows the
1497         default behavior of populating the system find pasteboard.
1498
1499         Reviewed by Timothy Hatcher.
1500
1501         * UserInterface/FindBanner.js:
1502         (WebInspector.FindBanner):
1503
1504 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1505
1506         <rdar://problem/7545262> Command-E should put selected text in the search box
1507
1508         Pass the "changeFocus" parameter through the internal cursor relative reveal functions.
1509
1510         Reviewed by Timothy Hatcher.
1511
1512         * UserInterface/TextEditor.js:
1513         (WebInspector.TextEditor.prototype.revealPreviousSearchResult):
1514         (WebInspector.TextEditor.prototype.revealNextSearchResult):
1515         (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
1516         (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
1517
1518 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1519
1520         <rdar://problem/7545262> Command-E should put selected text in the search box
1521
1522         Instead of continuing the binary search when we encounter an invalid entry,
1523         just break out immediately. This way we can revalidate all of the search results
1524         and accurately search forward or back.
1525
1526         Reviewed by Timothy Hatcher.
1527
1528         * UserInterface/CodeMirrorAdditions.js:
1529         * UserInterface/TextEditor.js:
1530         (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults):
1531         (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
1532         (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
1533         (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult):
1534         (WebInspector.TextEditor.prototype._revalidateSearchResults):
1535
1536 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1537
1538         <rdar://problem/7545262> Command-E should put selected text in the search box
1539
1540         Clear the automaticallyRevealFirstSearchResult state after revealing a search term.
1541
1542         Reviewed by Timothy Hatcher.
1543
1544         * UserInterface/TextEditor.js:
1545
1546 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1547
1548         <rdar://problem/7545262> Command-E should put selected text in the search box
1549
1550         When searching forwards and backwards search relative to the current cursor position.
1551         If we were already on a particular result we can keep the old path and just move
1552         forward / back in the result list. Otherwise we binary search the closest position
1553         to the cursor. Because results can be removed in the search path we have a
1554         bit of added complexity.
1555
1556         Reviewed by Timothy Hatcher.
1557
1558         * UserInterface/TextEditor.js:
1559         (WebInspector.TextEditor.prototype.set automaticallyRevealFirstSearchResult):
1560         (WebInspector.TextEditor.prototype.addSearchResults.markRanges):
1561         When automatically revealing, do so relative to the cursor.
1562
1563         (WebInspector.TextEditor.prototype.revealPreviousSearchResult):
1564         (WebInspector.TextEditor.prototype.revealNextSearchResult):
1565         (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult):
1566         If we don't have a search result index, or if the cursor moved off
1567         of the last search result index, search relative to the cursor.
1568
1569         (WebInspector.TextEditor.prototype._comparePositions):
1570         (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults):
1571         (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
1572         (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
1573         Binary search search results handling the possibility that a search result
1574         could be null. I'm not sure if this works perfectly in such cases, but
1575         it worked fine in practice.
1576         
1577         (WebInspector.TextEditor.prototype._revalidateSearchResults):
1578         When we try to traverse to a search result and it was deleted, revalidate
1579         all the search results. This can happen if in a CSS file and the user
1580         deleted some instances of a search result.
1581
1582 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1583
1584         <rdar://problem/7545262> Command-E should put selected text in the search box
1585
1586         Step 1, make Command+E populate the FindBanner's search query, and silently
1587         perform the search so that Command+G and Shift+Command+G work. Expose a
1588         new ContentView method "searchQueryWithSelection" to get a search query
1589         from the selection in that ContentView. This currently only works with
1590         TextEditor ContentViews.
1591
1592         Reviewed by Timothy Hatcher.
1593
1594         * UserInterface/FindBanner.js:
1595         (WebInspector.FindBanner): Add the keyboard shortcut.
1596         (WebInspector.FindBanner.prototype._populateSearchQueryFromSelection):
1597         Ask the delegate (ContentBrowser) for a search query from selection.
1598         If we get one, silently perform a search.
1599
1600         * UserInterface/TextEditor.js:
1601         (WebInspector.TextEditor.prototype.searchQueryWithSelection):
1602         Get the selection from CodeMirror and return that.
1603
1604         * UserInterface/ContentView.js:
1605         (WebInspector.ContentView.prototype.searchQueryWithSelection):
1606         Default implementation returns null, meaning no change.
1607
1608         * UserInterface/ClusterContentView.js:
1609         (WebInspector.ClusterContentView.prototype.searchQueryWithSelection):
1610         * UserInterface/ContentBrowser.js:
1611         (WebInspector.ContentBrowser.prototype.findBannerSearchQueryForSelection):
1612         * UserInterface/ScriptContentView.js:
1613         (WebInspector.ScriptContentView.prototype.searchQueryWithSelection):
1614         * UserInterface/TextContentView.js:
1615         (WebInspector.TextContentView.prototype.searchQueryWithSelection):
1616         * UserInterface/TextResourceContentView.js:
1617         (WebInspector.TextResourceContentView.prototype.searchQueryWithSelection):
1618         Plumbing the message down the content views heirarchy.
1619
1620 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1621
1622         Remove unnecessary return for setter.
1623
1624         This was just a copy / paste error from when it was originally written.
1625
1626         Reviewed by Timothy Hatcher.
1627
1628         * UserInterface/ClusterContentView.js:
1629         (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult):
1630
1631 2013-05-23  Joseph Pecoraro  <pecoraro@apple.com>
1632
1633         Remove unused instance variable TextEditor._pendingSearchResultLineNumbers
1634
1635         Reviewed by Timothy Hatcher.
1636
1637         * UserInterface/TextEditor.js:
1638         (WebInspector.TextEditor):
1639
1640 2013-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1641
1642         <rdar://problem/13961791> Stopping recording clears the timeline
1643
1644         It actually seems like a non-main frame resource change causes the
1645         timeline to clear. Only clear on main frame main resource changes.
1646
1647         Reviewed by Timothy Hatcher.
1648
1649         * UserInterface/TimelineManager.js:
1650         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
1651
1652 2013-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1653
1654         <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
1655
1656         When a BreakpointTreeElement is selected and the page is reloaded the
1657         breakpoint tree elements are removed. When removing the tree element
1658         the parent, ResourceTreeElement, was selected and the tree outline
1659         created a content view to show for that resource. This content view
1660         was being orphaned and replaced when new resources were loaded.
1661
1662         We never want to create a content view for a Script/ResourceTreeElement
1663         in the DebuggerSidebarPanel when it has no children. That is a sign
1664         that the tree element is about to be deleted.
1665
1666         Reviewed by Timothy Hatcher.
1667
1668         * UserInterface/DebuggerSidebarPanel.js:
1669         (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
1670
1671 2013-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1672
1673         <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
1674
1675         Prevent the populate with script content path from requesting content
1676         multiple times. This is just an optimization to prevent duplicated work.
1677         This can happen the first time the debugger is paused, by setting the
1678         active call frame, opening the resource, and then triggering the active
1679         call frame did change notification.
1680
1681         Reviewed by Timothy Hatcher.
1682
1683         * UserInterface/SourceCodeTextEditor.js:
1684         (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
1685         (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
1686         (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent):
1687         (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
1688
1689 2013-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1690
1691         <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
1692
1693         On iOS 6, when associating a Script with a Resource also update the type
1694         to be Script, that way the resource will get a TextResourceContentView
1695         instead of a GeneralResourceContentView and fall into the existing path
1696         that will fetch Script Source for an editor when it is on a breakpoint
1697         and cannot load the resource content.
1698
1699         Also, replace instances of "scriptsForResource" with the new scripts
1700         accessor on WebInspector.Resource.
1701
1702         Reviewed by Timothy Hatcher.
1703
1704         * UserInterface/DebuggerManager.js:
1705         (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
1706         * UserInterface/Resource.js:
1707         (WebInspector.Resource.prototype.associateWithScript):
1708         * UserInterface/SourceCodeTextEditor.js:
1709         (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
1710
1711 2013-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1712
1713         <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
1714
1715         Never loading content while on a breakpoint is possible in scripts if
1716         the backend is paused executing the script before it has sent the
1717         frontend information that the resource has finished loading. In these
1718         cases, it is still possible for the frontend to get the "script source"
1719         instead of the "resource content". These patches do that.
1720
1721         Start by creating an association between WebInspector.Resource and
1722         WebInspector.Script. The order of events is always such that the Resource
1723         is created first:
1724
1725           - Network.requestWillBeSent => create WebInspector.Resource
1726           - Debugger.scriptParsed => create WebInspector.Script
1727
1728         So associate a Script with a Resource, if there is one, when the Script
1729         is created. Currently we can only create the association with URLs,
1730         which is not perfect if resources have the same URL but different
1731         contents. That has never worked perfectly.
1732
1733         Reviewed by Timothy Hatcher.
1734
1735         * UserInterface/Script.js:
1736         (WebInspector.Script):
1737         (WebInspector.Script.prototype.get resource):
1738         (WebInspector.Script.prototype.requestContentFromBackend):
1739         (WebInspector.Script.prototype._resolveResource):
1740         On creation associate with a Resource via URL.
1741
1742         * UserInterface/Resource.js:
1743         (WebInspector.Resource.prototype.get scripts):
1744         (WebInspector.Resource.prototype.associateWithScript):
1745         Allow a Script to associate with this resource.
1746
1747         * UserInterface/FrameResourceManager.js:
1748         Remove "resourceForScript". Script's now have a resource property.
1749
1750         * UserInterface/DebuggerSidebarPanel.js:
1751         (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
1752         * UserInterface/Main.js:
1753         (WebInspector.linkifyLocation):
1754         * UserInterface/ResourceSidebarPanel.js:
1755         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
1756         (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
1757         * UserInterface/ScriptContentView.js:
1758         (WebInspector.ScriptContentView):
1759         * UserInterface/SourceCodeTextEditor.js:
1760         (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled):
1761         * UserInterface/SourceMapManager.js:
1762         (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded):
1763         Refactor to the simpler script.resource.
1764
1765 2013-05-21  Joseph Pecoraro  <pecoraro@apple.com>
1766
1767         Remove generic event listeners when ClusterContentViews are closed.
1768
1769         Some event listeners were removed, but not all. This would have
1770         caused the cluster content views to be leaked.
1771
1772         Reviewed by Timothy Hatcher.
1773
1774         * UserInterface/ClusterContentView.js:
1775         (WebInspector.ClusterContentView.prototype.closed):
1776
1777 2013-05-21  Joseph Pecoraro  <pecoraro@apple.com>
1778
1779         Remove the concept of left and right navigation items.
1780
1781         They are unused. So just remove them.
1782
1783         Reviewed by Timothy Hatcher.
1784
1785         * UserInterface/ContentBrowser.js:
1786         (WebInspector.ContentBrowser):
1787         (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
1788         * UserInterface/Sidebar.js:
1789         (WebInspector.Sidebar):
1790
1791 2013-05-22  Timothy Hatcher  <timothy@apple.com>
1792
1793         Fix auto complete property caching.
1794
1795         <rdar://problem/13961832> Autocomplete of function return value causes side-effects multiple times
1796
1797         Reviewed by Joseph Pecoraro.
1798
1799         * UserInterface/JavaScriptLogViewController.js:
1800
1801 2013-05-21  Antoine Quint  <graouts@apple.com>
1802
1803         <rdar://problem/13948862> REGRESSION (r150395): Sticky headers are mis-positioned
1804
1805         Reviewed by Joseph Pecoraro.
1806
1807         * UserInterface/DetailsSection.css:
1808         (.details-section > .header):
1809         (.details-section .details-section > .header):
1810         Position and layer the headers correctly such that they snap to
1811         the right position when scrolling.
1812
1813         * UserInterface/Main.js:
1814         (WebInspector.updateDockedState):
1815         (WebInspector._toolbarDisplayModeDidChange):
1816         (WebInspector._toolbarSizeModeDidChange):
1817         Remove unnecessary code now that sticky-positioned elements behave
1818         as expected in Òoverflow: scrollÓ elements.
1819
1820 2013-05-21  Antoine Quint  <graouts@apple.com>
1821
1822         <rdar://problem/13941438> Debugger popovers should prefer placement to the bottom/right over left to not cover expression
1823
1824         Reviewed by Timothy Hatcher.
1825
1826         Let Popover.present() be provided with a list of preferred edges in order
1827         of preference and let the source code popovers prefer layout above, below and on
1828         the right, in this order.
1829
1830         * UserInterface/Breakpoint.js:
1831         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
1832         * UserInterface/LayerTreeSidebarPanel.js:
1833         (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
1834         Adopt new Popover.present() parameter type.
1835
1836         * UserInterface/Popover.js:
1837         (WebInspector.Popover):
1838         (WebInspector.Popover.prototype.present):
1839         Rename ÒpreferredEdgeÓ to ÒpreferredEdgesÓ (plural).
1840
1841         (WebInspector.Popover.prototype._update):
1842         Instead of gathering metrics sorted by keys, gather them sorted in the
1843         order of preference provided by the ÒpreferredEdgesÓ argument.
1844
1845         * UserInterface/SourceCodeTextEditor.js:
1846         (WebInspector.SourceCodeTextEditor.prototype._showPopover):
1847         Adopt new Popover.present() parameter type and provide the desired list
1848         of preferred edges in order.
1849
1850 2013-05-20  Joseph Pecoraro  <pecoraro@apple.com>
1851
1852         <rdar://problem/13945892> Console messages not working with iOS 6
1853
1854         Reviewed by Timothy Hatcher.
1855
1856         Don't use the enums right now. They were not generated for the iOS 6
1857         InspectorBackend commands file. In the future we should generate it
1858         for Legacy systems as well as trunk, and use constants instead of
1859         magic values in code.
1860
1861         * UserInterface/ConsoleObserver.js:
1862         (WebInspector.ConsoleObserver.prototype.messageAdded):
1863
1864 2013-05-19  Timothy Hatcher  <timothy@apple.com>
1865
1866         Prevent selection and deselect all messages when clicking disclosure triangles in the console.
1867
1868         This mostly worked before, but if a selection did happen it wouldn't go away by itself. Now
1869         it will go away if a disclosure triangle is clicked. Also the initial focus mouse down always
1870         selected the row, now it does not.
1871
1872         <rdar://problem/13839762> REGRESSION: When inspecting an object in the console, the entire object becomes highlighted
1873
1874         Reviewed by Joseph Pecoraro.
1875
1876         * UserInterface/ConsoleGroup.js:
1877         (WebInspector.ConsoleGroup.prototype.addMessage):
1878         (WebInspector.ConsoleGroup.prototype._titleMouseDown): Added.
1879         (WebInspector.ConsoleGroup.prototype._titleClicked):
1880         Don't select a group row when the title is clicked.
1881
1882         * UserInterface/DOMTreeOutline.js:
1883         (WebInspector.DOMTreeOutline.prototype._onmousedown):
1884         Prevent default instead of stopping propagation.
1885
1886         * UserInterface/LogContentView.css:
1887         (.outline-disclosure li.parent::before):
1888         Drive by disclosure triangle position tweak.
1889
1890         * UserInterface/LogContentView.js:
1891         (WebInspector.LogContentView.prototype._mousedown):
1892         Check for defaultPrevented and deselect all messages.
1893
1894         * UserInterface/TreeOutline.js:
1895         (TreeElement.treeElementMouseDown):
1896         Prevent default instead of stopping propagation.
1897
1898 2013-05-19  Timothy Hatcher  <timothy@apple.com>
1899
1900         Fix the issue where console logs would overlap on reload.
1901
1902         Rejigger the console elements so the flex element can grow to fit and the parent does the scrolling.
1903
1904         <rdar://problem/13932826> REGRESSION (r147261): Reloading page causes overlapping console logs (116404)
1905
1906         Reviewed by Antoine Quint.
1907
1908         * UserInterface/JavaScriptLogViewController.js:
1909         (WebInspector.JavaScriptLogViewController):
1910         (WebInspector.JavaScriptLogViewController.prototype.isScrolledToBottom):
1911         (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom.delayedWork):
1912         (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom):
1913         * UserInterface/LogContentView.css:
1914         (.content-view.log):
1915         (.console-messages):
1916         * UserInterface/LogContentView.js:
1917         (WebInspector.LogContentView):
1918         (WebInspector.LogContentView.prototype.updateLayout):
1919         (WebInspector.LogContentView.prototype.get scrollableElements):
1920         (WebInspector.LogContentView.prototype._ensureMessageIsVisible):
1921         (WebInspector.LogContentView.prototype._positionForMessage):
1922
1923 2013-05-18  Timothy Hatcher  <timothy@apple.com>
1924
1925         Make prefixed keywords syntax highlight correctly.
1926
1927         CodeMirror parses the vendor prefix separate from the property or keyword name,
1928         so we need to strip vendor prefixes from our all our names, not just properties.
1929
1930         Reviewed by Joseph Pecoraro.
1931
1932         * UserInterface/CSSCompletions.js:
1933         (WebInspector.CSSCompletions.requestCSSNameCompletions.nameForCodeMirror):
1934         (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
1935
1936 2013-05-18  Joseph Pecoraro  <pecoraro@apple.com>
1937
1938         <rdar://problem/13774412> Update CSSKeywordCompletions.js for Curie + iOS
1939
1940         This is a pretty mechanical update to CSS autocompletion suggestions.
1941         Also fix suggestions not working for "-webkit-" properties.
1942
1943         Most of this list was manually generated by looking at specifications
1944         and walking CSSParser::parseValue, isValidKeywordPropertyAndValue,
1945         CSSProperty::isInheritedProperty, the related .in files, and a bit
1946         of sleuthing. It is not meant to be perfect, webkit differs from
1947         specs slightly and doesn't implement all properties, but it does
1948         a better job than before.
1949
1950         Rubber-stamped by Timothy Hatcher.
1951
1952         * UserInterface/CSSKeywordCompletions.js:
1953         (WebInspector.CSSKeywordCompletions.forProperty):
1954
1955 2013-05-17  Timothy Hatcher  <timothy@apple.com>
1956
1957         Drop -webkit- prefixes from CSS properties that no longer require them.
1958
1959         Reviewed by Joseph Pecoraro.
1960
1961         * UserInterface/CSSStyleDeclarationSection.css:
1962         * UserInterface/CodeMirrorOverrides.css:
1963         * UserInterface/DOMTreeOutline.css:
1964         * UserInterface/Editing.css:
1965         * UserInterface/LogContentView.css:
1966         * UserInterface/Main.css:
1967         * UserInterface/NavigationSidebarPanel.css:
1968         * UserInterface/Section.css:
1969         * UserInterface/TimelinesContentView.css:
1970
1971 2013-05-17  Joseph Pecoraro  <pecoraro@apple.com>
1972
1973         <rdar://problem/13919974> 11A368: Instruments tab of RWI is almost empty when loading apple.com on device
1974
1975         Fix a typo in the constant name. It was using a non-existent constant
1976         which resulted in a 0ms timeout instead of the intended 15s.
1977
1978         Reviewed by Timothy Hatcher.
1979
1980         * UserInterface/TimelineManager.js:
1981         (WebInspector.TimelineManager.prototype._startAutoRecording):
1982
1983 2013-05-16  Joseph Pecoraro  <pecoraro@apple.com>
1984
1985         <rdar://problem/13917982> Inconsistency between right-clicking and control-clicking in Debugger gutter
1986
1987         Ignore "Ctrl + Left Click" in more places:
1988
1989           * in drag / resize scenarios
1990           * text editor gutter on a breakpoint
1991
1992         Reviewed by Timothy Hatcher.
1993
1994         * UserInterface/DataGrid.js:
1995         (WebInspector.DataGrid.prototype._startResizerDragging):
1996         (WebInspector.DataGrid.prototype._resizerDragging):
1997         (WebInspector.DataGrid.prototype._endResizerDragging):
1998         * UserInterface/Main.js:
1999         (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
2000         (WebInspector._dockedResizerMouseDown.dockedResizerDragEnd):
2001         (WebInspector._dockedResizerMouseDown):
2002         (WebInspector._moveWindowMouseDown.toolbarDrag):
2003         (WebInspector._moveWindowMouseDown.toolbarDragEnd):
2004         (WebInspector._moveWindowMouseDown):
2005         * UserInterface/Sidebar.js:
2006         (WebInspector.Sidebar.prototype._resizerMouseDown):
2007         (WebInspector.Sidebar.prototype._resizerMouseUp):
2008         * UserInterface/TextEditor.js:
2009         (WebInspector.TextEditor.prototype._gutterMouseDown):
2010
2011 2013-05-17  Timothy Hatcher  <timothy@apple.com>
2012
2013         Make clicking completions work again in the Style details sidebar.
2014
2015         <rdar://problem/13919341> REGRESSION: Mouse clicking a CSS autocompletion suggestion no longer works
2016
2017         Reviewed by Antoine Quint.
2018
2019         * UserInterface/CSSStyleDeclarationTextEditor.js:
2020         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
2021         Clicking a suggestion causes the editor to blur. We don't want to reset content in this case.
2022
2023         * UserInterface/CodeMirrorCompletionController.js:
2024         (WebInspector.CodeMirrorCompletionController.prototype.isHandlingClickEvent): Added.
2025         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Use this.isHandlingClickEvent().
2026
2027 2013-05-16  Timothy Hatcher  <timothy@apple.com>
2028
2029         Reset the branches when the main frame navigates.
2030
2031         This makes sure the SourceCodeRevisions don't stick around between page loads and take up memory.
2032
2033         Reviewed by Joseph Pecoraro.
2034
2035         * UserInterface/BranchManager.js:
2036         (WebInspector.BranchManager):
2037         (WebInspector.BranchManager.prototype.initialize):
2038         (WebInspector.BranchManager.prototype.deleteBranch):
2039         (WebInspector.BranchManager.prototype._mainResourceDidChange):
2040
2041 2013-05-16  Timothy Hatcher  <timothy@apple.com>
2042
2043         Some random style tweaks.
2044
2045         Reviewed by Joseph Pecoraro.
2046
2047         * UserInterface/CSSStyleDeclarationSection.css:
2048         (.style-declaration-section > .header): Smaller top margin to align with the icon better.
2049         * UserInterface/CodeMirrorOverrides.css:
2050         (.CodeMirror .CodeMirror-gutters): Lighter border color to match Xcode 5.
2051
2052 2013-05-16  Timothy Hatcher  <timothy@apple.com>
2053
2054         Fix a case where we would enter an infinite loop, consuming memory and hang.
2055
2056         <rdar://problem/13911608> REGRESSION (r50998): Massive memory growth and hanging (115811)
2057
2058         Reviewed by Joseph Pecoraro.
2059
2060         * UserInterface/Resource.js:
2061         (WebInspector.Resource.prototype.updateForRedirectResponse):
2062         (WebInspector.Resource.prototype.updateForResponse):
2063         (WebInspector.Resource.prototype.increaseSize):
2064         (WebInspector.Resource.prototype.markAsFinished):
2065         (WebInspector.Resource.prototype.markAsFailed):
2066         Timestamps are expected to be NaN instead of null. This wasn't an issue before because
2067         the timeline code didn't use these timestamps. Now Resource.firstTimestamp uses them,
2068         which is used by ResourceTimelineRecord.startTime.
2069
2070 2013-05-15  Timothy Hatcher  <timothy@apple.com>
2071
2072         Allow Command-K to clear the console anywhere in the Inspector.
2073
2074         <rdar://problem/13888241> Command-K doesn't clear the Console unless it has focus
2075
2076         Reviewed by Antoine Quint.
2077
2078         * UserInterface/JavaScriptLogViewController.js:
2079         (WebInspector.JavaScriptLogViewController):
2080
2081 2013-05-15  Timothy Hatcher  <timothy@apple.com>
2082
2083         Fix the Save As... keyboard shortcut.
2084
2085         Reviewed by Antoine Quint.
2086
2087         * UserInterface/ContentBrowser.js:
2088         (WebInspector.ContentBrowser):
2089         Don't require the Option key. It is Command-Shift-S.
2090
2091 2013-05-15  Timothy Hatcher  <timothy@apple.com>
2092
2093         Make clicking the console icons in the dashboard toggle the scope.
2094
2095         <rdar://problem/13884713> Improve console filtering via the dashboard buttons
2096
2097         Reviewed by Antoine Quint.
2098
2099         * UserInterface/Main.js:
2100         (WebInspector.showFullHeightConsole):
2101         If the requested scope is already selected and the console is showing, then switch back to All.
2102
2103 2013-05-15  Timothy Hatcher  <timothy@apple.com>
2104
2105         Make the tab key commit the completion of there is only one suggestion.
2106
2107         <rdar://problem/13897001> REGRESSION (Safari 6): Tab to accept autocomplete with 1 result
2108         should dismiss completion suggestions popover
2109
2110         Reviewed by Antoine Quint.
2111
2112         * UserInterface/CodeMirrorCompletionController.js:
2113         (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey):
2114         Commit the current completion if there is only one suggestion.
2115
2116 2013-05-14  Timothy Hatcher  <timothy@apple.com>
2117
2118         Always evaluate the console prompt if the cursor is not at the last position.
2119
2120         <rdar://problem/13854691> New Return key behavior in Web Inspector breaks my typical usage
2121
2122         Reviewed by Joseph Pecoraro.
2123
2124         * UserInterface/ConsolePrompt.js:
2125         (WebInspector.ConsolePrompt.prototype._handleEnterKey):
2126         * UserInterface/JavaScriptLogViewController.js:
2127
2128 2013-05-14  Timothy Hatcher  <timothy@apple.com>
2129
2130         Update Frame.securityOrigin when committing the provisional load.
2131
2132         Reviewed by Joseph Pecoraro.
2133
2134         * UserInterface/Frame.js:
2135         (WebInspector.Frame.prototype.commitProvisionalLoad):
2136         * UserInterface/FrameResourceManager.js:
2137         (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
2138
2139 2013-05-14  Timothy Hatcher  <timothy@apple.com>
2140
2141         Add DOMStorage when the main resource changes.
2142
2143         <rdar://problem/13844066> REGRESSION: If the Web Inspector is displayed when you refresh the page, local and session storage is not visible
2144
2145         Reviewed by Joseph Pecoraro.
2146
2147         * UserInterface/StorageManager.js:
2148         (WebInspector.StorageManager.prototype._mainResourceDidChange):
2149         (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
2150         (WebInspector.StorageManager.prototype._securityOriginDidChange):
2151
2152 2013-05-13  Joseph Pecoraro  <pecoraro@apple.com>
2153
2154         <rdar://problem/13876379> Pretty printing while paused in the debugger loses the execution line
2155
2156         When pretty printing we replace the entire contents of the editor. If
2157         the display location didn't change at all, then when we re-set the
2158         execution line number, we wouldn't update the style on the line.
2159
2160         This change makes updating the execution line more of the TextEditor's
2161         responsibility on a pretty print. Previously it was working in most cases
2162         but now it should always work as long as the TextEditor has been given
2163         an accurate execution line and column number. In pretty print we delete
2164         the execution line handle so we are guaranteed to recreate it.
2165
2166         Just in case, also update SourceCodeLocation to listen to any location
2167         changes, not just display location changes.
2168
2169         Reviewed by Timothy Hatcher.
2170
2171         * UserInterface/SourceCodeTextEditor.js:
2172         (WebInspector.SourceCodeTextEditor.prototype.close):
2173         (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
2174         (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameSourceCodeLocationChanged):
2175         * UserInterface/TextEditor.js:
2176         (WebInspector.TextEditor):
2177         (WebInspector.TextEditor.prototype.get executionColumnNumber):
2178         (WebInspector.TextEditor.prototype.set executionColumnNumber):
2179
2180 2013-05-13  Timothy Hatcher  <timothy@apple.com>
2181
2182         Fix the shortcut for the Layer details sidebar panel.
2183
2184         Also fix the naming of the toolbar buttons for the Style details sidebar and
2185         Layer details sidebar so they are plural while the name in the tooltip is still singular.
2186
2187         <rdar://problem/13871872> Layers details sidebar shortcut should be control-shift-4, not control-shift-5
2188
2189         Reviewed by Joseph Pecoraro.
2190
2191         * Localizations/en.lproj/localizedStrings.js:
2192         * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
2193         (WebInspector.ApplicationCacheDetailsSidebarPanel):
2194         * UserInterface/CSSStyleDetailsSidebarPanel.js:
2195         (WebInspector.CSSStyleDetailsSidebarPanel):
2196         * UserInterface/DOMDetailsSidebarPanel.js:
2197         (WebInspector.DOMDetailsSidebarPanel):
2198         * UserInterface/DOMNodeDetailsSidebarPanel.js:
2199         (WebInspector.DOMNodeDetailsSidebarPanel):
2200         * UserInterface/DetailsSidebarPanel.js:
2201         (WebInspector.DetailsSidebarPanel):
2202         * UserInterface/LayerTreeSidebarPanel.js:
2203         (WebInspector.LayerTreeSidebarPanel):
2204         * UserInterface/ResourceDetailsSidebarPanel.js:
2205         (WebInspector.ResourceDetailsSidebarPanel):
2206         * UserInterface/ScopeChainDetailsSidebarPanel.js:
2207         (WebInspector.ScopeChainDetailsSidebarPanel):
2208
2209 2013-05-13  Timothy Hatcher  <timothy@apple.com>
2210
2211         Tweak the console completions to work as expected in more cases.
2212
2213         Also prevent empty prefix completions unless it is the start of property access.
2214         This was a regression from the fix for <rdar://problem/13860627>.
2215
2216         <rdar://problem/13871885> Command-line API functions don't autocomplete when passed as parameter
2217
2218         Reviewed by Joseph Pecoraro.
2219
2220         * UserInterface/CodeMirrorCompletionController.js:
2221         (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
2222         * UserInterface/ConsolePrompt.js:
2223         (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded):
2224         * UserInterface/JavaScriptLogViewController.js:
2225
2226 2013-05-12  Timothy Hatcher  <timothy@apple.com>
2227
2228         Update the toolbar height so the save sheet is positioned correctly and window gradient is accurate.
2229
2230         <rdar://problem/13871067> Save sheet on the Web Inspector does not come out from under the toolbar
2231
2232         Reviewed by Antoine Quint.
2233
2234         * UserInterface/Main.js:
2235         (WebInspector.contentLoaded):
2236         (WebInspector.updateDockedState):
2237         (WebInspector._updateToolbarHeight):
2238         (WebInspector._toolbarDisplayModeDidChange):
2239         (WebInspector._toolbarSizeModeDidChange):
2240
2241 2013-05-13  Joseph Pecoraro  <pecoraro@apple.com>
2242
2243         Improve String.prototype.startsWith to not search the entire string.
2244
2245         Using the optional second parameter of lastIndexOf we can only search
2246         for a substring from index 0, and not check the rest of the string.
2247
2248         I also went through and replaced all uses of str.indexOf(...) === 0 with
2249         str.startsWith(...), or if a single character str.charAt(0) === "?".
2250
2251         Reviewed by Timothy Hatcher.
2252
2253         * UserInterface/CSSCompletions.js:
2254         (WebInspector.CSSCompletions.prototype.startsWith):
2255         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
2256         * UserInterface/CallFrameTreeElement.js:
2257         (WebInspector.CallFrameTreeElement):
2258         * UserInterface/CookieStorageContentView.js:
2259         (WebInspector.cookieMatchesResourceURL):
2260         * UserInterface/DOMTreeElement.js:
2261         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
2262         * UserInterface/EditingSupport.js:
2263         * UserInterface/InstrumentSidebarPanel.js:
2264         (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile):
2265         * UserInterface/JavaScriptProfileView.js:
2266         * UserInterface/Main.js:
2267         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2268         * UserInterface/Resource.js:
2269         (WebInspector.Resource.Type.fromMIMEType):
2270         * UserInterface/Utilities.js:
2271
2272 2013-05-13  Joseph Pecoraro  <pecoraro@apple.com>
2273
2274         Make mailto: href links behave correctly.
2275
2276         Test: data:text/html,<a href="mailto:pecoraro@apple.com?subject=email">Email Joe</a>
2277
2278         Reviewed by Timothy Hatcher.
2279
2280         * UserInterface/Utilities.js:
2281
2282 2013-05-13  Joseph Pecoraro  <pecoraro@apple.com>
2283
2284         <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
2285
2286         TextEditor / SourceCodeTextEditor (most resources) already had behavior where
2287         clicking a "link" would attempt to open it in the Inspector, and fallback to
2288         opening a new browser tab for the URL. This hardens that behavior in the
2289         "jump to symbol" case, and makes it work in the CSS Sidebar with Command+Click.
2290
2291         To encourage editing in the style sidebar, style url(...)s as strings,
2292         which is how they displayed before these patches.
2293
2294         Reviewed by Timothy Hatcher.
2295
2296         * UserInterface/TextEditor.js:
2297         (WebInspector.TextEditor.prototype._openClickedLinks):
2298         Cleanup the code a bit.
2299
2300         * UserInterface/SourceCodeTextEditor.js:
2301         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2302         Don't jump to symbol when clicking a link. Fallback to TextEditor's link opening behavior.
2303
2304         * UserInterface/CSSStyleDeclarationTextEditor.js:
2305         (WebInspector.CSSStyleDeclarationTextEditor.prototype):
2306         Handle jump to symbol when clicking a link to behave link TextEditor's link opening behavior.
2307
2308         * UserInterface/CSSStyleDeclarationTextEditor.css:
2309         (.css-style-text-editor > .CodeMirror .cm-link):
2310         In the Style sidebar editors display links as strings by default.
2311
2312 2013-05-13  Joseph Pecoraro  <pecoraro@apple.com>
2313
2314         <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
2315
2316         Add extendedCSSToken, modeled after extendedXMLToken to parse url(...)
2317         links and give them a "link" style class.
2318
2319         Normally CodeMirror parses "url", "(", <optionally quoted string>, ")".
2320         We hook into this case and manually parse the optionally quoted string
2321         ourselves so that we can handle quotes and whitespace exactly how we
2322         want to.
2323
2324         Reviewed by Timothy Hatcher.
2325
2326         * UserInterface/CodeMirrorAdditions.js:
2327
2328 2013-05-15  Joseph Pecoraro  <pecoraro@apple.com>
2329
2330         <rdar://problem/13865123> REGRESSION: Incorrect link tokenization of unquoted src/href links - <img src=...>
2331
2332         Handle unquoted attributes when we take over tokenization of link attribute values.
2333
2334         Reviewed by Timothy Hatcher.
2335
2336         * UserInterface/CodeMirrorAdditions.js:
2337
2338 2013-05-11  Timothy Hatcher  <timothy@apple.com>
2339
2340         Make the tab behavior consistent among all CodeMirror editors.
2341
2342         Making this a setting is tracked by <rdar://problem/10593948>.
2343
2344         Reviewed by Darin Adler.
2345
2346         * UserInterface/CSSStyleDeclarationTextEditor.js:
2347         (WebInspector.CSSStyleDeclarationTextEditor):
2348         * UserInterface/TextEditor.js:
2349         (WebInspector.TextEditor):
2350
2351 2013-05-11  Timothy Hatcher  <timothy@apple.com>
2352
2353         Allow editing any local file since edits can be saved and reloaded right from the Inspector.
2354
2355         Reviewed by Dean Jackson.
2356
2357         * UserInterface/ScriptContentView.js:
2358         (WebInspector.ScriptContentView.prototype._contentWillPopulate):
2359         * UserInterface/TextResourceContentView.js:
2360         (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
2361
2362 2013-05-11  Timothy Hatcher  <timothy@apple.com>
2363
2364         Support saving text resources and the console log to a local file.
2365
2366         <rdar://problem/5827275> PARITY (Chrome Developer Tools): Add an option to save a resource locally
2367
2368         Reviewed by Dean Jackson.
2369
2370         * Localizations/en.lproj/localizedStrings.js: Updated.
2371         * UserInterface/ClusterContentView.js:
2372         (WebInspector.ClusterContentView.prototype.get supportsSave):
2373         (WebInspector.ClusterContentView.prototype.get saveData):
2374         * UserInterface/ConsoleMessageImpl.js:
2375         (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): Always include the level. It was omitted
2376         when we didn't have text range selection to make it easier to copy and paste. But we also include the
2377         file and line info, so it was already has more info than just the message.
2378         * UserInterface/ContentBrowser.js:
2379         (WebInspector.ContentBrowser):
2380         (WebInspector.ContentBrowser.prototype._saveDataToFile):
2381         (WebInspector.ContentBrowser.prototype._save):
2382         (WebInspector.ContentBrowser.prototype._saveAs):
2383         * UserInterface/LogContentView.js:
2384         (WebInspector.LogContentView.prototype.get supportsSave):
2385         (WebInspector.LogContentView.prototype.get saveData):
2386         (WebInspector.LogContentView.prototype.handleCopyEvent):
2387         (WebInspector.LogContentView.prototype._formatMessagesAsData.var):
2388         (WebInspector.LogContentView.prototype._formatMessagesAsData):
2389         * UserInterface/ScriptContentView.js:
2390         (WebInspector.ScriptContentView.prototype.get supportsSave):
2391         (WebInspector.ScriptContentView.prototype.get saveData):
2392         * UserInterface/TextContentView.js:
2393         (WebInspector.TextContentView.prototype.get supportsSave):
2394         (WebInspector.TextContentView.prototype.get saveData):
2395         * UserInterface/TextResourceContentView.js:
2396         (WebInspector.TextResourceContentView.prototype.get supportsSave):
2397         (WebInspector.TextResourceContentView.prototype.get saveData):
2398
2399 2013-05-11  Timothy Hatcher  <timothy@apple.com>
2400
2401         Fix an exception I saw while navigating between pages.
2402
2403         I only reproduced this once, but the fix is a simple null check.
2404         I'm assuming close was called a second time.
2405
2406         Reviewed by Anders Carlsson.
2407
2408         * UserInterface/DOMTreeOutline.js:
2409         (WebInspector.DOMTreeOutline.prototype.close):
2410
2411 2013-05-10  Timothy Hatcher  <timothy@apple.com>
2412
2413         Tweak layer borders icon.
2414
2415         <rdar://problem/13717886> Two layers buttons with different meanings
2416
2417         * UserInterface/Images/LayerBorders.pdf:
2418
2419 2013-05-10  Joseph Pecoraro  <pecoraro@apple.com>
2420
2421         <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
2422
2423         Add a "jump to symbol" mode when the command key is down for the CSS
2424         style sidebar to jump to the display CSS Resource.
2425
2426         Reviewed by Timothy Hatcher.
2427
2428         * UserInterface/CSSStyleDeclarationTextEditor.js:
2429         (WebInspector.CSSStyleDeclarationTextEditor):
2430         (WebInspector.CSSStyleDeclarationTextEditor.prototype.set style):
2431         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
2432         Listen for GlobalModifierKeysDidChange events when the style for the
2433         editor has an owner rule and that owner rule has a source code location.
2434
2435         (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2436         Jump to the display resource when clicking the highlighted range.
2437
2438         (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
2439         Immediately highlight hovered ranges for jump to symbol mode.
2440
2441 2013-05-10  Joseph Pecoraro  <pecoraro@apple.com>
2442
2443         <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
2444
2445         Add a "jump to symbol" mode when the command key is down, to quickly
2446         jump between a SourceMapResource and the original resources for the
2447         hovered token. This mode takes precedence over debugger popovers if
2448         enabled (because the command key is pressed).
2449
2450         Reviewed by Timothy Hatcher.
2451
2452         * UserInterface/SourceCodeTextEditor.js:
2453         (WebInspector.SourceCodeTextEditor):
2454         (WebInspector.SourceCodeTextEditor.prototype.hidden):
2455         (WebInspector.SourceCodeTextEditor.prototype.close):
2456         (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
2457         (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering):
2458         Listen for GlobalModifierKeysDidChange events when this file has a source map
2459         (either it is a SourceMapResource or it is a SourceCode with sourceMap resources).
2460
2461         (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded):
2462         (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded):
2463         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
2464         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
2465         (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
2466         In SourceCodeTextEditors there are 2 possible reasons we may have hover tracking,
2467         when on a breakpoint for JavaScript or in Jump To Symbol tracking mode.
2468
2469         (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
2470         (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
2471         (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
2472         Switch between and different tracking modes with different settings.
2473
2474         (WebInspector.SourceCodeTextEditor.prototype._sourceCodeLocationForEditorPosition):
2475         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2476         When in jump to symbol mode, determine the sourceCodeLocation relating to the
2477         token that was clicked and jump between resources.
2478         
2479         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
2480         When in jump to symbol mode, that takes precedence. Highlight just the hovered token.
2481
2482 2013-05-10  Joseph Pecoraro  <pecoraro@apple.com>
2483
2484         <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
2485
2486         Move token tracking out of TextEditor into its own class with settings,
2487         CodeMirrorTokenTrackingController. You can now set the token mode on
2488         the controller to get different types of candidate hovered token results
2489         back to the delegate (TextEditor subclass).
2490
2491         The CodeMirrorTokenTrackingController can start/stop tracking, highlight
2492         a given text range, set delays for mousing over and out of tokens before
2493         actions are taken, and provide different candidates depending the chosen
2494         mode. The current modes are:
2495         
2496             NonSymbolTokens - returns a candidate for just the hovered token.
2497             JavaScriptExpression - returns a candidate for the hovered token with
2498             extra information about the JavaScript expression ending at that token.
2499
2500         When tracking is enabled, the delegate may be notified of changes:
2501
2502             tokenTrackingControllerCanReleaseHighlightedRange - should remove the highlight
2503             tokenTrackingControllerHighlightedRangeReleased - the highlight was removed
2504             tokenTrackingControllerHighlightedRangeWasClicked - the highlight was clicked
2505             tokenTrackingControllerNewHighlightCandidate - new hovered highlight candidate
2506
2507         A plus side of this is that TextEditor now no longer knows about
2508         "JavaScript". It shouldn't need to know about a certain mode of
2509         content that it contains.
2510
2511         Reviewed by Timothy Hatcher.
2512
2513         * UserInterface/Main.html:
2514         * UserInterface/CodeMirrorTokenTrackingController.css: Added.
2515         (.CodeMirror .jump-to-symbol-highlight): Shared style for any type of editor.
2516         * UserInterface/CodeMirrorTokenTrackingController.js: Added.
2517         (WebInspector.CodeMirrorTokenTrackingController):
2518         (WebInspector.CodeMirrorTokenTrackingController.prototype.get delegate):
2519         (WebInspector.CodeMirrorTokenTrackingController.prototype.set delegate):
2520         (WebInspector.CodeMirrorTokenTrackingController.prototype.get mode):
2521         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
2522         (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOverDelayDuration):
2523         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOverDelayDuration):
2524         (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOutReleaseDelayDuration):
2525         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOutReleaseDelayDuration):
2526         (WebInspector.CodeMirrorTokenTrackingController.prototype.get classNameForHighlightedRange):
2527         (WebInspector.CodeMirrorTokenTrackingController.prototype.set classNameForHighlightedRange):
2528         Different settings of the controller.
2529
2530         (WebInspector.CodeMirrorTokenTrackingController.prototype.get tracking):
2531         (WebInspector.CodeMirrorTokenTrackingController.prototype.get candidate):
2532         Accessors for current state, but cannot be modified.
2533
2534         (WebInspector.CodeMirrorTokenTrackingController.prototype.startTracking):
2535         (WebInspector.CodeMirrorTokenTrackingController.prototype.stopTracking):
2536         (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
2537         (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
2538         API to make use of the tracker to start/stop/highlight.
2539
2540         (WebInspector.CodeMirrorTokenTrackingController.prototype.boundsForRange):
2541         Helper for getting the bounds of a given codemirror text range.
2542
2543         (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
2544         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
2545         (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
2546         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
2547         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
2548         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasPressedOverEditor):
2549         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
2550         (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
2551         Events handled while tracking. Very few changes.
2552
2553         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
2554         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
2555         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2556         When a token is hovered, create a candidate depending on the controller's mode.
2557
2558         * UserInterface/TextEditor.js:
2559         (WebInspector.TextEditor):
2560         (WebInspector.TextEditor.prototype.get tokenTrackingController):
2561         Create and expose the tokenTrackingController.
2562
2563         * UserInterface/SourceCodeTextEditor.js:
2564         (WebInspector.SourceCodeTextEditor):
2565         (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved):
2566         (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
2567         (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering):
2568         (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded):
2569         (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded):
2570         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
2571         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
2572         (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
2573         (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
2574         (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
2575         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerCanReleaseHighlightedRange):
2576         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2577         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
2578         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
2579         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
2580         Switch to the tracking controller instead of TextEditor methods and properties.
2581
2582         * UserInterface/TextEditor.css:
2583         (.text-editor > .CodeMirror .hovered-expression-highlight):
2584         (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout):
2585         Renamed the class name for expressions to have "expression" in the name.
2586
2587
2588 2013-05-10  Joseph Pecoraro  <pecoraro@apple.com>
2589
2590         <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
2591
2592         Introduce WebInspector.modifierKeys to know which modifier keys are
2593         active at any time (command, option, shift). Trigger events on changes
2594         through WebInspector.notifications.
2595
2596         Reviewed by Timothy Hatcher.
2597
2598         * UserInterface/Main.js:
2599         (WebInspector.contentLoaded):
2600         (WebInspector._updateModifierKeys):
2601         (WebInspector._windowKeyDown):
2602         (WebInspector._windowKeyUp):
2603         * UserInterface/Object.js:
2604
2605 2013-05-10  Joseph Pecoraro  <pecoraro@apple.com>
2606
2607         Do a little renaming on ResourceSidebarPanel show methods for text
2608         ranges. This better matches the showSourceCodeLocation method names.
2609
2610         Reviewed by Timothy Hatcher.
2611
2612         * UserInterface/ResourceSidebarPanel.js:
2613         (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
2614         (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange):
2615         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
2616
2617 2013-05-10  Timothy Hatcher  <timothy@apple.com>
2618
2619         Make the console prompt suggest completions after typing "." or "[".
2620
2621         <rdar://problem/13860627> REGRESSION: Console autocompletion does not suggest anything until first character is typed
2622
2623         Reviewed by Joseph Pecoraro.
2624
2625         * UserInterface/CodeMirrorCompletionController.js:
2626         (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions):
2627         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
2628         (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
2629         (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
2630
2631 2013-05-09  Timothy Hatcher  <timothy@apple.com>
2632
2633         Tell WebInspector.Resource about its type when it is created instead of changing it later.
2634         
2635         This depends on: https://webkit.org/b/74935
2636
2637         <rdar://problem/13726105> Timeline network filters don't update as resources change type (74935)
2638
2639         Reviewed by David Kilzer.
2640
2641         * UserInterface/FrameResourceManager.js:
2642         (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
2643         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
2644         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
2645         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
2646         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
2647         * UserInterface/InspectorBackendCommands.js:
2648         * UserInterface/NetworkObserver.js:
2649         (WebInspector.NetworkObserver.prototype.requestWillBeSent):
2650
2651 2013-05-09  Timothy Hatcher  <timothy@apple.com>
2652
2653         Use a different image for the layer border toggle button.
2654
2655         <rdar://problem/13717886> Two layers buttons with different meanings
2656
2657         Reviewed by Joseph Pecoraro.
2658
2659         * UserInterface/DOMTreeContentView.js:
2660         (WebInspector.DOMTreeContentView):
2661         * UserInterface/Images/LayerBorders.pdf: Added.
2662
2663 2013-05-08  Timothy Hatcher  <timothy@apple.com>
2664
2665         Fix the heirarchical path components for unrevealed source map resources.
2666
2667         <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar
2668
2669         Reviewed by Joseph Pecoraro.
2670
2671         * UserInterface/ResourceSidebarPanel.js:
2672         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
2673         (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
2674         Special case WebInspector.SourceMapResource.
2675
2676         * UserInterface/SourceCodeTreeElement.js:
2677         (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode):
2678         Revert r50608.
2679
2680 2013-05-07  Timothy Hatcher  <timothy@apple.com>
2681
2682         Fix the background color for the Timeline navigation bar.
2683
2684         The container is taller than the navigation bar, and it used for mouse over slop.
2685         So the background color needs to be on the navigation bar.
2686
2687         Reviewed by Joseph Pecoraro.
2688
2689         * UserInterface/TimelinesContentView.css:
2690         (.content-view.timelines > .data-grid > .navigation-bar-container):
2691         (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
2692
2693 2013-05-07  Timothy Hatcher  <timothy@apple.com>
2694
2695         Compare async resource types by their first timestamp so they are in chronological order.
2696
2697         <rdar://problem/13827118> Web Inspector: cannot see order of xhrs in resource inspector (115728)
2698
2699         Reviewed by Joseph Pecoraro.
2700
2701         * UserInterface/ResourceTreeElement.js:
2702         (WebInspector.ResourceTreeElement.compareResourceTreeElements):
2703
2704 2013-05-07  Timothy Hatcher  <timothy@apple.com>
2705
2706         Fix and simplify the layout path for Toolbar.
2707
2708         <rdar://problem/13828232> REGRESSION: Toolbar overflows when using Icons and Text (Horizontal) mode
2709
2710         Reviewed by Joseph Pecoraro.
2711
2712         * UserInterface/Toolbar.css:
2713         (.toolbar .control-section):
2714         * UserInterface/Toolbar.js:
2715         (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
2716         (WebInspector.Toolbar.prototype.customUpdateLayout):
2717
2718 2013-05-07  Joseph Pecoraro  <pecoraro@apple.com>
2719
2720         <rdar://problem/13821139> After deleting a node when remote inspecting, Web Inspector is broken
2721
2722         When using the remote inspector, there is enough of a delay between
2723         messages that the didRemoveNode handler triggers the DOMTreeUpdater to
2724         refresh the portion of the tree before this removeNodeCallback happens.
2725         Since removeNodeCallback is asynchronous anyways, we should bail if
2726         the tree element was already removed from the tree (has no parent).
2727
2728         Reviewed by Timothy Hatcher.
2729
2730         * UserInterface/DOMTreeElement.js:
2731         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
2732         (WebInspector.DOMTreeElement.prototype.remove):
2733
2734 2013-05-07  Joseph Pecoraro  <pecoraro@apple.com>
2735
2736         Fix member name typo.
2737
2738         This was the only occurrence of _selectDOMNode. This looks
2739         like it was just a typo of _selectedDOMNode.
2740
2741         Reviewed by Darin Adler.
2742
2743         * UserInterface/DOMTreeOutline.js:
2744         (WebInspector.DOMTreeOutline):
2745
2746 2013-05-07  Timothy Hatcher  <timothy@apple.com>
2747
2748         Use a brighter blue for selected labels in the label-only toolbar mode.
2749
2750         This better matches the blue used in the selected toolbar icons.
2751
2752         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2753
2754         Reviewed by Antoine Quint.
2755
2756         * UserInterface/ButtonToolbarItem.css:
2757         (.toolbar.label-only .item.activate.button.activated > .label):
2758
2759 2013-05-07  Timothy Hatcher  <timothy@apple.com>
2760
2761         Only allow the LCD to be a single line, giving less difference between toolbar modes and sizes.
2762
2763         This better distributes the space in the LCD and makes it collapse down to 3 items when
2764         there isn't enough room for all 6 items.
2765
2766         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2767
2768         Reviewed by Antoine Quint.
2769
2770         * UserInterface/DashboardView.css:
2771         (.toolbar .dashboard):
2772         (body.nightly-build .toolbar .dashboard):
2773         (body.nightly-build .toolbar.collapsed .dashboard):
2774         (body:not(.nightly-build) .toolbar.collapsed .dashboard):
2775         (body:not(.nightly-build) .toolbar.collapsed .dashboard > .logs):
2776         (.toolbar .dashboard > .item):
2777         (.toolbar .dashboard > .resourcesSize):
2778         (.toolbar .dashboard > .item > div):
2779         (.toolbar.normal-size.icon-and-label-vertical .dashboard):
2780         (.toolbar.normal-size.icon-and-label-horizontal .dashboard > .item):
2781         * UserInterface/DashboardView.js:
2782         (WebInspector.DashboardView):
2783
2784 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2785
2786         Update the LCD background to match Xcode 5.
2787
2788         This change is conditional to non-nightlies.
2789
2790         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2791
2792         Reviewed by Joseph Pecoraro.
2793
2794         * UserInterface/DashboardView.css:
2795         (.toolbar .dashboard):
2796         (body:not(.nightly-build) .toolbar .dashboard):
2797         (body.window-inactive:not(.nightly-build) .toolbar .dashboard):
2798         (body.nightly-build .toolbar .dashboard):
2799         (.toolbar .dashboard > .item):
2800         (.toolbar.small-size.icon-and-label-horizontal .dashboard):
2801         (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard):
2802         (.toolbar.small-size.icon-and-label-horizontal .dashboard > .item):
2803         (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard > .item):
2804         (.toolbar.normal-size.icon-and-label-horizontal .dashboard):
2805         (body.nightly-build .toolbar.normal-size.icon-and-label-horizontal .dashboard):
2806         (.toolbar.small-size.icon-and-label-vertical .dashboard):
2807         (body.nightly-build .toolbar.small-size.icon-and-label-vertical .dashboard):
2808         (.toolbar.normal-size.icon-and-label-vertical .dashboard):
2809         (body.nightly-build .toolbar.normal-size.icon-and-label-vertical .dashboard):
2810         (.toolbar.icon-and-label-vertical .dashboard > .item):
2811         (body.nightly-build .toolbar.icon-and-label-vertical .dashboard > .item):
2812
2813 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2814
2815         Update the filter field placeholder in the Resources sidebar when showing search results.
2816
2817         Reviewed by Antoine Quint.
2818
2819         * Localizations/en.lproj/localizedStrings.js:
2820         * UserInterface/ResourceSidebarPanel.js:
2821
2822 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2823
2824         Always have the HierarchicalPathComponent take space so it gives the last item some padding.
2825
2826         Reviewed by Antoine Quint.
2827
2828         * UserInterface/HierarchicalPathComponent.css:
2829         (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child > .separator):
2830         Use visibility: hidden instead of display: none.
2831
2832 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2833
2834         Make ScopeBarItem and RadioButtonNavigationItem have a min-width so when they are selected the bold
2835         weight does not cause the item to change its width.
2836
2837         This adds some updateLayout calls to places that needed it now or were missing it already.
2838
2839         This change is not conditional to non-nightlies. It does no harm to always do this.
2840
2841         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2842
2843         Reviewed by Antoine Quint.
2844
2845         * UserInterface/ButtonNavigationItem.js:
2846         (WebInspector.ButtonNavigationItem.prototype.set label):
2847         * UserInterface/CSSStyleDetailsSidebarPanel.js:
2848         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
2849         * UserInterface/Main.js:
2850         (WebInspector._contentBrowserSizeDidChange):
2851         * UserInterface/RadioButtonNavigationItem.js:
2852         (WebInspector.RadioButtonNavigationItem.prototype.get selected):
2853         (WebInspector.RadioButtonNavigationItem.prototype.set selected):
2854         (WebInspector.RadioButtonNavigationItem.prototype.get active):
2855         (WebInspector.RadioButtonNavigationItem.prototype.set active):
2856         (WebInspector.RadioButtonNavigationItem.prototype.updateLayout):
2857         * UserInterface/ScopeBar.js:
2858         (WebInspector.ScopeBar.prototype.updateLayout):
2859         (WebInspector.ScopeBar.prototype._populate):
2860         * UserInterface/TimelineDataGrid.js:
2861         (WebInspector.TimelineDataGrid):
2862         (WebInspector.TimelineDataGrid.prototype.updateLayout):
2863
2864 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2865
2866         Show overflow shadow pockets in the navigation sidebar when content can scroll.
2867
2868         This change is conditional to non-nightlies.
2869
2870         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2871
2872         Reviewed by Antoine Quint.
2873
2874         * UserInterface/NavigationSidebarPanel.css:
2875         (.sidebar > .panel.navigation > .overflow-shadow):
2876         (body.nightly-build .sidebar > .panel.navigation > .overflow-shadow):
2877         (.sidebar > .panel.navigation > .overflow-shadow.top):
2878         * UserInterface/NavigationSidebarPanel.js:
2879         (WebInspector.NavigationSidebarPanel):
2880         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
2881         (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
2882         (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
2883         (WebInspector.NavigationSidebarPanel.prototype.shown):
2884         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
2885         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2886         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2887         (WebInspector.NavigationSidebarPanel.prototype._treeElementExpandedOrCollapsed):
2888         * UserInterface/ResourceSidebarPanel.js:
2889         (WebInspector.ResourceSidebarPanel):
2890         * UserInterface/TreeOutline.js:
2891         (TreeElement.prototype.collapse):
2892         (TreeElement.prototype.expand):
2893
2894 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2895
2896         Update focus and active focus generated images to match the blues used by Xcode 5.
2897
2898         This change is not conditional to non-nightlies. It shouldn't be too revealing.
2899
2900         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2901
2902         Reviewed by Antoine Quint.
2903
2904         * UserInterface/ImageUtilities.js:
2905         (.generateImage):
2906
2907 2013-05-06  Timothy Hatcher  <timothy@apple.com>
2908
2909         Update styles to match the majority of Xcode 5's design changes.
2910
2911         The style changes are conditional so they wont apply when running a WebKit nightly.
2912         After WWDC we can remove the condition and the extra style rules this adds.
2913
2914         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2915
2916         Rubber-stamped by Antoine Quint.
2917
2918         * UserInterface/ButtonNavigationItem.css:
2919         (.navigation-bar .item.button.text-only):
2920         (body.nightly .navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active):
2921         * UserInterface/CodeMirrorOverrides.css:
2922         (.CodeMirror .CodeMirror-gutters):
2923         (.body.nightly-build .CodeMirror .CodeMirror-gutters):
2924         (.CodeMirror .CodeMirror-linenumber):
2925         * UserInterface/DetailsSection.css:
2926         (.details-section > .header):
2927         (.details-section .details-section > .header):
2928         (body.nightly-build .details-section > .header):
2929         (body.nightly-build .details-section .details-section > .header):
2930         * UserInterface/DividerNavigationItem.css:
2931         (.navigation-bar .item.divider):
2932         (body.nightly .navigation-bar .item.divider):
2933         * UserInterface/FilterBar.css:
2934         (.filter-bar):
2935         (body.nightly-build .filter-bar):
2936         (body:not(.nightly-build) .filter-bar > input[type="search"]):
2937         (body:not(.nightly-build) .filter-bar > input[type="search"]::-webkit-input-placeholder):
2938         (body:not(.nightly-build) .filter-bar > input[type="search"]:valid):
2939         * UserInterface/FilterBar.js:
2940         (WebInspector.FilterBar):
2941         * UserInterface/FindBanner.css:
2942         (body.nightly-build .find-banner):
2943         (body:not(.nightly) .find-banner > input[type="search"]):
2944         (body:not(.nightly) .find-banner > button):
2945         (.find-banner > button > .glyph):
2946         (body.nightly .find-banner > button > .glyph):
2947         * UserInterface/HierarchicalPathComponent.css:
2948         (body.nightly .hierarchical-path-component > .separator):
2949         (.hierarchical-path-component.text-only > select):
2950         * UserInterface/InstrumentSidebarPanel.css:
2951         (.sidebar > .panel.instrument > .title-bar):
2952         (body.nightly-build .sidebar > .panel.instrument > .title-bar):
2953         (.sidebar > .panel.instrument > .title-bar.profiles):
2954         (body.nightly-build .sidebar > .panel.instrument > .title-bar.profiles):
2955         * UserInterface/LayerTreeSidebarPanel.css:
2956         (.layer-tree.panel .bottom-bar):
2957         (body.nightly-build .layer-tree.panel .bottom-bar):
2958         * UserInterface/Main.css:
2959         (#split-content-browser > .navigation-bar):
2960         (body.nightly-build #split-content-browser > .navigation-bar):
2961         * UserInterface/NavigationBar.css:
2962         (.navigation-bar):
2963         (body.nightly-build .navigation-bar):
2964         (body.nightly-build.window-inactive .navigation-bar):
2965         * UserInterface/NavigationSidebarPanel.css:
2966         (.sidebar > .panel.navigation > .content):
2967         (body.nightly-build .sidebar > .panel.navigation > .content):
2968         (.sidebar > .panel.navigation > .overflow-shadow):
2969         (.sidebar > .panel.navigation > .overflow-shadow.top):
2970         * UserInterface/RadioButtonNavigationItem.css:
2971         (.navigation-bar .item.radio.button.text-only.selected):
2972         (body:not(.nightly) .navigation-bar .item.radio.button.text-only.selected):
2973         (body.nightly .navigation-bar .item.radio.button.selected):
2974         * UserInterface/ResourceSidebarPanel.css:
2975         (.sidebar > .panel.resource > .empty-content-placeholder):
2976         (body.nightly-build .sidebar > .panel.resource > .empty-content-placeholder):
2977         (.sidebar > .panel.resource > .search-bar):
2978         (body.nightly-build .sidebar > .panel.resource > .search-bar):
2979         * UserInterface/ResourceSidebarPanel.js:
2980         (WebInspector.ResourceSidebarPanel):
2981         * UserInterface/ScopeBar.css:
2982         (.scope-bar > li):
2983         (body:not(.nightly-build) .scope-bar > li):
2984         (body:not(.nightly-build) .scope-bar > li:active):
2985         (body:not(.nightly-build) .scope-bar > li.selected):
2986         (body.nightly-build .scope-bar > li):
2987         (body.nightly-build .scope-bar > li:active):
2988         (.scope-bar > li:hover):
2989         (.scope-bar > li.selected):
2990         (.scope-bar > li:active):
2991         (body.nightly-build .scope-bar > li.selected):
2992         * UserInterface/SearchBar.css:
2993         (.search-bar > input[type="search"]):
2994         (body:not(.nightly-build) .search-bar > input[type="search"]):
2995         (body:not(.nightly-build) .search-bar > input[type="search"]::-webkit-input-placeholder):
2996         (body:not(.nightly-build) .search-bar > input[type="search"]:valid):
2997         * UserInterface/SearchBar.js:
2998         (WebInspector.SearchBar):
2999         * UserInterface/TimelinesContentView.css:
3000         (.content-view.timelines > .data-grid):
3001         (body.nightly-build .content-view.timelines > .data-grid):
3002         (.content-view.timelines > .data-grid th):
3003         (body.nightly-build .content-view.timelines > .data-grid th):
3004         (.content-view.timelines > .data-grid th:not(:last-child)):
3005         (body.nightly-build .content-view.timelines > .data-grid th:not(:last-child)):
3006         (.content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active):
3007         (body.nightly-build .content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active):
3008         (.content-view.timelines > .data-grid th.sort-descending):
3009         (body.nightly-build .content-view.timelines > .data-grid th.sort-descending):
3010         (.content-view.timelines > .data-grid > .navigation-bar-container):
3011         (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
3012         (body.nightly-build .content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
3013
3014 2013-05-06  Timothy Hatcher  <timothy@apple.com>
3015
3016         Add a nightly-build class so we can hide new UI from nightly WebKit builds.
3017
3018         Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
3019
3020         Reviewed by Antoine Quint.
3021
3022         * UserInterface/Main.js:
3023         (WebInspector.contentLoaded):
3024         Set the nightly-build class on body if we are in a nightly build.
3025
3026 2013-05-03  Timothy Hatcher  <timothy@apple.com>
3027
3028         Add stubs for savedURL and appendedToURL.
3029
3030         https://webkit.org/b/115561
3031         rdar://problem/13806055
3032
3033         Reviewed by Joseph Pecoraro.
3034
3035         * UserInterface/InspectorFrontendAPI.js:
3036         (InspectorFrontendAPI.savedURL):
3037         (InspectorFrontendAPI.appendedToURL):
3038
3039 2013-05-02  Timothy Hatcher  <timothy@apple.com>
3040
3041         Fix the alignment of the titles in the Timelines sidebar.
3042
3043         Reviewed by Joseph Pecoraro.
3044
3045         * UserInterface/GeneralTreeElement.js:
3046         (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
3047         Only create a subtitle if the string has a value, not an empty string.
3048
3049 2013-05-01  Timothy Hatcher  <timothy@apple.com>
3050
3051         Make the Dashboard timer and Timeline views more robust when going back/forward.
3052
3053         <rdar://problem/13612025> Dashboard: LCD timer never stops when going back/forward
3054         <rdar://problem/13180009> Recording sometimes never stops because the load event marker is never added
3055         <rdar://problem/13510955> Intermittently, timeline is in "days" after refreshing wsj.com site
3056
3057         Reviewed by Antoine Quint.
3058
3059         * UserInterface/DashboardManager.js:
3060         (WebInspector.DashboardManager):
3061         (WebInspector.DashboardManager.prototype._mainResourceDidChange):
3062         (WebInspector.DashboardManager.prototype._recordingStopped):
3063         (WebInspector.DashboardManager.prototype._startUpdatingTime):
3064         (WebInspector.DashboardManager.prototype._stopUpdatingTime): Added.
3065         (WebInspector.DashboardManager.prototype._updateTime):
3066
3067         * UserInterface/NetworkGraphCalculator.js:
3068         (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
3069         (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
3070         (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
3071         Don't return NaN for the bounds.
3072
3073         * UserInterface/Resource.js:
3074         (WebInspector.Resource.prototype.get firstTimestamp): Added.
3075         Added as a helper to prevent using NaN as the start time.
3076
3077         * UserInterface/ResourceTimelineRecord.js:
3078         (WebInspector.ResourceTimelineRecord.prototype.get startTime):
3079         Use firstTimestamp.
3080
3081         * UserInterface/TimelineManager.js:
3082         (WebInspector.TimelineManager.prototype.startRecording):
3083         (WebInspector.TimelineManager.prototype.stopRecording):
3084         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
3085         (WebInspector.TimelineManager.prototype.eventRecorded):
3086         (WebInspector.TimelineManager.prototype._clear):
3087         (WebInspector.TimelineManager.prototype._addRecord):
3088         (WebInspector.TimelineManager.prototype._startAutoRecording):
3089         (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
3090         (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
3091         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
3092         Fire an event on clear so the timeline view clears even if recording does not start.
3093         Track the main resource object and not the request identifier, since a resource
3094         might not have a request identifier in the back/forward case. Auto stop recording soon
3095         after every record, not just the load event since we don't always have load events.
3096
3097         * UserInterface/TimelinesContentView.js:
3098         (WebInspector.TimelinesContentView):
3099         (WebInspector.TimelinesContentView.prototype._recordsCleared):
3100         Use RecordsCleared event instead of RecordingStarted to clear the view.
3101
3102 2013-05-01  Timothy Hatcher  <timothy@apple.com>
3103
3104         Reveal the line (if supplied) when showing a ScriptContentView.
3105
3106         <rdar://problem/13785027> REGRESSION: Extra Scripts: no autoscroll to debugger statement.
3107
3108         Reviewed by Joseph Pecoraro.
3109
3110         * UserInterface/ResourceSidebarPanel.js:
3111         (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
3112
3113 2013-05-01  Timothy Hatcher  <timothy@apple.com>
3114
3115         Don't update the dashboard text unless it has changed.
3116
3117         Also step up the interval we update the time so it does not try to update every 50ms when the
3118         duration is long enough to not matter.
3119
3120         <rdar://problem/13718056> While JS debugging, everything in the inspector window is repainting all the time
3121
3122         Reviewed by Joseph Pecoraro.
3123
3124         * UserInterface/DashboardManager.js:
3125         (WebInspector.DashboardManager.prototype._startUpdatingTime):
3126         (WebInspector.DashboardManager.prototype._updateTime):
3127         * UserInterface/DashboardView.js:
3128         (WebInspector.DashboardView.prototype.set logs):
3129         (WebInspector.DashboardView.prototype.set issues):
3130         (WebInspector.DashboardView.prototype.set errors):
3131         (WebInspector.DashboardView.prototype.set time):
3132         (WebInspector.DashboardView.prototype.set resourcesCount):
3133         (WebInspector.DashboardView.prototype.set resourcesSize):
3134         (WebInspector.DashboardView.prototype._appendElementForNamedItem.):
3135
3136 2013-05-01  Timothy Hatcher  <timothy@apple.com>
3137
3138         Breakpoint context menu items should appear for Extra and Anonymous Scripts.
3139
3140         <rdar://problem/13776299>
3141
3142         Reviewed by Joseph Pecoraro.
3143
3144         * UserInterface/DebuggerSidebarPanel.js:
3145         (WebInspector.DebuggerSidebarPanel.prototype._breakpointsBeneathTreeElement):
3146         (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
3147         (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement):
3148         Check for WebInspector.ScriptTreeElement in addition to WebInspector.ResourceTreeElement.
3149
3150 2013-04-30  Timothy Hatcher  <timothy@apple.com>
3151
3152         Disable spellcheck and smart quotes in the console prompt.
3153
3154         I'll upstream this to CodeMirror once I get approval from legal.
3155
3156         <rdar://problem/13757709>
3157
3158         Reviewed by Ricky Mondello.
3159
3160         * UserInterface/External/CodeMirror/codemirror.js:
3161         (window.CodeMirror):
3162
3163 2013-04-30  Timothy Hatcher  <timothy@apple.com>
3164
3165         Tweak the Toolbar layout code to not hide the Dashboard when sizes are off by one.
3166
3167         This wasn't needed when sub-pixel layout was on, but that was disabled in http://webkit.org/b/149209.
3168
3169         <rdar://problem/13757354> REGRESSION: Toolbar thinks it is collapsed, so dashboard is hidden
3170
3171         Reviewed by Joseph Pecoraro.
3172
3173         * UserInterface/Toolbar.js:
3174         (WebInspector.Toolbar.prototype.customUpdateLayout):
3175
3176 2013-04-30  Timothy Hatcher  <timothy@apple.com>
3177
3178         Have dashboard buttons (console summary buttons) do filtering as well.
3179
3180         <rdar://problem/13685685>
3181
3182         Reviewed by Joseph Pecoraro.
3183
3184         * UserInterface/DashboardView.js:
3185         (WebInspector.DashboardView):
3186         (WebInspector.DashboardView.prototype._consoleItemWasClicked):
3187         * UserInterface/LogContentView.js:
3188         (WebInspector.LogContentView.prototype.get scopeBar):
3189         * UserInterface/Main.js:
3190         (WebInspector.showFullHeightConsole):
3191         (WebInspector.showConsoleView):
3192
3193 2013-04-30  Joseph Pecoraro  <pecoraro@apple.com>
3194
3195         <rdar://problem/12719925> Call stack should show live line number next to file name
3196
3197         Reviewed by Timothy Hatcher.
3198
3199         * UserInterface/GeneralTreeElement.js:
3200         (WebInspector.GeneralTreeElement):
3201         (WebInspector.GeneralTreeElement.prototype.get tooltipHandledSeparately):
3202         (WebInspector.GeneralTreeElement.prototype.set tooltipHandledSeparately):
3203         (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
3204         Allow clients to handle the tooltip themselves, and to set subtitle as
3205         an element, instead of a string (already possible with mainTitle).
3206
3207         * UserInterface/CallFrameTreeElement.js:
3208         (WebInspector.CallFrameTreeElement):
3209         Set the subtitle as a live location <span>.
3210         (WebInspector.CallFrameTreeElement.prototype.onattach):
3211         Set the tooltip on the entire tree element once it is created.
3212
3213         * UserInterface/SourceCodeLocation.js:
3214         (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
3215         Allow an optional prefix before the location string.
3216
3217 2013-04-29  Timothy Hatcher  <timothy@apple.com>
3218
3219         Remove an assert from StyleDetailsPanel.prototype.shown.
3220
3221         The shown function can be called multiple times. Just keep the early return.
3222         Also make sure to call StyleDetailsPanel.prototype.hidden in another case.
3223
3224         Reviewed by Joseph Pecoraro.
3225
3226         * UserInterface/CSSStyleDetailsSidebarPanel.js:
3227         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
3228         * UserInterface/StyleDetailsPanel.js:
3229         (WebInspector.StyleDetailsPanel.prototype.shown):
3230
3231 2013-04-29  Timothy Hatcher  <timothy@apple.com>
3232
3233         Skip invalid properties when associating related properties.
3234
3235         <rdar://problem/13752586> DOMNodeStyles.js:981: console.assert(property.overridden); on html5please.com
3236
3237         Reviewed by Joseph Pecoraro.
3238
3239         * UserInterface/DOMNodeStyles.js:
3240         (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties):
3241
3242 2013-04-29  Joseph Pecoraro  <pecoraro@apple.com>
3243
3244         Don't allow Command+Enter in the Console with an empty expression.
3245
3246         Reviewed by Timothy Hatcher.
3247
3248         * UserInterface/ConsolePrompt.js:
3249
3250 2013-04-29  Joseph Pecoraro  <pecoraro@apple.com>
3251