1 2013-06-10 Timothy Hatcher <timothy@apple.com>
3 Remove Xcode 4 skin and only have the Xcode 5 look.
5 Reviewed by Joseph Pecoraro.
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:
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):
52 2013-06-08 Timothy Hatcher <timothy@apple.com>
54 Improve switching from the full view console to the Resource sidebar, so the previous resource is shown in the content browser again.
56 Also cleans up my earlier changes and removes an assert that can fire often now.
58 <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
60 Reviewed by Antoine Quint.
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.
74 2013-06-07 Antoine Quint <graouts@apple.com>
76 <rdar://problem/14094308> Styles should come before Layers details sidebar
78 Switch Layers and Styles.
80 Reviewed by Timothy Hatcher.
82 * UserInterface/CSSStyleDetailsSidebarPanel.js:
83 (WebInspector.CSSStyleDetailsSidebarPanel):
84 * UserInterface/LayerTreeSidebarPanel.js:
85 (WebInspector.LayerTreeSidebarPanel):
86 * UserInterface/Main.js:
87 (WebInspector.contentLoaded):
89 2013-06-07 Timothy Hatcher <timothy@apple.com>
91 Keep the selected tree element in sync with the current content view.
93 <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
95 Reviewed by Antoine Quint.
97 * UserInterface/Main.js:
98 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Added.
99 (WebInspector._navigationSidebarPanelSelected): Call _revealAndSelectRepresentedObjectInNavigationSidebar.
100 (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto.
102 2013-06-07 Timothy Hatcher <timothy@apple.com>
104 Keep the navigation sidebar and the current content view in sync with a set of allowed sidebars per content view.
106 <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
108 Reviewed by Antoine Quint.
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.
130 2013-06-06 Timothy Hatcher <timothy@apple.com>
132 Properly filter into resources with a source map if they haven't been expanded yet.
134 <rdar://problem/14072548> Resources filter shows "No Filter Results" after reload with SourceMaps
136 Reviewed by Joseph Pecoraro.
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.
143 2013-06-05 Antoine Quint <graouts@apple.com>
145 <rdar://problem/14077407> Jumping to an error in a JS file form the console highlights to white first before going back to red
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.
152 Reviewed by Timothy Hatcher.
154 * UserInterface/TextEditor.css:
155 (@-webkit-keyframes text-editor-highlight-fadeout):
157 2013-06-05 Antoine Quint <graouts@apple.com>
159 <rdar://problem/14077152> Activity viewer does not update error count for grouped errors when inspector is closed.
161 Take into account the repeat count of an error when incrementing
164 Reviewed by Timothy Hatcher.
166 * UserInterface/DashboardManager.js:
167 (WebInspector.DashboardManager.prototype._consoleMessageAdded):
168 (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated):
169 (WebInspector.DashboardManager.prototype._incrementConsoleMessageType):
171 2013-06-05 Joseph Pecoraro <pecoraro@apple.com>
173 <rdar://problem/14072409> Pressing Enter/Esc when editing a breakpoint (conditional breakpoint) should dismiss popover
175 Handle Esc and Enter on the <input> to dismiss the popover.
176 This behaves like Xcode's breakpoint condition popover.
178 Reviewed by Timothy Hatcher.
180 * UserInterface/Breakpoint.js:
181 (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown):
182 (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
183 (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
185 2013-06-05 Joseph Pecoraro <pecoraro@apple.com>
187 <rdar://problem/14054886> Pressing Enter in a blank console should do nothing, not insert a newline
189 Reviewed by Antoine Quint.
191 * UserInterface/ConsolePrompt.js:
193 2013-06-05 Timothy Hatcher <timothy@apple.com>
195 Add/update copyright and license to all the user interface files in
196 preparation for open sourcing to WebKit.
198 Rubber-stamped by Antoine Quint.
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:
526 2013-06-05 Timothy Hatcher <timothy@apple.com>
528 Properly update the boundaries for the NetworkTransferTimeCalculator.
530 It is expected that _lowerBound and _upperBound return NaN instead of 0.
532 <rdar://problem/14040314> Web Inspector says it takes ~15,000 days to load developer library
534 Reviewed by Joseph Pecoraro.
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):
544 2013-06-05 Timothy Hatcher <timothy@apple.com>
546 Unlocalize the box model labels.
548 <rdar://problem/14057745> [WebBrowser]: Euro: 13A476r: Box model should not be localized
550 Reviewed by Ada Chan.
552 * UserInterface/BoxModelDetailsSectionRow.js:
553 (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
555 2013-06-05 Timothy Hatcher <timothy@apple.com>
557 Syntax highlight inherit, initial and function names in CSS as keywords.
559 Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
561 Reviewed by Joseph Pecoraro.
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.
567 2013-06-05 Timothy Hatcher <timothy@apple.com>
569 Improve the implicit suffix handling when editing in the middle of a CSS value.
571 Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
573 Reviewed by Joseph Pecoraro.
575 * UserInterface/CodeMirrorCompletionController.js:
576 (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
578 2013-06-05 Timothy Hatcher <timothy@apple.com>
580 Autocomplete property names for transition and transition-property.
582 Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
584 Reviewed by Joseph Pecoraro.
586 * UserInterface/CSSCompletions.js:
587 (WebInspector.CSSCompletions.prototype.get values):
588 * UserInterface/CSSKeywordCompletions.js:
589 (WebInspector.CSSKeywordCompletions.forProperty):
591 2013-06-04 Timothy Hatcher <timothy@apple.com>
593 Properly autocomplete CSS values if the property name is on a previous line.
595 Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
597 Reviewed by Joseph Pecoraro.
599 * UserInterface/CodeMirrorCompletionController.js:
600 (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
602 2013-06-03 Timothy Hatcher <timothy@apple.com>
604 Add property names to the value keywords list so they are highlighted for -webkit-transition.
606 <rdar://problem/14052662> "-webkit-transform" is not correctly highlighted when editing CSS resource
608 Reviewed by Joseph Pecoraro.
610 * UserInterface/CSSCompletions.js:
611 (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
613 2013-06-03 Joseph Pecoraro <pecoraro@apple.com>
615 <rdar://problem/14047312> Add New Rules sometimes doesn't do anything
617 Better handle generating selectors for nodes with spaces in class or id attributes.
619 Tests: (Cases that were failing before)
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\""])
625 Reviewed by Timothy Hatcher.
627 * UserInterface/DOMNode.js:
628 (WebInspector.DOMNode.prototype.appropriateSelectorFor):
629 * UserInterface/DOMUtilities.js:
630 (WebInspector.displayNameForNode):
632 2013-06-03 Antoine Quint <graouts@apple.com>
634 <rdar://problem/13932229> Update CSSKeywordCompletions.js for iOS properties
636 Add support for the new Ò-appleÓ-prefixed values for the ÒfontÓ property.
638 Reviewed by Timothy Hatcher.
640 * UserInterface/CSSKeywordCompletions.js:
642 2013-06-03 Joseph Pecoraro <pecoraro@apple.com>
644 <rdar://problem/14047029> Exception CallFrameTreeElement.js:19: TypeError: 'null' is not an object (evaluating 'callFrame.sourceCodeLocation.displaySourceCode')
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.
649 Reviewed by Timothy Hatcher.
651 * UserInterface/CallFrameTreeElement.js:
652 (WebInspector.CallFrameTreeElement):
654 2013-06-03 Timothy Hatcher <timothy@apple.com>
656 Hide the caret in read-only style declarations.
658 <rdar://problem/14047344> Locked rules (UA stylesheets) in Styles sidebar shouldn't display a caret
660 Reviewed by Joseph Pecoraro.
662 * UserInterface/CSSStyleDeclarationTextEditor.css:
663 (.css-style-text-editor.read-only > .CodeMirror .CodeMirror-cursor): Added.
665 2013-06-03 Timothy Hatcher <timothy@apple.com>
667 Correctly stop auto recording the Timeline after the load event or a maximum duration (which ever comes first).
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.
672 <rdar://problem/14043180> REGRESSION (6.0.5-Curie): Safari Web Content: 100% CPU when using Inspector
674 Reviewed by Joseph Pecoraro.
676 * UserInterface/TimelineManager.js:
677 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
678 Don't call _stopAutoRecordingSoon for the DOMContent event.
680 (WebInspector.TimelineManager.prototype._addRecord):
681 Don't call _stopAutoRecordingSoon. Add the call to _resetAutoRecordingDeadTimeTimeout back.
683 (WebInspector.TimelineManager.prototype._startAutoRecording):
684 Use MaximumAutoRecordDuration instead of MaximumAutoRecordDurationAfterLastRecord for the timeout.
686 (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
687 Remove the dead time timeout now that it is back in _addRecord.
689 2013-06-02 Joseph Pecoraro <pecoraro@apple.com>
691 <rdar://problem/14040519> BoxModelDetailsSectionRow.js:120: ERROR: TypeError: 'null' is not an object (evaluating 'style.propertyForName(width).value')
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.
697 Reviewed by Timothy Hatcher.
699 * UserInterface/BoxModelDetailsSectionRow.js:
700 (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
702 2013-06-02 Joseph Pecoraro <pecoraro@apple.com>
704 Reveal line sometimes doesn't work with content right at the edge of the screen.
706 Reviewed by Timothy Hatcher.
708 * UserInterface/TextEditor.js:
709 (WebInspector.TextEditor.prototype._isPositionVisible):
711 2013-05-31 Joseph Pecoraro <pecoraro@apple.com>
713 <rdar://problem/14039888> Should not have spellchecking during most HTML editing
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.
719 Reviewed by Timothy Hatcher.
721 * UserInterface/DOMTreeElement.js:
722 (WebInspector.DOMTreeElement.prototype._startEditingTextNode):
723 * UserInterface/EditingSupport.js:
724 (WebInspector.EditingConfig):
725 (.cleanUpAfterEditing):
727 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
729 <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
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.
739 Reviewed by Antoine Quint.
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
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.
757 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
759 <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
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.
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
771 Reviewed by Antoine Quint.
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):
800 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
802 <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
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.
809 Reviewed by Antoine Quint.
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):
824 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
826 <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
828 Remove a reveal that always happens with line number 0.
830 Reviewed by Antoine Quint.
832 * UserInterface/Main.js:
833 (WebInspector.toggleConsoleView):
834 * UserInterface/ResourceSidebarPanel.js:
835 (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode):
837 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
839 Unprefix uses of "-webkit-calc".
841 Reviewed by Timothy Hatcher.
843 * UserInterface/CSSStyleDeclarationTextEditor.css:
844 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
846 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
848 <rdar://problem/14028576> Inspector finds CSS color names in other strings
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 '.'.
854 Tests cases that previously would have produced swatches:
857 url("fools-gold.png");
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
865 Reviewed by Timothy Hatcher.
867 * UserInterface/CSSStyleDeclarationTextEditor.js:
868 (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
869 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
871 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
873 <rdar://problem/14023649> No -webkit-filter autocompletion
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.
879 This adds a bunch of common function completions.
881 Reviewed by Timothy Hatcher.
883 * UserInterface/CSSKeywordCompletions.js:
884 * UserInterface/CodeMirrorCompletionController.js:
885 (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint):
887 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
889 <rdar://problem/13994485> Hovering element breadcrumbs should highlight element on page
891 When hovering DOMTreeElementPathComponents highlight the associated
892 node on the page, like when you hover the DOMTreeElement.
894 Reviewed by Dean Jackson.
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.
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.
908 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
910 <rdar://problem/14020206> Debugger popover not showing for "this"
912 Allow popover for the keyword "this".
914 Reviewed by Antoine Quint.
916 * UserInterface/CodeMirrorTokenTrackingController.js:
917 (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
919 2013-05-28 Joseph Pecoraro <pecoraro@apple.com>
921 <rdar://problem/14007495> Web Inspector has "Instruments," but this is already a feature in Xcode
923 Rename the "Instruments" Navigation Sidebar to "Timelines". Marketing
924 had concerns about using the same name in multiple places.
926 Rubber-stamped by Timothy Hatcher.
928 * Localizations/en.lproj/localizedStrings.js:
929 * UserInterface/InstrumentSidebarPanel.js:
930 (WebInspector.InstrumentSidebarPanel):
932 2013-05-28 Joseph Pecoraro <pecoraro@apple.com>
934 <rdar://problem/14006550> Console errors persist when you navigate to other pages
936 The console can clear in two ways, handle both events.
938 Reviewed by Timothy Hatcher.
940 * UserInterface/DashboardManager.js:
941 (WebInspector.DashboardManager):
943 2013-05-27 Timothy Hatcher <timothy@apple.com>
945 Fix copy handeling for DataGrid.
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.
952 Reviewed by Antoine Quint.
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):
962 2013-05-27 Timothy Hatcher <timothy@apple.com>
964 Allow data grid value column's in details sections wrap to multiple lines.
966 <rdar://problem/12329905> Can't easily view long header values
968 Reviewed by Antoine Quint.
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):
980 2013-05-27 Timothy Hatcher <timothy@apple.com>
982 Only add event markers for the main frame.
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.
987 Reviewed by Antoine Quint.
989 * UserInterface/TimelineManager.js:
990 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
991 (WebInspector.TimelineManager.prototype.eventRecorded):
993 2013-05-26 Timothy Hatcher <timothy@apple.com>
995 Stop using a CSS drop-shadow filter for the Web Inspector popover.
997 Use the existing background canvas to draw the drop shadow instead.
999 <rdar://problem/13991902> Stop using CSS filters for Popover
1002 <rdar://problem/13977466> Popover arrow is not perfectly centered with content
1004 Reviewed by Joseph Pecoraro.
1006 * UserInterface/Popover.css:
1008 (.popover > .container):
1009 * UserInterface/Popover.js:
1010 (WebInspector.Popover.prototype._update):
1011 (WebInspector.Popover.prototype._drawBackground):
1012 (WebInspector.Popover.prototype._bestMetricsForEdge):
1014 2013-05-25 Timothy Hatcher <timothy@apple.com>
1016 Show the popover after a delay so quickly arrowing down the grid does not flash the popover.
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.
1023 Reviewed by Joseph Pecoraro.
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):
1032 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1034 Show a highlight quad on the screen when selecting a Layout/Paint record.
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.
1040 Reviewed by Timothy Hatcher.
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):
1059 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1061 <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
1063 Clear the popover's contents when the content view is reset so
1064 we don't leak anything held by the CallFrameTreeElements.
1066 Reviewed by Timothy Hatcher.
1068 * UserInterface/NetworkDataGrid.js:
1069 (WebInspector.NetworkDataGrid.prototype.reset):
1070 * UserInterface/TimelineDataGrid.js:
1071 (WebInspector.TimelineDataGrid.prototype.reset):
1073 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1075 <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
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.
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.
1086 Reviewed by Timothy Hatcher.
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.
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.
1098 * UserInterface/Main.html:
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.
1113 * UserInterface/TimelinesContentView.js:
1114 (WebInspector.TimelinesContentView):
1115 Instantiate the specific DataGrid types.
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.
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.
1133 * UserInterface/DataGrid.js:
1134 (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
1135 Helper for accessing a specific <td> inside a <tr> by column name.
1137 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1139 Switch from "X" and "Y" to "Area" in the Layout Timeline
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.
1146 Reviewed by Timothy Hatcher.
1148 * UserInterface/LayoutTimelineDataGridNode.js:
1149 (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
1150 * UserInterface/TimelinesContentView.js:
1151 (WebInspector.TimelinesContentView):
1153 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1155 Restore Width and Height values for Layouts and Paints in Timeline
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.
1160 Reviewed by Timothy Hatcher.
1162 * UserInterface/Geometry.js:
1163 (WebInspector.Quad):
1164 Provide a wrapper object for the protocol Quad representation.
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.
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.
1178 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1180 Use SourceCodeLocations when displaying Script locations.
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.
1186 Reviewed by Timothy Hatcher.
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):
1199 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1201 Add Script Timeline records for Installing / Removing Timelines
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.
1206 Reviewed by Timothy Hatcher.
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):
1215 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
1217 Remove some unused old style DataGrid events.
1219 These events are not used anywhere, and we have a new style event.
1221 Reviewed by Timothy Hatcher.
1223 * UserInterface/DataGrid.js:
1224 (WebInspector.DataGridNode.prototype.select):
1225 (WebInspector.DataGridNode.prototype.deselect):
1227 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1229 Turn off spellchecking on some text inputs.
1231 Reviewed by David Kilzer.
1233 * UserInterface/Breakpoint.js:
1234 (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
1235 * UserInterface/FindBanner.js:
1236 (WebInspector.FindBanner):
1238 2013-05-24 Timothy Hatcher <timothy@apple.com>
1240 Tag all Web Inspector images with copyright info.
1242 Added to all images: Copyright © 2013 Apple Inc. All rights reserved.
1244 Requested by Joyce Chow.
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:
1446 2013-05-24 Timothy Hatcher <timothy@apple.com>
1448 Workaround an error with minifying the Web Inspector.
1450 jsmin.py does not like: return //.test();
1452 <rdar://problem/13983475> REGRESSION(r51583): Cannot show web inspector in recent spades
1454 * UserInterface/External/CodeMirror/codemirror.js:
1455 (window.CodeMirror):
1457 2013-05-23 Timothy Hatcher <timothy@apple.com>
1459 Update CodeMirror from 3.12 to 3.13.
1461 Include the new comment.js addon and hook it up to Command-/.
1463 Reviewed by Joseph Pecoraro.
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.
1483 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1485 <rdar://problem/13972577> ER: when deleting break points on a file, don't move up if you can't delete
1487 Reviewed by Timothy Hatcher.
1489 * UserInterface/DebuggerSidebarPanel.js:
1490 (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
1492 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1494 <rdar://problem/7545262> Command-E should put selected text in the search box
1496 Don't implicitly preventDefault with the keyboard shortcut. This allows the
1497 default behavior of populating the system find pasteboard.
1499 Reviewed by Timothy Hatcher.
1501 * UserInterface/FindBanner.js:
1502 (WebInspector.FindBanner):
1504 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1506 <rdar://problem/7545262> Command-E should put selected text in the search box
1508 Pass the "changeFocus" parameter through the internal cursor relative reveal functions.
1510 Reviewed by Timothy Hatcher.
1512 * UserInterface/TextEditor.js:
1513 (WebInspector.TextEditor.prototype.revealPreviousSearchResult):
1514 (WebInspector.TextEditor.prototype.revealNextSearchResult):
1515 (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
1516 (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
1518 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1520 <rdar://problem/7545262> Command-E should put selected text in the search box
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.
1526 Reviewed by Timothy Hatcher.
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):
1536 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1538 <rdar://problem/7545262> Command-E should put selected text in the search box
1540 Clear the automaticallyRevealFirstSearchResult state after revealing a search term.
1542 Reviewed by Timothy Hatcher.
1544 * UserInterface/TextEditor.js:
1546 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1548 <rdar://problem/7545262> Command-E should put selected text in the search box
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.
1556 Reviewed by Timothy Hatcher.
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.
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.
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.
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.
1582 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1584 <rdar://problem/7545262> Command-E should put selected text in the search box
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.
1592 Reviewed by Timothy Hatcher.
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.
1600 * UserInterface/TextEditor.js:
1601 (WebInspector.TextEditor.prototype.searchQueryWithSelection):
1602 Get the selection from CodeMirror and return that.
1604 * UserInterface/ContentView.js:
1605 (WebInspector.ContentView.prototype.searchQueryWithSelection):
1606 Default implementation returns null, meaning no change.
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.
1620 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1622 Remove unnecessary return for setter.
1624 This was just a copy / paste error from when it was originally written.
1626 Reviewed by Timothy Hatcher.
1628 * UserInterface/ClusterContentView.js:
1629 (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult):
1631 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
1633 Remove unused instance variable TextEditor._pendingSearchResultLineNumbers
1635 Reviewed by Timothy Hatcher.
1637 * UserInterface/TextEditor.js:
1638 (WebInspector.TextEditor):
1640 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
1642 <rdar://problem/13961791> Stopping recording clears the timeline
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.
1647 Reviewed by Timothy Hatcher.
1649 * UserInterface/TimelineManager.js:
1650 (WebInspector.TimelineManager.prototype._mainResourceDidChange):
1652 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
1654 <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
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.
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.
1666 Reviewed by Timothy Hatcher.
1668 * UserInterface/DebuggerSidebarPanel.js:
1669 (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
1671 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
1673 <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
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.
1681 Reviewed by Timothy Hatcher.
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):
1689 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
1691 <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
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.
1699 Also, replace instances of "scriptsForResource" with the new scripts
1700 accessor on WebInspector.Resource.
1702 Reviewed by Timothy Hatcher.
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):
1711 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
1713 <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
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.
1721 Start by creating an association between WebInspector.Resource and
1722 WebInspector.Script. The order of events is always such that the Resource
1725 - Network.requestWillBeSent => create WebInspector.Resource
1726 - Debugger.scriptParsed => create WebInspector.Script
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.
1733 Reviewed by Timothy Hatcher.
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.
1742 * UserInterface/Resource.js:
1743 (WebInspector.Resource.prototype.get scripts):
1744 (WebInspector.Resource.prototype.associateWithScript):
1745 Allow a Script to associate with this resource.
1747 * UserInterface/FrameResourceManager.js:
1748 Remove "resourceForScript". Script's now have a resource property.
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.
1765 2013-05-21 Joseph Pecoraro <pecoraro@apple.com>
1767 Remove generic event listeners when ClusterContentViews are closed.
1769 Some event listeners were removed, but not all. This would have
1770 caused the cluster content views to be leaked.
1772 Reviewed by Timothy Hatcher.
1774 * UserInterface/ClusterContentView.js:
1775 (WebInspector.ClusterContentView.prototype.closed):
1777 2013-05-21 Joseph Pecoraro <pecoraro@apple.com>
1779 Remove the concept of left and right navigation items.
1781 They are unused. So just remove them.
1783 Reviewed by Timothy Hatcher.
1785 * UserInterface/ContentBrowser.js:
1786 (WebInspector.ContentBrowser):
1787 (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
1788 * UserInterface/Sidebar.js:
1789 (WebInspector.Sidebar):
1791 2013-05-22 Timothy Hatcher <timothy@apple.com>
1793 Fix auto complete property caching.
1795 <rdar://problem/13961832> Autocomplete of function return value causes side-effects multiple times
1797 Reviewed by Joseph Pecoraro.
1799 * UserInterface/JavaScriptLogViewController.js:
1801 2013-05-21 Antoine Quint <graouts@apple.com>
1803 <rdar://problem/13948862> REGRESSION (r150395): Sticky headers are mis-positioned
1805 Reviewed by Joseph Pecoraro.
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.
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.
1820 2013-05-21 Antoine Quint <graouts@apple.com>
1822 <rdar://problem/13941438> Debugger popovers should prefer placement to the bottom/right over left to not cover expression
1824 Reviewed by Timothy Hatcher.
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.
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.
1836 * UserInterface/Popover.js:
1837 (WebInspector.Popover):
1838 (WebInspector.Popover.prototype.present):
1839 Rename ÒpreferredEdgeÓ to ÒpreferredEdgesÓ (plural).
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.
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.
1850 2013-05-20 Joseph Pecoraro <pecoraro@apple.com>
1852 <rdar://problem/13945892> Console messages not working with iOS 6
1854 Reviewed by Timothy Hatcher.
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.
1861 * UserInterface/ConsoleObserver.js:
1862 (WebInspector.ConsoleObserver.prototype.messageAdded):
1864 2013-05-19 Timothy Hatcher <timothy@apple.com>
1866 Prevent selection and deselect all messages when clicking disclosure triangles in the console.
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.
1872 <rdar://problem/13839762> REGRESSION: When inspecting an object in the console, the entire object becomes highlighted
1874 Reviewed by Joseph Pecoraro.
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.
1882 * UserInterface/DOMTreeOutline.js:
1883 (WebInspector.DOMTreeOutline.prototype._onmousedown):
1884 Prevent default instead of stopping propagation.
1886 * UserInterface/LogContentView.css:
1887 (.outline-disclosure li.parent::before):
1888 Drive by disclosure triangle position tweak.
1890 * UserInterface/LogContentView.js:
1891 (WebInspector.LogContentView.prototype._mousedown):
1892 Check for defaultPrevented and deselect all messages.
1894 * UserInterface/TreeOutline.js:
1895 (TreeElement.treeElementMouseDown):
1896 Prevent default instead of stopping propagation.
1898 2013-05-19 Timothy Hatcher <timothy@apple.com>
1900 Fix the issue where console logs would overlap on reload.
1902 Rejigger the console elements so the flex element can grow to fit and the parent does the scrolling.
1904 <rdar://problem/13932826> REGRESSION (r147261): Reloading page causes overlapping console logs (116404)
1906 Reviewed by Antoine Quint.
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):
1923 2013-05-18 Timothy Hatcher <timothy@apple.com>
1925 Make prefixed keywords syntax highlight correctly.
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.
1930 Reviewed by Joseph Pecoraro.
1932 * UserInterface/CSSCompletions.js:
1933 (WebInspector.CSSCompletions.requestCSSNameCompletions.nameForCodeMirror):
1934 (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
1936 2013-05-18 Joseph Pecoraro <pecoraro@apple.com>
1938 <rdar://problem/13774412> Update CSSKeywordCompletions.js for Curie + iOS
1940 This is a pretty mechanical update to CSS autocompletion suggestions.
1941 Also fix suggestions not working for "-webkit-" properties.
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.
1950 Rubber-stamped by Timothy Hatcher.
1952 * UserInterface/CSSKeywordCompletions.js:
1953 (WebInspector.CSSKeywordCompletions.forProperty):
1955 2013-05-17 Timothy Hatcher <timothy@apple.com>
1957 Drop -webkit- prefixes from CSS properties that no longer require them.
1959 Reviewed by Joseph Pecoraro.
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:
1971 2013-05-17 Joseph Pecoraro <pecoraro@apple.com>
1973 <rdar://problem/13919974> 11A368: Instruments tab of RWI is almost empty when loading apple.com on device
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.
1978 Reviewed by Timothy Hatcher.
1980 * UserInterface/TimelineManager.js:
1981 (WebInspector.TimelineManager.prototype._startAutoRecording):
1983 2013-05-16 Joseph Pecoraro <pecoraro@apple.com>
1985 <rdar://problem/13917982> Inconsistency between right-clicking and control-clicking in Debugger gutter
1987 Ignore "Ctrl + Left Click" in more places:
1989 * in drag / resize scenarios
1990 * text editor gutter on a breakpoint
1992 Reviewed by Timothy Hatcher.
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):
2011 2013-05-17 Timothy Hatcher <timothy@apple.com>
2013 Make clicking completions work again in the Style details sidebar.
2015 <rdar://problem/13919341> REGRESSION: Mouse clicking a CSS autocompletion suggestion no longer works
2017 Reviewed by Antoine Quint.
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.
2023 * UserInterface/CodeMirrorCompletionController.js:
2024 (WebInspector.CodeMirrorCompletionController.prototype.isHandlingClickEvent): Added.
2025 (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Use this.isHandlingClickEvent().
2027 2013-05-16 Timothy Hatcher <timothy@apple.com>
2029 Reset the branches when the main frame navigates.
2031 This makes sure the SourceCodeRevisions don't stick around between page loads and take up memory.
2033 Reviewed by Joseph Pecoraro.
2035 * UserInterface/BranchManager.js:
2036 (WebInspector.BranchManager):
2037 (WebInspector.BranchManager.prototype.initialize):
2038 (WebInspector.BranchManager.prototype.deleteBranch):
2039 (WebInspector.BranchManager.prototype._mainResourceDidChange):
2041 2013-05-16 Timothy Hatcher <timothy@apple.com>
2043 Some random style tweaks.
2045 Reviewed by Joseph Pecoraro.
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.
2052 2013-05-16 Timothy Hatcher <timothy@apple.com>
2054 Fix a case where we would enter an infinite loop, consuming memory and hang.
2056 <rdar://problem/13911608> REGRESSION (r50998): Massive memory growth and hanging (115811)
2058 Reviewed by Joseph Pecoraro.
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.
2070 2013-05-15 Timothy Hatcher <timothy@apple.com>
2072 Allow Command-K to clear the console anywhere in the Inspector.
2074 <rdar://problem/13888241> Command-K doesn't clear the Console unless it has focus
2076 Reviewed by Antoine Quint.
2078 * UserInterface/JavaScriptLogViewController.js:
2079 (WebInspector.JavaScriptLogViewController):
2081 2013-05-15 Timothy Hatcher <timothy@apple.com>
2083 Fix the Save As... keyboard shortcut.
2085 Reviewed by Antoine Quint.
2087 * UserInterface/ContentBrowser.js:
2088 (WebInspector.ContentBrowser):
2089 Don't require the Option key. It is Command-Shift-S.
2091 2013-05-15 Timothy Hatcher <timothy@apple.com>
2093 Make clicking the console icons in the dashboard toggle the scope.
2095 <rdar://problem/13884713> Improve console filtering via the dashboard buttons
2097 Reviewed by Antoine Quint.
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.
2103 2013-05-15 Timothy Hatcher <timothy@apple.com>
2105 Make the tab key commit the completion of there is only one suggestion.
2107 <rdar://problem/13897001> REGRESSION (Safari 6): Tab to accept autocomplete with 1 result
2108 should dismiss completion suggestions popover
2110 Reviewed by Antoine Quint.
2112 * UserInterface/CodeMirrorCompletionController.js:
2113 (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey):
2114 Commit the current completion if there is only one suggestion.
2116 2013-05-14 Timothy Hatcher <timothy@apple.com>
2118 Always evaluate the console prompt if the cursor is not at the last position.
2120 <rdar://problem/13854691> New Return key behavior in Web Inspector breaks my typical usage
2122 Reviewed by Joseph Pecoraro.
2124 * UserInterface/ConsolePrompt.js:
2125 (WebInspector.ConsolePrompt.prototype._handleEnterKey):
2126 * UserInterface/JavaScriptLogViewController.js:
2128 2013-05-14 Timothy Hatcher <timothy@apple.com>
2130 Update Frame.securityOrigin when committing the provisional load.
2132 Reviewed by Joseph Pecoraro.
2134 * UserInterface/Frame.js:
2135 (WebInspector.Frame.prototype.commitProvisionalLoad):
2136 * UserInterface/FrameResourceManager.js:
2137 (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
2139 2013-05-14 Timothy Hatcher <timothy@apple.com>
2141 Add DOMStorage when the main resource changes.
2143 <rdar://problem/13844066> REGRESSION: If the Web Inspector is displayed when you refresh the page, local and session storage is not visible
2145 Reviewed by Joseph Pecoraro.
2147 * UserInterface/StorageManager.js:
2148 (WebInspector.StorageManager.prototype._mainResourceDidChange):
2149 (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
2150 (WebInspector.StorageManager.prototype._securityOriginDidChange):
2152 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
2154 <rdar://problem/13876379> Pretty printing while paused in the debugger loses the execution line
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.
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.
2166 Just in case, also update SourceCodeLocation to listen to any location
2167 changes, not just display location changes.
2169 Reviewed by Timothy Hatcher.
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):
2180 2013-05-13 Timothy Hatcher <timothy@apple.com>
2182 Fix the shortcut for the Layer details sidebar panel.
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.
2187 <rdar://problem/13871872> Layers details sidebar shortcut should be control-shift-4, not control-shift-5
2189 Reviewed by Joseph Pecoraro.
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):
2209 2013-05-13 Timothy Hatcher <timothy@apple.com>
2211 Tweak the console completions to work as expected in more cases.
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>.
2216 <rdar://problem/13871885> Command-line API functions don't autocomplete when passed as parameter
2218 Reviewed by Joseph Pecoraro.
2220 * UserInterface/CodeMirrorCompletionController.js:
2221 (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
2222 * UserInterface/ConsolePrompt.js:
2223 (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded):
2224 * UserInterface/JavaScriptLogViewController.js:
2226 2013-05-12 Timothy Hatcher <timothy@apple.com>
2228 Update the toolbar height so the save sheet is positioned correctly and window gradient is accurate.
2230 <rdar://problem/13871067> Save sheet on the Web Inspector does not come out from under the toolbar
2232 Reviewed by Antoine Quint.
2234 * UserInterface/Main.js:
2235 (WebInspector.contentLoaded):
2236 (WebInspector.updateDockedState):
2237 (WebInspector._updateToolbarHeight):
2238 (WebInspector._toolbarDisplayModeDidChange):
2239 (WebInspector._toolbarSizeModeDidChange):
2241 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
2243 Improve String.prototype.startsWith to not search the entire string.
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.
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) === "?".
2251 Reviewed by Timothy Hatcher.
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:
2272 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
2274 Make mailto: href links behave correctly.
2276 Test: data:text/html,<a href="mailto:pecoraro@apple.com?subject=email">Email Joe</a>
2278 Reviewed by Timothy Hatcher.
2280 * UserInterface/Utilities.js:
2282 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
2284 <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
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.
2291 To encourage editing in the style sidebar, style url(...)s as strings,
2292 which is how they displayed before these patches.
2294 Reviewed by Timothy Hatcher.
2296 * UserInterface/TextEditor.js:
2297 (WebInspector.TextEditor.prototype._openClickedLinks):
2298 Cleanup the code a bit.
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.
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.
2308 * UserInterface/CSSStyleDeclarationTextEditor.css:
2309 (.css-style-text-editor > .CodeMirror .cm-link):
2310 In the Style sidebar editors display links as strings by default.
2312 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
2314 <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
2316 Add extendedCSSToken, modeled after extendedXMLToken to parse url(...)
2317 links and give them a "link" style class.
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
2324 Reviewed by Timothy Hatcher.
2326 * UserInterface/CodeMirrorAdditions.js:
2328 2013-05-15 Joseph Pecoraro <pecoraro@apple.com>
2330 <rdar://problem/13865123> REGRESSION: Incorrect link tokenization of unquoted src/href links - <img src=...>
2332 Handle unquoted attributes when we take over tokenization of link attribute values.
2334 Reviewed by Timothy Hatcher.
2336 * UserInterface/CodeMirrorAdditions.js:
2338 2013-05-11 Timothy Hatcher <timothy@apple.com>
2340 Make the tab behavior consistent among all CodeMirror editors.
2342 Making this a setting is tracked by <rdar://problem/10593948>.
2344 Reviewed by Darin Adler.
2346 * UserInterface/CSSStyleDeclarationTextEditor.js:
2347 (WebInspector.CSSStyleDeclarationTextEditor):
2348 * UserInterface/TextEditor.js:
2349 (WebInspector.TextEditor):
2351 2013-05-11 Timothy Hatcher <timothy@apple.com>
2353 Allow editing any local file since edits can be saved and reloaded right from the Inspector.
2355 Reviewed by Dean Jackson.
2357 * UserInterface/ScriptContentView.js:
2358 (WebInspector.ScriptContentView.prototype._contentWillPopulate):
2359 * UserInterface/TextResourceContentView.js:
2360 (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
2362 2013-05-11 Timothy Hatcher <timothy@apple.com>
2364 Support saving text resources and the console log to a local file.
2366 <rdar://problem/5827275> PARITY (Chrome Developer Tools): Add an option to save a resource locally
2368 Reviewed by Dean Jackson.
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):
2399 2013-05-11 Timothy Hatcher <timothy@apple.com>
2401 Fix an exception I saw while navigating between pages.
2403 I only reproduced this once, but the fix is a simple null check.
2404 I'm assuming close was called a second time.
2406 Reviewed by Anders Carlsson.
2408 * UserInterface/DOMTreeOutline.js:
2409 (WebInspector.DOMTreeOutline.prototype.close):
2411 2013-05-10 Timothy Hatcher <timothy@apple.com>
2413 Tweak layer borders icon.
2415 <rdar://problem/13717886> Two layers buttons with different meanings
2417 * UserInterface/Images/LayerBorders.pdf:
2419 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
2421 <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
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.
2426 Reviewed by Timothy Hatcher.
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.
2435 (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2436 Jump to the display resource when clicking the highlighted range.
2438 (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
2439 Immediately highlight hovered ranges for jump to symbol mode.
2441 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
2443 <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
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).
2450 Reviewed by Timothy Hatcher.
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).
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.
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.
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.
2479 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
2480 When in jump to symbol mode, that takes precedence. Highlight just the hovered token.
2482 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
2484 <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
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).
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:
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.
2500 When tracking is enabled, the delegate may be notified of changes:
2502 tokenTrackingControllerCanReleaseHighlightedRange - should remove the highlight
2503 tokenTrackingControllerHighlightedRangeReleased - the highlight was removed
2504 tokenTrackingControllerHighlightedRangeWasClicked - the highlight was clicked
2505 tokenTrackingControllerNewHighlightCandidate - new hovered highlight candidate
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.
2511 Reviewed by Timothy Hatcher.
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.
2530 (WebInspector.CodeMirrorTokenTrackingController.prototype.get tracking):
2531 (WebInspector.CodeMirrorTokenTrackingController.prototype.get candidate):
2532 Accessors for current state, but cannot be modified.
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.
2540 (WebInspector.CodeMirrorTokenTrackingController.prototype.boundsForRange):
2541 Helper for getting the bounds of a given codemirror text range.
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.
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.
2558 * UserInterface/TextEditor.js:
2559 (WebInspector.TextEditor):
2560 (WebInspector.TextEditor.prototype.get tokenTrackingController):
2561 Create and expose the tokenTrackingController.
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.
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.
2588 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
2590 <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
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.
2596 Reviewed by Timothy Hatcher.
2598 * UserInterface/Main.js:
2599 (WebInspector.contentLoaded):
2600 (WebInspector._updateModifierKeys):
2601 (WebInspector._windowKeyDown):
2602 (WebInspector._windowKeyUp):
2603 * UserInterface/Object.js:
2605 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
2607 Do a little renaming on ResourceSidebarPanel show methods for text
2608 ranges. This better matches the showSourceCodeLocation method names.
2610 Reviewed by Timothy Hatcher.
2612 * UserInterface/ResourceSidebarPanel.js:
2613 (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
2614 (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange):
2615 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
2617 2013-05-10 Timothy Hatcher <timothy@apple.com>
2619 Make the console prompt suggest completions after typing "." or "[".
2621 <rdar://problem/13860627> REGRESSION: Console autocompletion does not suggest anything until first character is typed
2623 Reviewed by Joseph Pecoraro.
2625 * UserInterface/CodeMirrorCompletionController.js:
2626 (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions):
2627 (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
2628 (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
2629 (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
2631 2013-05-09 Timothy Hatcher <timothy@apple.com>
2633 Tell WebInspector.Resource about its type when it is created instead of changing it later.
2635 This depends on: https://webkit.org/b/74935
2637 <rdar://problem/13726105> Timeline network filters don't update as resources change type (74935)
2639 Reviewed by David Kilzer.
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):
2651 2013-05-09 Timothy Hatcher <timothy@apple.com>
2653 Use a different image for the layer border toggle button.
2655 <rdar://problem/13717886> Two layers buttons with different meanings
2657 Reviewed by Joseph Pecoraro.
2659 * UserInterface/DOMTreeContentView.js:
2660 (WebInspector.DOMTreeContentView):
2661 * UserInterface/Images/LayerBorders.pdf: Added.
2663 2013-05-08 Timothy Hatcher <timothy@apple.com>
2665 Fix the heirarchical path components for unrevealed source map resources.
2667 <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar
2669 Reviewed by Joseph Pecoraro.
2671 * UserInterface/ResourceSidebarPanel.js:
2672 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
2673 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
2674 Special case WebInspector.SourceMapResource.
2676 * UserInterface/SourceCodeTreeElement.js:
2677 (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode):
2680 2013-05-07 Timothy Hatcher <timothy@apple.com>
2682 Fix the background color for the Timeline navigation bar.
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.
2687 Reviewed by Joseph Pecoraro.
2689 * UserInterface/TimelinesContentView.css:
2690 (.content-view.timelines > .data-grid > .navigation-bar-container):
2691 (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
2693 2013-05-07 Timothy Hatcher <timothy@apple.com>
2695 Compare async resource types by their first timestamp so they are in chronological order.
2697 <rdar://problem/13827118> Web Inspector: cannot see order of xhrs in resource inspector (115728)
2699 Reviewed by Joseph Pecoraro.
2701 * UserInterface/ResourceTreeElement.js:
2702 (WebInspector.ResourceTreeElement.compareResourceTreeElements):
2704 2013-05-07 Timothy Hatcher <timothy@apple.com>
2706 Fix and simplify the layout path for Toolbar.
2708 <rdar://problem/13828232> REGRESSION: Toolbar overflows when using Icons and Text (Horizontal) mode
2710 Reviewed by Joseph Pecoraro.
2712 * UserInterface/Toolbar.css:
2713 (.toolbar .control-section):
2714 * UserInterface/Toolbar.js:
2715 (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
2716 (WebInspector.Toolbar.prototype.customUpdateLayout):
2718 2013-05-07 Joseph Pecoraro <pecoraro@apple.com>
2720 <rdar://problem/13821139> After deleting a node when remote inspecting, Web Inspector is broken
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).
2728 Reviewed by Timothy Hatcher.
2730 * UserInterface/DOMTreeElement.js:
2731 (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
2732 (WebInspector.DOMTreeElement.prototype.remove):
2734 2013-05-07 Joseph Pecoraro <pecoraro@apple.com>
2736 Fix member name typo.
2738 This was the only occurrence of _selectDOMNode. This looks
2739 like it was just a typo of _selectedDOMNode.
2741 Reviewed by Darin Adler.
2743 * UserInterface/DOMTreeOutline.js:
2744 (WebInspector.DOMTreeOutline):
2746 2013-05-07 Timothy Hatcher <timothy@apple.com>
2748 Use a brighter blue for selected labels in the label-only toolbar mode.
2750 This better matches the blue used in the selected toolbar icons.
2752 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2754 Reviewed by Antoine Quint.
2756 * UserInterface/ButtonToolbarItem.css:
2757 (.toolbar.label-only .item.activate.button.activated > .label):
2759 2013-05-07 Timothy Hatcher <timothy@apple.com>
2761 Only allow the LCD to be a single line, giving less difference between toolbar modes and sizes.
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.
2766 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2768 Reviewed by Antoine Quint.
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):
2784 2013-05-06 Timothy Hatcher <timothy@apple.com>
2786 Update the LCD background to match Xcode 5.
2788 This change is conditional to non-nightlies.
2790 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2792 Reviewed by Joseph Pecoraro.
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):
2813 2013-05-06 Timothy Hatcher <timothy@apple.com>
2815 Update the filter field placeholder in the Resources sidebar when showing search results.
2817 Reviewed by Antoine Quint.
2819 * Localizations/en.lproj/localizedStrings.js:
2820 * UserInterface/ResourceSidebarPanel.js:
2822 2013-05-06 Timothy Hatcher <timothy@apple.com>
2824 Always have the HierarchicalPathComponent take space so it gives the last item some padding.
2826 Reviewed by Antoine Quint.
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.
2832 2013-05-06 Timothy Hatcher <timothy@apple.com>
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.
2837 This adds some updateLayout calls to places that needed it now or were missing it already.
2839 This change is not conditional to non-nightlies. It does no harm to always do this.
2841 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2843 Reviewed by Antoine Quint.
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):
2864 2013-05-06 Timothy Hatcher <timothy@apple.com>
2866 Show overflow shadow pockets in the navigation sidebar when content can scroll.
2868 This change is conditional to non-nightlies.
2870 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2872 Reviewed by Antoine Quint.
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):
2894 2013-05-06 Timothy Hatcher <timothy@apple.com>
2896 Update focus and active focus generated images to match the blues used by Xcode 5.
2898 This change is not conditional to non-nightlies. It shouldn't be too revealing.
2900 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2902 Reviewed by Antoine Quint.
2904 * UserInterface/ImageUtilities.js:
2907 2013-05-06 Timothy Hatcher <timothy@apple.com>
2909 Update styles to match the majority of Xcode 5's design changes.
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.
2914 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
2916 Rubber-stamped by Antoine Quint.
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:
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:
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:
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):
3014 2013-05-06 Timothy Hatcher <timothy@apple.com>
3016 Add a nightly-build class so we can hide new UI from nightly WebKit builds.
3018 Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
3020 Reviewed by Antoine Quint.
3022 * UserInterface/Main.js:
3023 (WebInspector.contentLoaded):
3024 Set the nightly-build class on body if we are in a nightly build.
3026 2013-05-03 Timothy Hatcher <timothy@apple.com>
3028 Add stubs for savedURL and appendedToURL.
3030 https://webkit.org/b/115561
3031 rdar://problem/13806055
3033 Reviewed by Joseph Pecoraro.
3035 * UserInterface/InspectorFrontendAPI.js:
3036 (InspectorFrontendAPI.savedURL):
3037 (InspectorFrontendAPI.appendedToURL):
3039 2013-05-02 Timothy Hatcher <timothy@apple.com>
3041 Fix the alignment of the titles in the Timelines sidebar.
3043 Reviewed by Joseph Pecoraro.
3045 * UserInterface/GeneralTreeElement.js:
3046 (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
3047 Only create a subtitle if the string has a value, not an empty string.
3049 2013-05-01 Timothy Hatcher <timothy@apple.com>
3051 Make the Dashboard timer and Timeline views more robust when going back/forward.
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
3057 Reviewed by Antoine Quint.
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):
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.
3073 * UserInterface/Resource.js:
3074 (WebInspector.Resource.prototype.get firstTimestamp): Added.
3075 Added as a helper to prevent using NaN as the start time.
3077 * UserInterface/ResourceTimelineRecord.js:
3078 (WebInspector.ResourceTimelineRecord.prototype.get startTime):
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.
3097 * UserInterface/TimelinesContentView.js:
3098 (WebInspector.TimelinesContentView):
3099 (WebInspector.TimelinesContentView.prototype._recordsCleared):
3100 Use RecordsCleared event instead of RecordingStarted to clear the view.
3102 2013-05-01 Timothy Hatcher <timothy@apple.com>
3104 Reveal the line (if supplied) when showing a ScriptContentView.
3106 <rdar://problem/13785027> REGRESSION: Extra Scripts: no autoscroll to debugger statement.
3108 Reviewed by Joseph Pecoraro.
3110 * UserInterface/ResourceSidebarPanel.js:
3111 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
3113 2013-05-01 Timothy Hatcher <timothy@apple.com>
3115 Don't update the dashboard text unless it has changed.
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.
3120 <rdar://problem/13718056> While JS debugging, everything in the inspector window is repainting all the time
3122 Reviewed by Joseph Pecoraro.
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.):
3136 2013-05-01 Timothy Hatcher <timothy@apple.com>
3138 Breakpoint context menu items should appear for Extra and Anonymous Scripts.
3140 <rdar://problem/13776299>
3142 Reviewed by Joseph Pecoraro.
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.
3150 2013-04-30 Timothy Hatcher <timothy@apple.com>
3152 Disable spellcheck and smart quotes in the console prompt.
3154 I'll upstream this to CodeMirror once I get approval from legal.
3156 <rdar://problem/13757709>
3158 Reviewed by Ricky Mondello.
3160 * UserInterface/External/CodeMirror/codemirror.js:
3161 (window.CodeMirror):
3163 2013-04-30 Timothy Hatcher <timothy@apple.com>
3165 Tweak the Toolbar layout code to not hide the Dashboard when sizes are off by one.
3167 This wasn't needed when sub-pixel layout was on, but that was disabled in http://webkit.org/b/149209.
3169 <rdar://problem/13757354> REGRESSION: Toolbar thinks it is collapsed, so dashboard is hidden
3171 Reviewed by Joseph Pecoraro.
3173 * UserInterface/Toolbar.js:
3174 (WebInspector.Toolbar.prototype.customUpdateLayout):
3176 2013-04-30 Timothy Hatcher <timothy@apple.com>
3178 Have dashboard buttons (console summary buttons) do filtering as well.
3180 <rdar://problem/13685685>
3182 Reviewed by Joseph Pecoraro.
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):
3193 2013-04-30 Joseph Pecoraro <pecoraro@apple.com>
3195 <rdar://problem/12719925> Call stack should show live line number next to file name
3197 Reviewed by Timothy Hatcher.
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).
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.
3213 * UserInterface/SourceCodeLocation.js:
3214 (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
3215 Allow an optional prefix before the location string.
3217 2013-04-29 Timothy Hatcher <timothy@apple.com>
3219 Remove an assert from StyleDetailsPanel.prototype.shown.
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.
3224 Reviewed by Joseph Pecoraro.
3226 * UserInterface/CSSStyleDetailsSidebarPanel.js:
3227 (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
3228 * UserInterface/StyleDetailsPanel.js:
3229 (WebInspector.StyleDetailsPanel.prototype.shown):
3231 2013-04-29 Timothy Hatcher <timothy@apple.com>
3233 Skip invalid properties when associating related properties.
3235 <rdar://problem/13752586> DOMNodeStyles.js:981: console.assert(property.overridden); on html5please.com
3237 Reviewed by Joseph Pecoraro.
3239 * UserInterface/DOMNodeStyles.js:
3240 (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties):
3242 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3244 Don't allow Command+Enter in the Console with an empty expression.
3246 Reviewed by Timothy Hatcher.
3248 * UserInterface/ConsolePrompt.js:
3250 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3252 <rdar://problem/13616567> Can no longer clear the console with clear()
3254 LogContentView starts listening for an event in the constructor which
3255 was getting removed in close and not being added back. This ContentView
3256 is already treated like a singleton with other events, treat this the
3257 same and just avoid removing event listeners in close.
3259 Reviewed by Timothy Hatcher.
3261 * UserInterface/LogContentView.js:
3263 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3265 <rdar://problem/13765474> REGRESSION: Console should not clear on reload
3267 The backend sends the frontend a messagesCleared messages for many reasons.
3268 We should not clear the active log when there was a navigation. In those
3269 cases the LogManager will send out a Cleared or SessionStarted event.
3270 It would be messy and brittle to determine if we are in the middle of a
3271 main resource load, so it is easier to do a setTimeout and send an event
3272 if we did not do a navigation.
3274 This works well with all common cases, but breaks:
3276 js> console.log(1); console.clear(); console.log(2);
3278 Filed the follow-up bug to handle fixing this by providing the frontend
3279 with the information it needs in messagesCleared.
3281 Reviewed by Timothy Hatcher.
3283 * UserInterface/ConsoleObserver.js:
3284 (WebInspector.ConsoleObserver.prototype.messageAdded):
3285 Don't append a blank ConsoleMessage row for console.clear messages.
3287 * UserInterface/LogManager.js:
3288 (WebInspector.LogManager.prototype.messagesCleared):
3289 (WebInspector.LogManager.prototype._mainResourceDidChange):
3290 Defer ActiveLogCleared events so that we don't issue one while we
3291 are reloading the page.
3293 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3295 <rdar://problem/13764663> Tooltips on live location links are no longer working
3297 Changing the content in mousemove, even if the content was the same,
3298 would cause the tooltip to disappear. Avoid changing the content unless
3299 we absolutely need to.
3301 Reviewed by Timothy Hatcher.
3303 * UserInterface/SourceCodeLocation.js:
3304 (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
3305 Avoid unnecessary content updates.
3307 (WebInspector.SourceCodeLocation.prototype._locationString):
3308 Fix typo causing column numbers to not show up in tooltips.
3310 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3312 <rdar://problem/13763988> Jump to "rs.js" error location link not live on theverge.com
3314 The URL in the ConsoleMessage is the URL of the Script, which contains
3315 a fragment. The URL of the Resource does not contain the fragment. When
3316 we create a sourceCodeLocation in linkifyLocation we want to get the
3317 resource that has a sidebar item, because that is the resource in the
3318 sidebar that will show a ContentView. So if we get a Script try to get
3319 the Resource for that Script if one exists.
3321 Reviewed by Timothy Hatcher.
3323 * UserInterface/Main.js:
3324 (WebInspector.linkifyLocation):
3326 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
3328 <rdar://problem/13442566> Console context selector should truncate or generate better names when the names are long
3330 Truncate the context selector quick console nav bar item. And modify
3331 how items are sorted in the context menu to show the frame name if one
3334 Reviewed by Timothy Hatcher.
3336 * UserInterface/HierarchicalPathComponent.js:
3337 (WebInspector.HierarchicalPathComponent):
3338 (WebInspector.HierarchicalPathComponent.prototype.get displayName):
3339 (WebInspector.HierarchicalPathComponent.prototype.set displayName):
3340 (WebInspector.HierarchicalPathComponent.prototype.get truncatedDisplayNameLength):
3341 (WebInspector.HierarchicalPathComponent.prototype.set truncatedDisplayNameLength):
3342 Separate the display name property from the title element's content, so we
3343 can truncate the display but store the real name.
3345 (WebInspector.HierarchicalPathComponent.prototype._updateElementTitleAndText):
3346 Truncate the display in the navigation bar.
3348 (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption):
3349 (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement):
3350 Work around an NSMenu issue and truncate in the option text in the context menu.
3352 * UserInterface/QuickConsole.js:
3353 (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent):
3354 (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
3355 (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
3356 Set the Frame on the PathComponents to use later for sorting.
3358 2013-04-29 Timothy Hatcher <timothy@apple.com>
3360 Abort earlier when loading completions for a null or undefined value.
3362 <rdar://problem/13764611> JavaScriptLogViewController.js:293: CONSOLEAPI ERROR: Unknown result type: undefined
3364 Reviewed by Joseph Pecoraro.
3366 * UserInterface/JavaScriptLogViewController.js:
3367 (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded):
3368 Return early if the RemoteObject is null or undefined. Also release the completion group.
3370 2013-04-29 Timothy Hatcher <timothy@apple.com>
3372 Correct the layout of navigation items when an item has selector arrows.
3374 <rdar://problem/13717922> Layer border toggle button disappears sometimes
3376 Reviewed by Joseph Pecoraro.
3378 * UserInterface/HierarchicalPathComponent.js:
3379 (WebInspector.HierarchicalPathComponent):
3380 (WebInspector.HierarchicalPathComponent.prototype.get minimumWidth): Added.
3381 (WebInspector.HierarchicalPathComponent.prototype.set forcedWidth):
3382 (WebInspector.HierarchicalPathComponent.prototype.get selectorArrows): Added.
3383 (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows): Added.
3384 Account for the width of the selector arrows when using minimum width.
3386 * UserInterface/HierarchicalPathNavigationItem.js:
3387 (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout):
3388 Ask HierarchicalPathComponent for its minimum width.
3390 * UserInterface/NavigationBar.js:
3391 (WebInspector.NavigationBar.prototype.updateLayout):
3392 Skip flexible space items since they can take up no space at the minimum width.
3394 2013-04-27 Dean Jackson <dino@apple.com>
3396 <rdar://problem/13441708> Make the Web Inspector work if HiDPI canvas is disabled on OS X
3398 Reviewed by Tim Hatcher.
3400 For <rdar://problem/13437328>, HIGH_DPI_CANVAS was disabled on retina devices, so
3401 the places in the inspector that use a canvas must double the dimensions of
3402 the image buffers they request.
3404 * UserInterface/DashboardView.css:
3405 (.toolbar .dashboard): Since the image being pased in as background might be 2x,
3406 make sure that it uses the element size for the background.
3407 * UserInterface/DashboardView.js: Request a 2x canvas if necessary.
3409 * UserInterface/ImageUtilities.js:
3410 (generateColoredImage): No need to pass in scale, as this method is passed the
3411 correct width and height the caller needs. Use get/setImageData methods.
3412 (generateColoredImagesForCSS): Calculate a scaledWidth/Height to be used throughout
3413 this method. Make sure we create contexts with the correct dimensions, and save/restore
3415 (._drawImageShadow): Use scaledWidth/Height.
3416 (._invertMaskImage): No need to pass in width and height..
3417 (._applyImageMask): Ditto.
3418 (generateEmbossedImages): Calculate a scaledWidth/Height to be used throughout
3419 this method. Make sure we create contexts with the correct dimensions.
3421 * UserInterface/Popover.js:
3422 (WebInspector.Popover.prototype.set frame): Make sure to set the background size when
3423 the frame is updated.
3424 (WebInspector.Popover.prototype._drawBackground): Create a correctly scaled canvas,
3425 and some minor code cleanup.
3427 2013-04-27 Timothy Hatcher <timothy@apple.com>
3429 Fix the speed of typing in the Web Inspector.
3431 ToggleControlToolbarItem regenerates its images every time 'toggled' is set, even
3432 if the flag does not change! And the dock button updates 'toggled' on keydown and
3433 keyup to update when Option is pressed.
3435 <rdar://problem/13756496> REGRESSION: Dock/undock buttons regenerates ever keydown and keyup!
3437 Reviewed by Dean Jackson.
3439 * UserInterface/ToggleButtonNavigationItem.js:
3440 (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Return early if flag does not change.
3442 2013-04-27 Joseph Pecoraro <pecoraro@apple.com>
3444 <rdar://problem/13143692> Object literal properties should not have popovers
3448 var foo = 300, o = { foo: 1 };
3451 This patch makes it so hovering "foo" in the object literal does not
3452 show a popover, it used to show 300. While hovering the variable "foo"
3453 or hovering the property access "o.foo" both show expected values.
3455 Reviewed by Timothy Hatcher.
3457 * UserInterface/TextEditor.js:
3458 (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
3459 If we are hovering a JavaScript token inside of a <script> in HTML resources
3460 then the JavaScript state is actually token.state.localState. If it is in
3461 a JavaScript resource then it is just token.state. Pass the most specific
3462 state on our partial "token" object.
3464 (WebInspector.TextEditor.prototype._checkHoveredToken):
3465 Bail for JavaScript object literal properties.
3467 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3469 <rdar://problem/13753106> SourceCodeTextEditor.js:815: JS ERROR: TypeError: undefined is not an object (evaluating this.hoveredToken.bounds)
3471 We have a complete token in tokenWasHovered, however between then and
3472 when the async DebuggerAgent.evaluateOnCallFrame callback happens the
3473 hovered token can change. If it changed, bail, so we don't end up
3474 trying to put the popover on the wrong hovered token or worse
3475 hit this exception and break execution.
3477 Reviewed by Timothy Hatcher.
3479 * UserInterface/SourceCodeTextEditor.js:
3480 (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate):
3481 (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
3482 (WebInspector.SourceCodeTextEditor.prototype._showPopover):
3483 Add asserts and preventative bails in multiple places to catch
3484 similar issues in the future if new paths are added.
3486 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3488 <rdar://problem/13746094> Esc inside a read only editor (JavaScript) should not bring up completion suggestions
3490 Pass on "Esc" if the editor is read only.
3492 Reviewed by Timothy Hatcher.
3494 * UserInterface/CodeMirrorCompletionController.js:
3495 (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey):
3497 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3499 <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location
3500 <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location
3502 Make the ConsoleMessage and Profiler links live when possible. Create
3503 a live link with createSourceCodeLocationLink or linkifyLocation.
3504 ConsoleMessages's have line and column information now both at the
3505 base and in stack traces. Profiler nodes don't have column info, but we
3506 can still make them live, just not entirely accurate.
3508 Reviewed by Timothy Hatcher.
3510 * UserInterface/ConsoleMessageImpl.js:
3511 (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
3512 (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
3513 Use WebInspector.linkifyLocation with url, line, and column.
3515 * UserInterface/Main.js:
3516 (.showSourceCodeLocation):
3517 (WebInspector.createSourceCodeLocationLink):
3518 (WebInspector.linkifyLocation):
3519 If we have the resource with url passed into linkifyLocation
3520 it creates a link with a sourceCodeLocation. Otherwise it just
3521 creates a basic link with the appropriate styles.
3523 * UserInterface/CSSSelectorProfileView.js:
3524 (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
3525 (WebInspector.CSSSelectorDataGridNode.prototype._linkifyLocation):
3526 * UserInterface/ProfileDataGridTree.js:
3527 (WebInspector.ProfileDataGridNode.prototype._linkifyLocation):
3528 Use WebInspector.linkifyLocation with url and lineNumber. Add
3529 a FIXME about the missing column number.
3531 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3533 <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location
3534 <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location
3536 Give ConsoleMessage a column number. The backend now sends us this info.
3538 Reviewed by Timothy Hatcher.
3540 * UserInterface/ConsoleCommandResult.js:
3541 (WebInspector.ConsoleCommandResult):
3542 * UserInterface/ConsoleMessage.js:
3543 (WebInspector.ConsoleMessage):
3544 (WebInspector.ConsoleMessage.create):
3545 * UserInterface/ConsoleMessageImpl.js:
3546 (WebInspector.ConsoleMessageImpl):
3547 (WebInspector.ConsoleMessageImpl.prototype.get levelString):
3548 * UserInterface/ConsoleObserver.js:
3549 (WebInspector.ConsoleObserver.prototype.messageAdded):
3550 * UserInterface/LogManager.js:
3551 (WebInspector.LogManager.prototype.messageWasAdded):
3553 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3555 <rdar://problem/13745104> First revealLine to SourceMapResource lineNumber is not working
3557 SourceMapResource's may lazily load their data. In such cases the
3558 ContentView for the resource will be Generic and ignore the revealLine.
3559 Once loaded, the Generic ContentView will be replaced by a better view,
3560 but the line number to reveal has been lost. Save that information in
3561 the cluster content view, as long as the resource has not finished,
3562 and pass it on to the new content view when the resource finishes.
3564 Reviewed by Timothy Hatcher.
3566 * UserInterface/SourceMapResource.js:
3567 (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
3568 Mark as finished after updating types.
3570 * UserInterface/ResourceClusterContentView.js:
3571 (WebInspector.ResourceClusterContentView.prototype.showResponse):
3572 (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange):
3573 (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
3574 If a revealLine comes in for a resource not yet finished loading, replay
3575 the reveal line when the resource does finish. If subsequent reveals come
3576 in, the most recent one wins.
3578 * UserInterface/TextEditor.js:
3579 (WebInspector.TextEditor._prettyPrint.prettyPrintAndUpdateEditor):
3580 When a file is formatted we updated the delayed line number to reveal, but
3581 didn't update the delayed text range to select. Do that just in case.
3583 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3585 <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover
3587 When hovering a link with Command we are showing the original,
3588 unformatted location. So make sure that when clicked we jump
3589 to that exact, unformatted location.
3591 Reviewed by Timothy Hatcher.
3593 * UserInterface/Main.js:
3594 (WebInspector.createGoToArrowButton):
3595 Handle Command+Click to jump to an unformatted location.
3597 * UserInterface/ResourceSidebarPanel.js:
3598 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
3599 (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation):
3600 Allow showing a source code that forces unformatting.
3602 * UserInterface/TextEditor.js:
3603 (WebInspector.TextEditor.prototype._revealPendingLineIfPossible):
3604 (WebInspector.TextEditor.prototype.revealLine):
3605 May need to unformat the resource before revealing the line.
3607 * UserInterface/FrameContentView.js:
3608 (WebInspector.FrameContentView.prototype.showSourceCode):
3609 * UserInterface/ResourceClusterContentView.js:
3610 (WebInspector.ResourceClusterContentView.prototype.showResponse):
3611 * UserInterface/ScriptContentView.js:
3612 (WebInspector.ScriptContentView.prototype.revealLine):
3613 * UserInterface/TextContentView.js:
3614 (WebInspector.TextContentView.prototype.revealLine):
3615 * UserInterface/TextResourceContentView.js:
3616 (WebInspector.TextResourceContentView.prototype.revealLine):
3617 Pass the forceUnformat option through revealLine paths.
3619 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3621 <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover
3623 Update the rules for a live location display.
3625 - Show display location by default if there is one.
3626 - Show display locations in italics, original locations display non-italics.
3627 - Command+Mouseover a display location will show the original location.
3628 - Provide different display styles for column numbers. Default to "OnlyIfLarge"
3629 meaning only show column numbers if the column is > 80.
3631 Reviewed by Timothy Hatcher.
3633 * UserInterface/CallFrameTreeElement.js:
3634 (WebInspector.CallFrameTreeElement):
3635 Simplify by using SourceCodeLocation.prototype.tooltipString.
3637 * UserInterface/SourceCodeLocation.js:
3638 (WebInspector.SourceCodeLocation.prototype.originalLocationString):
3639 (WebInspector.SourceCodeLocation.prototype.formattedLocationString):
3640 (WebInspector.SourceCodeLocation.prototype.displayLocationString):
3641 Add the new column style parameter. Pass it through to _locationString.
3643 (WebInspector.SourceCodeLocation.prototype.tooltipString):
3644 Always show full URLs and columns in tooltips.
3646 (WebInspector.SourceCodeLocation.prototype._locationString):
3647 Respect the column style when including column numbers.
3649 (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
3650 (WebInspector.SourceCodeLocation.prototype.mouseOverOrMove):
3651 (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString):
3652 Update the default value to displayLocation. And the Command+Mouseover to originalLocation.
3654 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
3656 <rdar://problem/13701576> SASS source map location is wrong on http://html5please.com
3658 CSSRule.selectorList.range has column information, which allows us to
3659 provide a much better location to jump to. So when selectorList and
3660 its SourceRange is available, use that for its start line and column.
3661 Fallback to the CSSRule.sourceLine which is always available.
3663 Reviewed by Timothy Hatcher.
3665 * UserInterface/DOMNodeStyles.js:
3666 (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3668 2013-04-26 Timothy Hatcher <timothy@apple.com>
3670 Update CodeMirror from 3.11+ to 3.12.
3672 * UserInterface/External/CodeMirror/clojure.js: Updated.
3673 * UserInterface/External/CodeMirror/codemirror.js: Updated.
3674 * UserInterface/External/CodeMirror/javascript.js: Updated.
3675 * UserInterface/External/CodeMirror/searchcursor.js: Updated.
3676 * UserInterface/External/CodeMirror/sql.js: Updated.
3678 2013-04-26 Timothy Hatcher <timothy@apple.com>
3680 Make completions work after open brackets.
3682 This also improves things to limit keywords to certain contexts.
3684 <rdar://problem/13746491> Should have JavaScript completion suggestions after a base of all open bracket characters, e.g. "if (tr|"
3686 Reviewed by Joseph Pecoraro.
3688 * UserInterface/CodeMirrorCompletionController.js:
3689 (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
3690 * UserInterface/JavaScriptLogViewController.js:
3691 (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded):
3693 2013-04-26 Timothy Hatcher <timothy@apple.com>
3695 Improve multi-line support in the console prompt.
3697 Pressing return at the end of the expression now does a parse to see if the expression
3698 is ready to evaluate. We will insert a new line if the error is recoverable, otherwise
3699 we will evaluate it. Pressing enter will insert a new line when there is no text, when
3700 the cursor is not at the last position or there is a selection. Command-Enter will now
3701 always evaluate the expression.
3703 <rdar://problem/13747367>
3705 Reviewed by Joseph Pecoraro.
3707 * UserInterface/ConsolePrompt.js:
3708 (WebInspector.ConsolePrompt):
3709 (WebInspector.ConsolePrompt.prototype._handleEnterKey.positionsEqual): Added.
3710 (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine): Added.
3711 (WebInspector.ConsolePrompt.prototype._handleEnterKey):
3712 (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
3713 * UserInterface/InspectorBackendCommands.js:
3714 * UserInterface/JavaScriptLogViewController.js:
3715 (WebInspector.JavaScriptLogViewController.prototype.):
3716 (WebInspector.JavaScriptLogViewController.prototype.consolePromptShouldCommitText):
3718 2013-04-25 Timothy Hatcher <timothy@apple.com>
3720 Fix some edge cases with the default JavaScript completions.
3722 Reviewed by Joseph Pecoraro.
3724 * UserInterface/CodeMirrorCompletionController.js:
3725 (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
3726 Correct the check for switch statements which was missing the "type" parts. Use "info"
3727 instead to check for "switch". Substring the suffix, since there are cases it can be longer.
3728 Also prevent keyword completions in var declarations, except for "this".
3730 2013-04-25 Timothy Hatcher <timothy@apple.com>
3732 Properly handle duplicate query parameters and form encoded POST data.
3734 <rdar://problem/13737105> Duplicate query parameters only show the last item in the sidebar data grids
3736 Reviewed by Joseph Pecoraro.
3738 * UserInterface/ResourceDetailsSidebarPanel.js:
3739 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
3740 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
3741 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
3742 Pass true to parseQueryString to get an array of name/value pairs. Then build