12014-08-28 Lucas Forschler <lforschler@apple.com> 2 3 Merge r173015 4 5 2014-08-27 Saam Barati <sbarati@apple.com> 6 7 Web Inspector: Layout issues for popover on not legacy OS 8 https://bugs.webkit.org/show_bug.cgi?id=136268 9 10 Reviewed by Joseph Pecoraro. 11 12 On the latest OS, popovers invade the title bar's space which will 13 cause layout issues because the title bar will render above 14 the popover. Fix this by providing some padding for popovers on 15 not legacy OSs. 16 17 * UserInterface/Views/Popover.js: 18 192014-08-28 Lucas Forschler <lforschler@apple.com> 20 21 Merge r173010 22 23 2014-08-27 Timothy Hatcher <timothy@apple.com> 24 25 REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode 26 https://bugs.webkit.org/show_bug.cgi?id=136289 27 28 Reviewed by Darin Adler. 29 30 * UserInterface/Views/Toolbar.css: 31 (body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy 32 uses a solid color instead of a gradient for window-inactive. 33 342014-08-25 Lucas Forschler <lforschler@apple.com> 35 36 Merge r172929 37 38 2014-08-25 Brent Fulgham <bfulgham@apple.com> 39 40 [Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process 41 https://bugs.webkit.org/show_bug.cgi?id=136229 42 43 Reviewed by Dean Jackson. 44 45 * WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD 46 flag to build-webinspectorui.pl. 47 * WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use 48 the OFFICIAL_BUILD flag. 49 502014-08-19 Dana Burkart <dburkart@apple.com> 51 52 Merge r172689. <rdar://problem/18040028> 53 54 2014-08-16 Joseph Pecoraro <pecoraro@apple.com> 55 56 Web Inspector: Improve performance of selection range changes viewing Scripts timeline 57 https://bugs.webkit.org/show_bug.cgi?id=136015 58 59 Reviewed by Timothy Hatcher. 60 61 * UserInterface/Base/Utilities.js: 62 (clamp): 63 Helper function to clamp a value between a min and max. 64 65 * UserInterface/Models/ProfileNode.js: 66 (WebInspector.ProfileNode.prototype.get startTime): 67 (WebInspector.ProfileNode.prototype.get endTime): 68 These can be quickly calculated, so avoid full calculation to grab the values. 69 70 * UserInterface/Views/ScriptTimelineView.js: 71 (WebInspector.ScriptTimelineView.prototype.updateLayout): 72 Update ranges with a smart helper, instead of blindly doing it and needing refresh. 73 74 * UserInterface/Views/ProfileNodeDataGridNode.js: 75 (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime): 76 (WebInspector.ProfileNodeDataGridNode.prototype.get data): 77 (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes): 78 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted. 79 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted. 80 * UserInterface/Views/ScriptTimelineDataGridNode.js: 81 (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes): 82 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted. 83 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted. 84 When updating the range selection, compare to the last range selection 85 on this DataGridNode. If the visible portion of this node's time range 86 changes, we need a refresh. Otherwise, we don't need a refresh. 87 882014-08-19 Dana Burkart <dburkart@apple.com> 89 90 Merge r172682. <rdar://problem/18038767> 91 92 2014-08-15 Joseph Pecoraro <pecoraro@apple.com> 93 94 Web Inspector: Remove forced layouts during recording caused by striped background element resizing 95 https://bugs.webkit.org/show_bug.cgi?id=136009 96 97 Reviewed by Timothy Hatcher. 98 99 We used to manually resize and a custom striped background behind 100 the timeline tree outline content area. This can happen frequently 101 during timeline recordings causing forced layouts. We can eliminate 102 the hack and instead put the stripe background on the tree outline. 103 104 * UserInterface/Views/TimelineSidebarPanel.js: 105 (WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted. 106 * UserInterface/Views/TimelineSidebarPanel.css: 107 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button): 108 (.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted. 109 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted. 110 Eliminate the striped background element. 111 112 * UserInterface/Views/TimelineView.css: 113 (.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): 114 (.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): 115 Give the timeline content tree outlines the striped background. 116 117 * UserInterface/Views/NavigationSidebarPanel.js: 118 (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): 119 (WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted. 120 Remove the now unused updateCustomContentOverflow method. 121 1222014-08-19 Dana Burkart <dburkart@apple.com> 123 124 Merge r172662. <rdar://problem/17971908> 125 126 2014-08-15 Jono Wells <jonowells@apple.com> 127 128 Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting 129 https://bugs.webkit.org/show_bug.cgi?id=135995 130 131 Reviewed by Joseph Pecoraro. 132 133 Change so if an element is inspected via the Inspect Element context menu, selected 134 node restoration is disallowed until the main resource in the main frame changes. 135 This way an attempt by a sub-frame will not change the highlighted element in the 136 Main Frame's DOM tree unexpectedly. 137 138 * UserInterface/Controllers/DOMTreeManager.js: 139 (WebInspector.DOMTreeManager): 140 (WebInspector.DOMTreeManager.prototype._mainResourceDidChange): 141 (WebInspector.DOMTreeManager.prototype.inspectElement): 142 1432014-08-19 Dana Burkart <dburkart@apple.com> 144 145 Merge r172650. <rdar://problem/18034356> 146 147 2014-08-15 Timothy Hatcher <timothy@apple.com> 148 149 Web Inspector: Probe details sidebar data grids do not show data 150 https://bugs.webkit.org/show_bug.cgi?id=135992 151 152 Reviewed by Joseph Pecoraro. 153 154 * UserInterface/Views/ProbeSetDataGrid.js: 155 (WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly. 156 1572014-08-19 Dana Burkart <dburkart@apple.com> 158 159 Merge r172640. <rdar://problem/18025668> 160 161 2014-08-15 Timothy Hatcher <timothy@apple.com> 162 163 Web Inspector: Legacy Mac toolbar appearance looks wrong 164 https://bugs.webkit.org/show_bug.cgi?id=135962 165 166 Reviewed by Joseph Pecoraro. 167 168 * UserInterface/Views/Toolbar.css: 169 (body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked. 170 Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it 171 applies all the time as it should have. 172 1732014-08-19 Dana Burkart <dburkart@apple.com> 174 175 Merge r172617. <rdar://problem/18023242> 176 177 2014-08-14 Joseph Pecoraro <pecoraro@apple.com> 178 179 Web Inspector: Dragging Undocked inspector by window title has broken behavior 180 https://bugs.webkit.org/show_bug.cgi?id=135950 181 182 Reviewed by Timothy Hatcher. 183 184 * UserInterface/Base/Main.js: 185 On Mac ports where we the inspector content goes everywhere, window dragging behavior 186 still exists for the top 22px of the window. So don't do our JavaScript based window 187 dragging for this special region. 188 189 * UserInterface/Models/KeyboardShortcut.js: 190 (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): 191 (WebInspector.KeyboardShortcut.prototype.get displayName): 192 Instead of calling a host function, use the value already in the frontend. 193 1942014-08-19 Dana Burkart <dburkart@apple.com> 195 196 Merge r172615. <rdar://problem/18024530> 197 198 2014-08-14 Joseph Pecoraro <pecoraro@apple.com> 199 200 Web Inspector: Split console toggle button wrong - Images/Images/SplitToggleUp.svg does not exist 201 https://bugs.webkit.org/show_bug.cgi?id=135957 202 203 Reviewed by Timothy Hatcher. 204 205 * UserInterface/Views/LogContentView.js: 206 (WebInspector.LogContentView): 207 Wrong image path passed to platformImagePath. 208 2092014-08-19 Dana Burkart <dburkart@apple.com> 210 211 Merge r172606 212 213 2014-08-14 Joseph Pecoraro <pecoraro@apple.com> 214 215 Web Inspector: Avoid re-binding the same function over and over 216 https://bugs.webkit.org/show_bug.cgi?id=135949 217 218 Reviewed by Timothy Hatcher. 219 220 * UserInterface/Controllers/TimelineManager.js: 221 (WebInspector.TimelineManager.prototype._startAutoCapturing): 222 (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): 223 (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): 224 Stash a bound copy of the function once, and reuse it. 225 2262014-08-19 Dana Burkart <dburkart@apple.com> 227 228 Merge r172601 229 230 2014-08-14 Joseph Pecoraro <pecoraro@apple.com> 231 232 Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording 233 https://bugs.webkit.org/show_bug.cgi?id=135946 234 235 Reviewed by Timothy Hatcher. 236 237 Each TimelineContentView was listening for the TimelineManager's start/stop 238 capturing events. However, only the active recording could possibly update. 239 Likewise, if a pre-existing recording started and stopped we did not properly 240 stop in the case where we were waiting for an event to update the current time, 241 which would result in an infinite rAF loop of no updates. 242 243 * UserInterface/Models/TimelineRecording.js: 244 (WebInspector.TimelineRecording.prototype.unloaded): 245 When a timeline recording is unloaded trigger an event. 246 247 * UserInterface/Views/TimelineContentView.js: 248 (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime): 249 Assert we were not already waiting. 250 251 (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime): 252 Properly handle the case of starting/stoping an already existing recording 253 without a new event coming in. 254 255 (WebInspector.TimelineContentView.prototype._recordingTimesUpdated): 256 (WebInspector.TimelineContentView.prototype._recordingReset): 257 Convert to a boolean instead of deleting state. 258 259 (WebInspector.TimelineContentView.prototype._recordingUnloaded): 260 Stop listening to timeline manager events that no longer affect unloaded recordings. 261 2622014-08-13 Lucas Forschler <lforschler@apple.com> 263 264 Merge r172533 265 266 2014-08-13 Joseph Pecoraro <pecoraro@apple.com> 267 268 Web Inspector: Inline DataGrid inside details sidebar has double thick top border with legacy styles 269 https://bugs.webkit.org/show_bug.cgi?id=135894 270 271 Reviewed by Timothy Hatcher. 272 273 * UserInterface/Views/DetailsSection.css: 274 (body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline): 275 In legacy styles the details-section header always has a 1px bottom border. 276 In all styles, an inline data grid had a 1px border everywhere. So, handle 277 this specific case by removing the top border of an inline data grid 278 that is inside an expanded details section. 279 2802014-08-13 Lucas Forschler <lforschler@apple.com> 281 282 Merge r172531 283 284 2014-08-13 Joseph Pecoraro <pecoraro@apple.com> 285 286 Web Inspector: "No Filter Results" view only shows once, does not show again 287 https://bugs.webkit.org/show_bug.cgi?id=135892 288 289 Reviewed by Timothy Hatcher. 290 291 * UserInterface/Views/NavigationSidebarPanel.js: 292 (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): 293 We were checking at the wrong level for a parent. Check if the root 294 placeholder element has a parent or not. 295 2962014-08-13 Lucas Forschler <lforschler@apple.com> 297 298 Merge r172530 299 300 2014-08-13 Joseph Pecoraro <pecoraro@apple.com> 301 302 Web Inspector: Incorrect border colors in event listeners sections in details sidebar 303 https://bugs.webkit.org/show_bug.cgi?id=135891 304 305 Reviewed by Timothy Hatcher. 306 307 * UserInterface/Views/DetailsSection.css: 308 (.details-section .details-section > .header): 309 (.details-section .details-section:not(.collapsed) > .header): 310 Remove box-shadow and replace with a bottom border. 311 312 (body.mac-platform.legacy .details-section .details-section.collapsed > .header): 313 (.details-section .details-section.collaspsed > .header): Deleted. 314 Collapsed was spelled incorrectly so this was not applying properly before. 315 But correct this for legacy because legacy still uses a box-shadow. 316 3172014-08-13 Lucas Forschler <lforschler@apple.com> 318 319 Merge r172527 320 321 2014-08-13 Joseph Pecoraro <pecoraro@apple.com> 322 323 Web Inspector: Timeline Close buttons can use polish for new and legacy styles 324 https://bugs.webkit.org/show_bug.cgi?id=135870 325 326 Reviewed by Timothy Hatcher. 327 328 * UserInterface/Images/Legacy/Close.svg: 329 Ensure this has fill colors in tree selections. 330 331 * UserInterface/Views/TimelineSidebarPanel.css: 332 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button): 333 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button): 334 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button): 335 Size the close-button for the top overviews differently in new styles (14x14) and legacy (12x12). 336 3372014-08-13 Lucas Forschler <lforschler@apple.com> 338 339 Merge r172526 340 341 2014-08-13 Timothy Hatcher <timothy@apple.com> 342 343 Web Inspector: Workaround a NSWindow change to the title bar. 344 https://bugs.webkit.org/show_bug.cgi?id=135880 345 346 Reviewed by Joseph Pecoraro. 347 348 * UserInterface/Base/Main.js: 349 (WebInspector._updateToolbarHeight): Don't call in legacy mode. 350 351 * UserInterface/Views/DashboardContainerView.css: 352 (.toolbar .dashboard-container): 353 (.toolbar .dashboard): 354 Drive-by fix some errant drop-shadows. The transparent border was pushing the inset top 355 drop shadow down when it shouldn't. Remove duplicate background and shadow. 356 357 * UserInterface/Views/Main.css: 358 (body): Set the background white, never needs to be transparent now. 359 (body.mac-platform.legacy:not(.docked)): Set background to transparent when not docked in legacy. 360 (body.docked.bottom): Update border color. 361 (body.docked.right): Ditto. 362 (body.docked.bottom.mac-platform.legacy): Keep old border color. 363 (body.docked.right.mac-platform.legacy): Ditto. 364 365 * UserInterface/Views/Toolbar.css: 366 (.toolbar): Set a default border and background gradient. 367 (body.window-inactive .toolbar): No gradient but use a solid color when inactive. 368 (body.mac-platform:not(.legacy):not(.docked) .toolbar): Padding on the top for the title bar. 369 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Account for title bar height. 370 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Ditto. 371 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Ditto. 372 (body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Ditto. 373 (body.mac-platform.legacy .toolbar): No inset shadow in legacy when not docked. 374 (body.mac-platform.legacy.docked .toolbar): Restore legacy border color. 375 (body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Only disable sub-pixel antialiasing on legacy! 376 (body.mac-platform.legacy.window-inactive .toolbar): Restore legacy border color. 377 3782014-08-13 Lucas Forschler <lforschler@apple.com> 379 380 Merge r172525 381 382 2014-08-13 Timothy Hatcher <timothy@apple.com> 383 384 Web Inspector: Restore Helvetica as the dashboard font in legacy mode 385 https://bugs.webkit.org/show_bug.cgi?id=135886 386 387 Reviewed by Joseph Pecoraro. 388 389 * UserInterface/Views/DefaultDashboardView.css: 390 (body.mac-platform.legacy .toolbar .dashboard.default > .item): 391 3922014-08-13 Lucas Forschler <lforschler@apple.com> 393 394 Merge r172515 395 396 2014-08-12 Joseph Pecoraro <pecoraro@apple.com> 397 398 Web Inspector: Timeline record content view close button does not work after scrolling, invisible scrollbar 399 https://bugs.webkit.org/show_bug.cgi?id=135863 400 401 Reviewed by Timothy Hatcher. 402 403 A workaround is to not have position:relative content inside of 404 scrollable region. Turns out this was only done in two places, 405 and I do not see any absolutely positioned content in navigation 406 sidebar content tree outlines. This also fixes clicking on the 407 reload button if you've scrolled the Resources sidebar. 408 409 * UserInterface/Views/NavigationSidebarPanel.css: 410 (.navigation-sidebar-panel-content-tree-outline .children): Deleted. 411 (.navigation-sidebar-panel-content-tree-outline .item): Deleted. 412 4132014-08-13 Lucas Forschler <lforschler@apple.com> 414 415 Merge r172488 416 417 2014-08-12 Joseph Pecoraro <pecoraro@apple.com> 418 419 Web Inspector: Timeline selection range creation does not work when clicking event bubble or near bottom of overview 420 https://bugs.webkit.org/show_bug.cgi?id=135849 421 422 Reviewed by Timothy Hatcher. 423 424 Click events on elements in the graph container (event bubbles) or 425 in the scroll container (bottom 16px) were becoming the event targets. 426 As siblings of the ruler, the dispatch would not go through the ruler. 427 The ruler was supposed to be overlaying everything in the overview, 428 so give the ruler a z-index so it really is overlaying elements. 429 430 * UserInterface/Views/TimelineRuler.css: 431 (.timeline-ruler): 432 4332014-08-12 Lucas Forschler <lforschler@apple.com> 434 435 Merge r172436 436 437 2014-08-12 Joseph Pecoraro <pecoraro@apple.com> 438 439 Web Inspector: GoToLine dialog clear text button looks poor 440 https://bugs.webkit.org/show_bug.cgi?id=135828 441 442 Reviewed by Timothy Hatcher. 443 444 Legacy/CloseWhite.svg was not used, but in the case where the white 445 close button is needed the thicker bars looks better. Re-use the 446 Legacy image as the default CloseWhite.svg. 447 448 * UserInterface/Images/CloseWhite.svg: 449 * UserInterface/Images/Legacy/CloseWhite.svg: Removed. 450 4512014-08-12 Lucas Forschler <lforschler@apple.com> 452 453 Merge r172435 454 455 2014-08-12 Joseph Pecoraro <pecoraro@apple.com> 456 457 Web Inspector: Easier Way to go back to the Timeline Overviews 458 https://bugs.webkit.org/show_bug.cgi?id=135827 459 460 Reviewed by Timothy Hatcher. 461 462 * Localizations/en.lproj/localizedStrings.js: 463 Added new tooltip UIString. 464 465 * UserInterface/Images/Close.svg: 466 * UserInterface/Images/CloseLarge.svg: 467 * UserInterface/Images/Legacy/Close.svg: 468 Add "stroked" class so the buttons can fill with white on selected rows. 469 Also re-center the non-legacy images horizontally. 470 471 * UserInterface/Views/GeneralTreeElement.js: 472 (WebInspector.GeneralTreeElement.prototype.set status): 473 Do not recreate elements if the status did not change. 474 475 * UserInterface/Views/LayoutTimelineView.js: 476 (WebInspector.LayoutTimelineView): 477 (WebInspector.LayoutTimelineView.prototype._treeElementDeselected): 478 (WebInspector.LayoutTimelineView.prototype._treeElementSelected): 479 (WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton): 480 (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked): 481 * UserInterface/Views/NetworkTimelineView.js: 482 (WebInspector.NetworkTimelineView): 483 (WebInspector.NetworkTimelineView.prototype._treeElementDeselected): 484 (WebInspector.NetworkTimelineView.prototype._treeElementSelected): 485 (WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton): 486 (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked): 487 * UserInterface/Views/OverviewTimelineView.js: 488 (WebInspector.OverviewTimelineView.prototype._treeElementDeselected): 489 (WebInspector.OverviewTimelineView.prototype._treeElementSelected): 490 (WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton): 491 (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked): 492 * UserInterface/Views/ScriptTimelineView.js: 493 (WebInspector.ScriptTimelineView): 494 (WebInspector.ScriptTimelineView.prototype._treeElementDeselected): 495 (WebInspector.ScriptTimelineView.prototype._treeElementSelected): 496 (WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton): 497 (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked): 498 Provide select/deselect handlers to show/hide the close status bar button 499 when selecting a row that shows a non-Timeline content view. Currently the 500 only content views the tree elements can show are Resource views, so the 501 tooltip is the same everywhere. 502 5032014-08-12 Lucas Forschler <lforschler@apple.com> 504 505 Merge r172432 506 507 2014-08-12 Timothy Hatcher <timothy@apple.com> 508 509 Web Inspector: Expect to see top level JavaScript function profiler details for event handlers in timeline 510 https://bugs.webkit.org/show_bug.cgi?id=132109 511 512 Reviewed by Joseph Pecoraro. 513 514 * UserInterface/Views/ScriptTimelineView.js: 515 (WebInspector.ScriptTimelineView.prototype._processPendingRecords): Don't promote root node children if 516 there is only one child. 517 5182014-08-12 Lucas Forschler <lforschler@apple.com> 519 520 Merge r172399 521 522 2014-08-11 Timothy Hatcher <timothy@apple.com> 523 524 Web Inspector: DataGrid and its clients are a cluster-cuss of styles 525 https://bugs.webkit.org/show_bug.cgi?id=135788 526 527 Clean up DataGrid and its subclasses and client styles. 528 529 Reviewed by Joseph Pecoraro. 530 531 * Localizations/en.lproj/localizedStrings.js: 532 * UserInterface/Views/ApplicationCacheFrameContentView.css: 533 (.content-view.application-cache-frame > .data-grid): 534 * UserInterface/Views/CookieStorageContentView.css: 535 (.content-view.cookie-storage > .data-grid): 536 * UserInterface/Views/DOMStorageContentView.css: 537 (.content-view.dom-storage > .data-grid): 538 * UserInterface/Views/DOMTreeDataGrid.css: 539 (.dom-tree-data-grid .data-grid): 540 (.dom-tree-data-grid .name-column .icon): 541 * UserInterface/Views/DOMTreeDataGrid.js: 542 (WebInspector.DOMTreeDataGrid): 543 * UserInterface/Views/DataGrid.css: 544 (.data-grid): 545 (.data-grid table): 546 (.data-grid .data-container): 547 (.data-grid.inline): 548 (.data-grid th): 549 (.data-grid :-webkit-any(th, td):not(:last-child)): 550 (.data-grid th.sortable:active): 551 (.data-grid th:-webkit-any(.sort-ascending, .sort-descending)): 552 (.data-grid table.data): 553 (.data-grid td): 554 (.data-grid:focus tr.selected td:not(:last-child)): 555 (body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)): 556 (.data-grid :-webkit-any(th, td) > div): 557 (.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child): 558 (.data-grid th.sort-ascending > div:first-child::after): 559 (.data-grid th.sort-descending > div:first-child::after): 560 (.data-grid td .subtitle): 561 (.data-grid td .subtitle::before): 562 (.data-grid:focus tr.selected td .subtitle): 563 (.data-grid td.error): 564 (.data-grid tr.selected td.error): 565 (.data-grid td .icon): 566 (.data-grid td .go-to-arrow): 567 (.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow): 568 * UserInterface/Views/DatabaseContentView.css: 569 (.storage-view): 570 * UserInterface/Views/DatabaseTableContentView.css: 571 (.content-view.database-table > .data-grid): 572 * UserInterface/Views/DetailsSection.css: 573 (.details-section > .content .data-grid): 574 * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css: 575 (.content-view.indexed-database-object-store > .data-grid): 576 * UserInterface/Views/LayerTreeDataGridNode.js: 577 (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell): 578 (WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData): 579 * UserInterface/Views/LayerTreeSidebarPanel.css: 580 (.layer-tree.panel .data-grid): 581 (.layer-tree.panel .name-column .icon): 582 (.layer-tree.panel tr.reflection .name-column .icon): 583 (.layer-tree.panel tr.pseudo-element .name-column .icon): 584 (.layer-tree.panel .name-column .reflection): 585 (.layer-tree.panel tr.selected .name-column .reflection): 586 (.layer-tree.panel .bottom-bar): 587 (body.mac-platform.legacy .layer-tree.panel .bottom-bar): 588 (.layer-tree.panel .bottom-bar > div): 589 (body.mac-platform.legacy .layer-tree.panel .bottom-bar > div): 590 (body.mac-platform.legacy .layer-tree-popover): 591 * UserInterface/Views/LayerTreeSidebarPanel.js: 592 (WebInspector.LayerTreeSidebarPanel): 593 (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): 594 (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): 595 (WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar): 596 (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics): 597 * UserInterface/Views/LegacyJavaScriptProfileView.css: 598 (.content-view.profile-view > .data-grid): 599 * UserInterface/Views/LegacyProfileView.css: 600 * UserInterface/Views/LogContentView.css: 601 (.console-message .bubble): 602 * UserInterface/Views/NetworkTimelineView.css: 603 (.timeline-view.network > .data-grid): 604 * UserInterface/Views/OverviewTimelineView.css: 605 (.timeline-view.overview > .timeline-ruler > .header): 606 (.timeline-view.overview > .data-grid): 607 * UserInterface/Views/OverviewTimelineView.js: 608 * UserInterface/Views/ProbeDetailsSidebarPanel.css: 609 (.details-section.probe-set .options > .probe-add): 610 (.popover .probe-popover): 611 * UserInterface/Views/ProbeSetDataGrid.css: 612 (.details-section.probe-set .data-grid tr.past-value td): 613 (.details-section.probe-set .data-grid > td.unknown-value): 614 (.details-section.probe-set .data-grid tr.revealed.highlighted): 615 (.details-section.probe-set .data-grid tr.separator): 616 (.details-section.probe-set .data-grid > tr.data-updated): 617 (.details-section.probe-set .data-grid .selected .section *): 618 (.details-section.probe-set .data-grid .selected td.unknown-value): 619 (.details-section.probe-set .data-grid .section): 620 * UserInterface/Views/QuickConsole.css: 621 (.quick-console): 622 * UserInterface/Views/TimelineDataGrid.css: 623 (.data-grid.timeline th): 624 (.data-grid.timeline > .navigation-bar-container > .navigation-bar): 625 * UserInterface/Views/TimelineRuler.css: 626 (.timeline-ruler > .header): 627 (.timeline-ruler > .header > .divider): 628 6292014-08-12 Lucas Forschler <lforschler@apple.com> 630 631 Merge r172379 632 633 2014-08-10 Timothy Hatcher <timothy@apple.com> 634 635 Web Inspector: new glyphs are visible on OS X 10.9 builds 636 https://bugs.webkit.org/show_bug.cgi?id=135743 637 638 Reviewed by Joseph Pecoraro. 639 640 * UserInterface/Images/Legacy/UserInputPrompt.svg: Removed. 641 * UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed. 642 * UserInterface/Images/Legacy/UserInputResult.svg: Removed. 643 Removed images that were not used. 644 645 * UserInterface/Views/DashboardContainerView.css: 646 (body.mac-platform.legacy .dashboard-container .advance-arrow): 647 * UserInterface/Views/DebuggerDashboardView.js: 648 (WebInspector.DebuggerDashboardView): 649 * UserInterface/Views/FolderIcon.css: 650 (body.mac-platform.legacy .folder-icon .icon): 651 * UserInterface/Views/HierarchicalPathComponent.css: 652 (body.mac-platform.legacy .hierarchical-path-component > .selector-arrows): 653 * UserInterface/Views/LogContentView.js: 654 (WebInspector.LogContentView): 655 Use legacy images. 656 657 * UserInterface/Views/NavigationSidebarPanel.css: 658 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle): 659 Fix color for selected subtitle. 660 661 * UserInterface/Views/TimelineSidebarPanel.js: 662 (WebInspector.TimelineSidebarPanel): 663 Use legacy images. 664 6652014-08-12 Lucas Forschler <lforschler@apple.com> 666 667 Merge r172397 668 669 2014-08-11 Brent Fulgham <bfulgham@apple.com> 670 671 [Win] Adjust build script for Windows production build. 672 https://bugs.webkit.org/show_bug.cgi?id=135806 673 <rdar://problem/17978299> 674 675 Reviewed by Timothy Hatcher. 676 677 * WebInspectorUI.vcxproj/WebInspectorUI.make: Make sure target for 678 xcopy operation exists. 679 * WebInspectorUI.vcxproj/WebInspectorUI.proj: Don't create directories 680 we don't need, make sure the target location exists before we build. 681 * WebInspectorUI.vcxproj/build-webinspectorui.pl: Make sure that 682 production builds get the intermediary command files from the 683 right place. 684 6852014-08-12 Lucas Forschler <lforschler@apple.com> 686 687 Merge r172262 688 689 2014-08-07 Brent Fulgham <bfulgham@apple.com> 690 691 [Win] Unreviewed build fix. 692 693 Add a WebInspectorUI.proj file for use with MSBuild utility. 694 695 * WebInspectorUI.vcxproj/WebInspectorUI.proj: Added. 696 6972014-08-12 Lucas Forschler <lforschler@apple.com> 698 699 Merge r172336 700 701 2014-08-07 Joseph Pecoraro <pecoraro@apple.com> 702 703 Web Inspector: Fix accidental always true comparison 704 https://bugs.webkit.org/show_bug.cgi?id=135741 705 706 Reviewed by Timothy Hatcher. 707 708 Remove accidental "!" that would always cause this comparison to succeed. 709 710 * UserInterface/Views/OverviewTimelineView.js: 711 (WebInspector.OverviewTimelineView.prototype.updateLayout): 712 7132014-08-12 Lucas Forschler <lforschler@apple.com> 714 715 Merge r172333 716 717 2014-08-07 Joseph Pecoraro <pecoraro@apple.com> 718 719 Web Inspector: breakpoints enabled state is not persisted across re-opening the inspector 720 https://bugs.webkit.org/show_bug.cgi?id=135745 721 722 Reviewed by Timothy Hatcher. 723 724 When restoring breakpoints when the inspector is initializing, do not 725 let setting these breakpoints automatically enable breakpoints. We should 726 respect the setting in this case. 727 728 * UserInterface/Controllers/DebuggerManager.js: 729 (WebInspector.DebuggerManager.restoreBreakpointsSoon): 730 (WebInspector.DebuggerManager): 731 7322014-08-11 Lucas Forschler <lforschler@apple.com> 733 734 Merge r172403 735 736 2014-08-11 Timothy Hatcher <timothy@apple.com> 737 738 Web Inspector: Update folder icons 739 https://bugs.webkit.org/show_bug.cgi?id=135808 740 741 Reviewed by Joseph Pecoraro. 742 743 * UserInterface/Images/FolderGeneric.png: Updated. 744 * UserInterface/Images/FolderGeneric@2x.png: Updated. 745 7462014-08-07 Dana Burkart <dburkart@apple.com> 747 748 Merge r172312 749 750 2014-08-07 Timothy Hatcher <timothy@apple.com> 751 752 Web Inspector: Filter bar text and icon are positioned too low and tight 753 https://bugs.webkit.org/show_bug.cgi?id=135723 754 755 Reviewed by Joseph Pecoraro. 756 757 * UserInterface/Views/FilterBar.css: 758 (.filter-bar > input[type="search"]): 759 (.filter-bar > input[type="search"]::-webkit-search-decoration): 760 * UserInterface/Views/SearchBar.css: 761 (.search-bar > input[type="search"]): 762 7632014-08-07 Dana Burkart <dburkart@apple.com> 764 765 Merge r172313 766 767 2014-08-07 Timothy Hatcher <timothy@apple.com> 768 769 Fix regression where tree outline keyboard navigation is broken. 770 771 https://bugs.webkit.org/show_bug.cgi?id=135718 772 773 Reviewed by Joseph Pecoraro. 774 775 * UserInterface/Views/TreeOutline.js: 776 (TreeElement.prototype.revealed): Fix the check for currentAncestor.hidden. 777 7782014-08-07 Dana Burkart <dburkart@apple.com> 779 780 Merge r172289 781 782 2014-08-07 Timothy Hatcher <timothy@apple.com> 783 784 Web Inspector: Dashboard error and warning icons should be filled when enabled 785 https://bugs.webkit.org/show_bug.cgi?id=135725 786 787 Reviewed by Joseph Pecoraro. 788 789 * UserInterface/Images/ErrorsEnabled.svg: 790 * UserInterface/Images/IssuesEnabled.svg: 791 7922014-08-07 Dana Burkart <dburkart@apple.com> 793 794 Merge r172285 795 796 2014-08-07 Joseph Pecoraro <pecoraro@apple.com> 797 798 Web Inspector: Dashboard contents shift when window changes active state 799 https://bugs.webkit.org/show_bug.cgi?id=135724 800 801 Reviewed by Timothy Hatcher. 802 803 The container was getting a 1px border when inactive and none when active. 804 Give it a transparent border when active so contents don't change size. 805 806 * UserInterface/Views/DashboardContainerView.css: 807 (.toolbar .dashboard-container): 808 8092014-08-07 Dana Burkart <dburkart@apple.com> 810 811 Merge r172263 812 813 2014-08-07 Timothy Hatcher <timothy@apple.com> 814 815 Fix reference to missing CloseTimeline.svg image. 816 817 Rubber-stamped by Joseph Pecoraro. 818 819 * UserInterface/Views/TimelineSidebarPanel.js: 820 (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Use CloseLarge.svg instead. 821 8222014-08-07 Dana Burkart <dburkart@apple.com> 823 824 Merge r172241 825 826 2014-08-07 Timothy Hatcher <timothy@apple.com> 827 828 Web Inspector: Update glyphs to be more like Xcode 6 829 https://bugs.webkit.org/show_bug.cgi?id=135705 830 831 Reviewed by Joseph Pecoraro. 832 833 * Localizations/en.lproj/localizedStrings.js: Updated. 834 835 * UserInterface/Base/ImageUtilities.js: 836 (platformImagePath): Added. 837 (generateEmbossedImages.generateImage): 838 Bump the base image version. Helper function. Use isLegacyMacOS. 839 840 * UserInterface/Base/Main.js: 841 (WebInspector.contentLoaded): 842 (WebInspector._updateDockNavigationItems): 843 (WebInspector._generateDisclosureTriangleImages): 844 Use new images and add legacy path. Remove the shadow. 845 846 * UserInterface/Images: Updated images. 847 * UserInterface/Images/Legacy: Added. Moved legacy images here. 848 849 * UserInterface/Views/CSSStyleDeclarationSection.css: 850 (.style-declaration-section): 851 (body.mac-platform.legacy .style-declaration-section + .style-declaration-section): 852 (.style-declaration-section.last-in-group): 853 (.style-declaration-section.last-in-group + .style-declaration-section): 854 Use a consistent gray for borders. 855 856 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: 857 (.sidebar > .panel.details.css-style > .content > .pseudo-classes): 858 Use a consistent gray for borders. 859 860 * UserInterface/Views/ContentBrowser.js: 861 (WebInspector.ContentBrowser): 862 Use new images and add legacy path. 863 864 * UserInterface/Views/ControlToolbarItem.css: 865 (.toolbar .item.control): 866 (body.mac-platform.legacy .toolbar .item.control): 867 (.toolbar .item.control:hover): 868 (body.mac-platform.legacy .toolbar .item.control:hover): 869 Adjust the opacity for controls. 870 871 * UserInterface/Views/DOMTreeContentView.js: 872 (WebInspector.DOMTreeContentView): 873 Use new images and add legacy path. 874 875 * UserInterface/Views/DataGrid.css: 876 (.data-grid tr.selected): 877 Use a consistent gray for borders. 878 879 * UserInterface/Views/DataGrid.js: 880 (WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded): 881 Use new images and add legacy path. Remove the shadow. 882 883 * UserInterface/Views/DebuggerSidebarPanel.js: 884 (WebInspector.DebuggerSidebarPanel): 885 Use new images and add legacy path. 886 887 * UserInterface/Views/DefaultDashboardView.css: 888 (.toolbar .dashboard.default > .item): 889 (body.mac-platform.legacy .toolbar .dashboard.default > .item): 890 (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img): 891 (body.mac-platform.legacy .toolbar .dashboard.default > .time > img): 892 (body.mac-platform.legacy .toolbar .dashboard.default > .logs > img): 893 (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesSize > img): 894 (body.mac-platform.legacy .toolbar .dashboard.default > .errors > img): 895 (body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img): 896 (body.mac-platform.legacy .toolbar .dashboard.default > .issues > img): 897 (body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img): 898 Use new images and add legacy path. 899 900 * UserInterface/Views/DetailsSection.css: 901 (.details-section): 902 (.details-section .details-section:first-child): 903 (body.mac-platform.legacy .details-section > .header): 904 (.details-section > .content > .group): 905 (.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *): 906 (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *): 907 Use a consistent gray for borders. 908 909 * UserInterface/Views/FilterBar.css: 910 (body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration): 911 Use new images and add legacy path. 912 913 * UserInterface/Views/FindBanner.css: 914 (.find-banner): 915 Use a consistent gray for borders. 916 917 * UserInterface/Views/FindBanner.js: 918 (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): 919 Add legacy path. 920 921 * UserInterface/Views/FrameTreeElement.js: 922 (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame): 923 Use new images and add legacy path. 924 925 * UserInterface/Views/LogContentView.js: 926 (WebInspector.LogContentView): 927 Use new images and add legacy path. 928 929 * UserInterface/Views/Main.css: 930 (#split-content-browser): 931 Use a consistent gray for borders. 932 933 * UserInterface/Views/NavigationSidebarPanel.css: 934 (.sidebar > .panel.navigation > .overflow-shadow): 935 (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow): 936 (.sidebar > .panel.navigation > .overflow-shadow.top): 937 (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top): 938 (.sidebar > .panel.navigation > .empty-content-placeholder): 939 (body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder): 940 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected .disclosure-button): 941 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected.expanded .disclosure-button): 942 (.navigation-sidebar-panel-content-tree-outline .item.selected): 943 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected): 944 Adjust the styles to make the selected item use white text and icons only when focused. 945 946 * UserInterface/Views/NavigationSidebarPanel.js: 947 (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): 948 (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): 949 Remove the shadow from the disclosure triangles. Make the overflow shadow not fade. 950 951 * UserInterface/Views/ProbeDetailsSidebarPanel.css: 952 (.details-section.probe-set .options > .probe-clear-samples): 953 (.details-section.probe-set .options > .probe-remove): 954 (.details-section.probe-set .options > .probe-add): 955 (body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples): 956 (body.mac-platform.legacy .details-section.probe-set .options > .probe-remove): 957 (body.mac-platform.legacy .details-section.probe-set .options > .probe-add): 958 Tweak size and position of icons and use legacy paths. 959 960 * UserInterface/Views/QuickConsole.css: 961 (.quick-console): 962 Adjust padding to match filter bar height. 963 964 * UserInterface/Views/ResourceSidebarPanel.css: 965 (.sidebar > .panel.navigation.resource > .search-bar): 966 Adjust height. 967 968 * UserInterface/Views/RulesStyleDetailsPanel.css: 969 (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section): 970 (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): 971 (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img): 972 Use a consistent gray for borders. Don't bold the New Rule label. 973 974 * UserInterface/Views/ScriptContentView.js: 975 (WebInspector.ScriptContentView): 976 Use new images and add legacy path. 977 978 * UserInterface/Views/Sidebar.css: 979 (.sidebar.left): 980 (.sidebar.right): 981 Use a consistent gray for borders. 982 983 * UserInterface/Views/TextContentView.js: 984 (WebInspector.TextContentView): 985 Use new images and add legacy path. 986 987 * UserInterface/Views/TextResourceContentView.js: 988 (WebInspector.TextResourceContentView): 989 Use new images and add legacy path. 990 991 * UserInterface/Views/TimelineContentView.js: 992 (WebInspector.TimelineContentView): 993 Use new images and add legacy path. 994 995 * UserInterface/Views/TimelineDataGrid.css: 996 (.data-grid.timeline th): 997 (.data-grid.timeline th.sortable:active): 998 (.data-grid.timeline th.sort-descending): 999 Fix a regression with the gradient background showing in legacy mode. 1000 1001 * UserInterface/Views/TimelineIcons.css: 1002 (body.mac-platform.legacy .network-icon .icon): 1003 (body.mac-platform.legacy .network-icon.large .icon): 1004 (body.mac-platform.legacy .colors-icon .icon): 1005 (body.mac-platform.legacy .colors-icon.large .icon): 1006 Added legacy versions of these icons. 1007 1008 * UserInterface/Views/TimelineSidebarPanel.css: 1009 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): 1010 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): 1011 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active): 1012 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): 1013 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): 1014 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): 1015 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): 1016 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover): 1017 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced): 1018 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced): 1019 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button): 1020 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): 1021 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): 1022 Update the styles for the recording button and close button. 1023 1024 * UserInterface/Views/TimelineSidebarPanel.js: 1025 (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): 1026 Use TreeElementStatusButton instead of a styled image. 1027 1028 * UserInterface/Views/TreeElementStatusButton.css: 1029 (.item > .status > .status-button > svg path.filled): 1030 (body.mac-platform.legacy .item > .status > .status-button > svg path.filled): 1031 (:focus .item.selected > .status > .status-button > svg path.filled): 1032 (.item > .status > .status-button > svg path.stroked): 1033 (body.mac-platform.legacy .item > .status > .status-button > svg path.stroked): 1034 (:focus .item.selected > .status > .status-button > svg path.stroked): 1035 (.item.selected > .status > .status-button:active): 1036 (.item > .status > .status-button.disabled): 1037 Updated selectors and styles to work with stroke or fill. 1038 10392014-08-07 Dana Burkart <dburkart@apple.com> 1040 1041 Merge r172217 1042 1043 2014-08-07 Brian J. Burg <burg@cs.washington.edu> 1044 1045 Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint 1046 https://bugs.webkit.org/show_bug.cgi?id=135674 1047 1048 Reviewed by David Kilzer. 1049 1050 * UserInterface/Controllers/DebuggerManager.js: 1051 (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo. 1052 10532014-08-07 Dana Burkart <dburkart@apple.com> 1054 1055 Merge r172202 1056 1057 2014-08-06 Brent Fulgham <bfulgham@apple.com> 1058 1059 [Win] Build fix. 1060 1061 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing 1062 proper path settings for final output. 1063 10642014-08-05 Lucas Forschler <lforschler@apple.com> 1065 1066 Merge r171940 1067 1068 2014-08-01 Jonathan Wells <jonowells@apple.com> 1069 1070 Web Inspector: Timeline header height doesn't match style updates. 1071 https://bugs.webkit.org/show_bug.cgi?id=135516 1072 1073 Reviewed by Timothy Hatcher. 1074 1075 Update the timeline header height to match the updates 1076 to the navigation bars in other panels made in 1077 https://bugs.webkit.org/show_bug.cgi?id=135445. Also 1078 update the shadows on some of the search bars. 1079 1080 * UserInterface/Views/FilterBar.css: 1081 (.filter-bar > input[type="search"]): 1082 (body.mac-platform.legacy .filter-bar > input[type="search"]): 1083 * UserInterface/Views/FindBanner.css: 1084 (.find-banner > input[type="search"]): 1085 (body.mac-platform.legacy .find-banner > input[type="search"]): 1086 * UserInterface/Views/LogContentView.css: 1087 (.search-bar.log-search-bar > input[type="search"]): 1088 (body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]): 1089 Remove inset shadows on search bars. 1090 1091 * UserInterface/Views/TimelineSidebarPanel.css: 1092 (.sidebar > .panel.navigation.timeline > .status-bar): 1093 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar): 1094 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): 1095 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): 1096 (.sidebar > .panel.navigation.timeline > .status-bar > .record-status): 1097 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status): 1098 (.sidebar > .panel.navigation.timeline > .title-bar.timelines): 1099 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines): 1100 (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events): 1101 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events): 1102 (.sidebar > .panel.navigation.timeline > .timelines-content): 1103 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content): 1104 (.sidebar > .panel.navigation.timeline > .empty-content-placeholder): 1105 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder): 1106 Update the height of the timeline status bar. 1107 11082014-08-05 Lucas Forschler <lforschler@apple.com> 1109 1110 Merge r171908 1111 1112 2014-07-31 Joseph Pecoraro <pecoraro@apple.com> 1113 1114 Web Inspector: "Stop Recording" button feels unresponsive, recording takes a long time to stop 1115 https://bugs.webkit.org/show_bug.cgi?id=135490 1116 1117 Reviewed by Timothy Hatcher. 1118 1119 * UserInterface/Controllers/TimelineManager.js: 1120 (WebInspector.TimelineManager.prototype.stopCapturing): 1121 Immediately stop the recording without waiting for an event from the backend. 1122 This makes the Web Inspector UI feel responsive to the user stopping the recording. 1123 This also matches behavior before r171195. 1124 11252014-08-05 Lucas Forschler <lforschler@apple.com> 1126 1127 Merge r171894 1128 1129 2014-07-31 Joseph Pecoraro <pecoraro@apple.com> 1130 1131 Web Inspector: Timeline recording is not working inspecting iOS 7 and earlier 1132 https://bugs.webkit.org/show_bug.cgi?id=135466 1133 1134 Reviewed by Timothy Hatcher. 1135 1136 Start / stop capturing for older backends that won't emit start / stop events. 1137 1138 * UserInterface/Protocol/InspectorBackend.js: 1139 (InspectorBackend.Agent.prototype.hasEvent): 1140 Provide a way to check if an event is supported. 1141 1142 * UserInterface/Controllers/TimelineManager.js: 1143 (WebInspector.TimelineManager.prototype.startCapturing): 1144 (WebInspector.TimelineManager.prototype.stopCapturing): 1145 Fallback to starting and stopping capturing manually if the backend 1146 does not provide the events. 1147 11482014-08-05 Lucas Forschler <lforschler@apple.com> 1149 1150 Merge r171885 1151 1152 2014-07-31 Jonathan Wells <jonowells@apple.com> 1153 1154 Web Inspector: Sync button look and feel with Xcode updates. 1155 https://bugs.webkit.org/show_bug.cgi?id=135445 1156 1157 Reviewed by Timothy Hatcher. 1158 1159 Update styles to match recent changes to Xcode text-only 1160 buttons, the navigation bar, and search fields. Include 1161 older style rules for older Mac platforms. 1162 1163 * UserInterface/Views/ButtonNavigationItem.css: 1164 (.navigation-bar .item.button.text-only): 1165 (body.mac-platform.legacy .navigation-bar .item.button.text-only): 1166 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: 1167 (.sidebar > .panel.details.css-style > .navigation-bar): 1168 (.sidebar > .panel.details.css-style > .content): 1169 (body.mac-platform.legacy .sidebar > .panel.details.css-style > .content): 1170 * UserInterface/Views/DebuggerSidebarPanel.css: 1171 (.sidebar > .panel.navigation.debugger > .content): 1172 (body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content): 1173 * UserInterface/Views/DividerNavigationItem.css: 1174 (.navigation-bar .item.divider): 1175 (body.mac-platform.legacy .navigation-bar .item.divider): 1176 * UserInterface/Views/FilterBar.css: 1177 (.filter-bar): 1178 (body.mac-platform.legacy .filter-bar): 1179 (.filter-bar > input[type="search"]): 1180 (body.mac-platform.legacy .filter-bar > input[type="search"]): 1181 * UserInterface/Views/LogContentView.css: 1182 (.search-bar.log-search-bar > input[type="search"]): 1183 (@media reader): 1184 (.log-search-bar > input): Deleted. 1185 * UserInterface/Views/Main.css: 1186 (#split-content-browser > .navigation-bar): 1187 (body.mac-platform.legacy #split-content-browser > .navigation-bar): 1188 * UserInterface/Views/NavigationBar.css: 1189 (.navigation-bar): 1190 (body.mac-platform.legacy .navigation-bar): 1191 (.navigation-bar .item): 1192 (body.mac-platform.legacy .navigation-bar .item): 1193 * UserInterface/Views/NavigationSidebarPanel.css: 1194 (.sidebar > .panel.navigation > .content): 1195 (body.mac-platform.legacy .sidebar > .panel.navigation > .content): 1196 * UserInterface/Views/QuickConsole.css: 1197 (.quick-console): 1198 (body.mac-platform.legacy .quick-console): 1199 * UserInterface/Views/RadioButtonNavigationItem.css: 1200 (.navigation-bar .item.radio.button.text-only:hover): 1201 (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover): 1202 (.navigation-bar .item.radio.button.text-only.selected): 1203 (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected): 1204 (.navigation-bar .item.radio.button.text-only:active): 1205 (.navigation-bar .item.radio.button.text-only.selected:active): 1206 (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active): 1207 * UserInterface/Views/ResourceSidebarPanel.css: 1208 (.sidebar > .panel.navigation.resource > .empty-content-placeholder): 1209 (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder): 1210 (.sidebar > .panel.navigation.resource > .search-bar): 1211 (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar): 1212 (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]): 1213 (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar > input[type="search"]): 1214 * UserInterface/Views/ScopeBar.css: 1215 (.scope-bar > li): 1216 (body.mac-platform.legacy .scope-bar > li): 1217 (.scope-bar > li:hover): 1218 (body.mac-platform.legacy .scope-bar > li:hover): 1219 (.scope-bar > li.selected): 1220 (.scope-bar > li:active): 1221 (body.mac-platform.legacy .scope-bar > li:active): 1222 (.scope-bar > li.selected:active): 1223 (body.mac-platform.legacy .scope-bar > li.selected:active): 1224 * UserInterface/Views/SearchBar.css: 1225 (.search-bar > input[type="search"]): 1226 (body.mac-platform.legacy .search-bar > input[type="search"]): 1227 Update styles and apply older styles to legacy Mac platforms. 1228 12292014-08-05 Lucas Forschler <lforschler@apple.com> 1230 1231 Merge r171881 1232 1233 2014-07-31 Brian J. Burg <burg@cs.washington.edu> 1234 1235 Web Inspector: MessageDispatcher should not synchronously dispatch all backend messages 1236 https://bugs.webkit.org/show_bug.cgi?id=135427 1237 1238 Reviewed by Timothy Hatcher. 1239 1240 The frontend dispatches all queued messages from the backend synchronously, even if there are 1241 hundreds of messages, or even if some of the messages take a long time (>10ms) to process. 1242 1243 This patch adds a time limit to the frontend's message dispatcher. If the time limit is exceeded 1244 when processing the message queue, unhandled messages remain in the queue and the dispatcher goes 1245 to sleep until the next run loop (obtained by a new setTimeout). 1246 1247 This has the effect of removing stutters when the message queue has hundreds of small messages. 1248 The outliers are still the same since some single messages can take over 200ms to be handled. 1249 1250 This patch also improves performance logging in InspectorBackend so that it is easier to see 1251 message handling times and their distribution among run loop turns. 1252 1253 * UserInterface/Protocol/InspectorBackend.js: 1254 (InspectorBackendClass): Add a new diagnostic flag that warns about slow message handling. 1255 (InspectorBackendClass.prototype._dispatchCallback.get if): Improve logging. 1256 (InspectorBackendClass.prototype._dispatchCallback): Improve logging. 1257 (InspectorBackendClass.prototype._dispatchEvent): Improve logging. 1258 * UserInterface/Protocol/MessageDispatcher.js: 1259 (WebInspector.dispatchNextQueuedMessageFromBackend): Keep track of a time limit for message 1260 dispatching, and set a new timeout if we exceed the time limit. 1261 12622014-08-05 Lucas Forschler <lforschler@apple.com> 1263 1264 Merge r171869 1265 1266 2014-07-31 Joseph Pecoraro <pecoraro@apple.com> 1267 1268 Web Inspector: Right edge of Timeline Record button does not work 1269 https://bugs.webkit.org/show_bug.cgi?id=135444 1270 1271 Reviewed by Timothy Hatcher. 1272 1273 When hovering the record button we would show the status text, however 1274 because the left edge of the status text box would overlap the right 1275 edge of the record button causing completely unexpected behavior. 1276 1277 Position the status text correctly so that it never overlaps the record 1278 button. 5px to match the left margin of the record button, and another 1279 2px for some padding between the button and text. 1280 1281 * UserInterface/Views/TimelineSidebarPanel.css: 1282 (.sidebar > .panel.navigation.timeline > .status-bar > .record-status): 1283 12842014-08-05 Lucas Forschler <lforschler@apple.com> 1285 1286 Merge r171866 1287 1288 2014-07-31 Joseph Pecoraro <pecoraro@apple.com> 1289 1290 Web Inspector: console.profile missing profile information 1291 https://bugs.webkit.org/show_bug.cgi?id=135432 1292 1293 Reviewed by Timothy Hatcher. 1294 1295 * UserInterface/Models/ScriptTimelineRecord.js: 1296 Delete the payload information as soon as it has been processed. 1297 It is no longer needed anymore and can be garbage collected. 1298 12992014-08-05 Lucas Forschler <lforschler@apple.com> 1300 1301 Merge r171866 1302 1303 2014-07-31 Joseph Pecoraro <pecoraro@apple.com> 1304 1305 Web Inspector: console.profile missing profile information 1306 https://bugs.webkit.org/show_bug.cgi?id=135432 1307 1308 Reviewed by Timothy Hatcher. 1309 1310 * UserInterface/Models/ScriptTimelineRecord.js: 1311 Delete the payload information as soon as it has been processed. 1312 It is no longer needed anymore and can be garbage collected. 1313 13142014-07-30 Lucas Forschler <lforschler@apple.com> 1315 1316 Merge r171790 1317 1318 2014-07-29 Joseph Pecoraro <pecoraro@apple.com> 1319 1320 Web Inspector: 80% of time during recording is spent creating source code locations for profile nodes 1321 https://bugs.webkit.org/show_bug.cgi?id=135399 1322 1323 Reviewed by Timothy Hatcher. 1324 1325 Profiling the inspector while recording a timeline, a significant amount of 1326 time was spent creating SourceCodeLocation objects for profiling information 1327 and call frames. A lot of this data was eagerly being processed, even though 1328 it would not immediately be presentable to the user. 1329 1330 This makes two significant changes. We create a LazySourceCodeLocation class 1331 which does as little as possible until display information is requested. We 1332 also lazily convert the profiler payload data to a Profile object, so the 1333 processing is only done if you drill into the Script specific timeline. 1334 1335 This results in a significant performance improvement in the overview view. 1336 1337 * UserInterface/Controllers/TimelineManager.js: 1338 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 1339 (WebInspector.TimelineManager.prototype.eventRecorded): 1340 (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame): 1341 (WebInspector.TimelineManager.prototype._callFramesFromPayload): 1342 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): Deleted. 1343 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): Deleted. 1344 (WebInspector.TimelineManager.prototype._profileFromPayload): Deleted. 1345 Do not eagerly process profile payloads. Instead pass the payload to ScriptTimelineRecords. 1346 Likewise create callframes with lazy source code locations to do the minimum amount of work. 1347 1348 * UserInterface/Models/ScriptTimelineRecord.js: 1349 (WebInspector.ScriptTimelineRecord): 1350 (WebInspector.ScriptTimelineRecord.prototype.get profile): 1351 (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload): 1352 (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload): 1353 (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload): 1354 Only when the profile is asked do we process the profiler payload information. 1355 This defer the processing until at least the user drills into the Script timeline. 1356 1357 * UserInterface/Main.html: 1358 Add the new class and ensure SourceCodeLocation is available beforehand. 1359 1360 * UserInterface/Models/LazySourceCodeLocation.js: Added. 1361 (WebInspector.LazySourceCodeLocation): 1362 (WebInspector.LazySourceCodeLocation.prototype.isEqual): 1363 (WebInspector.LazySourceCodeLocation.prototype.get sourceCode): 1364 (WebInspector.LazySourceCodeLocation.prototype.set sourceCode): 1365 (WebInspector.LazySourceCodeLocation.prototype.get formattedLineNumber): 1366 (WebInspector.LazySourceCodeLocation.prototype.get formattedColumnNumber): 1367 (WebInspector.LazySourceCodeLocation.prototype.formattedPosition): 1368 (WebInspector.LazySourceCodeLocation.prototype.hasFormattedLocation): 1369 (WebInspector.LazySourceCodeLocation.prototype.hasDifferentDisplayLocation): 1370 (WebInspector.LazySourceCodeLocation.prototype.resolveMappedLocation): 1371 (WebInspector.LazySourceCodeLocation.prototype._lazyInitialization): 1372 Only when display information is requested will we perform extra processing. 1373 For basic information we do not need to check for formatted (pretty-printed) info. 1374 1375 * UserInterface/Models/SourceCode.js: 1376 (WebInspector.SourceCode.prototype.createLazySourceCodeLocation): 1377 Provide an explict create function for lazy source codes. 1378 1379 * UserInterface/Models/SourceCodeLocation.js: 1380 (WebInspector.SourceCodeLocation.prototype.set sourceCode): 1381 (WebInspector.SourceCodeLocation.prototype.get displaySourceCode): 1382 (WebInspector.SourceCodeLocation.prototype.get displayLineNumber): 1383 (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber): 1384 (WebInspector.SourceCodeLocation.prototype.hasMappedLocation): 1385 (WebInspector.SourceCodeLocation.prototype.setSourceCode): 1386 (WebInspector.SourceCodeLocation.prototype.resolveMappedLocation): 1387 (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded): 1388 (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): Deleted. 1389 Include two protected functions which LazySourceCodeLocation overrides. 1390 13912014-07-30 Lucas Forschler <lforschler@apple.com> 1392 1393 Merge r171787 1394 1395 2014-07-29 Joseph Pecoraro <pecoraro@apple.com> 1396 1397 Web Inspector: Only compute full ProfileNode times if needed - Legacy Profiler 1398 https://bugs.webkit.org/show_bug.cgi?id=135406 1399 1400 Reviewed by Timothy Hatcher. 1401 1402 Full ProfileNode times are only used by the Legacy Profiler. The new profile 1403 information in the Scripts Timelines currently never uses the pass. We should 1404 avoid calculating it if we never use it. 1405 1406 * UserInterface/Models/ProfileNode.js: 1407 (WebInspector.ProfileNode.prototype.get startTime): 1408 (WebInspector.ProfileNode.prototype.get endTime): 1409 (WebInspector.ProfileNode.prototype.get selfTime): 1410 (WebInspector.ProfileNode.prototype.get totalTime): 1411 (WebInspector.ProfileNode.prototype.establishRelationships): 1412 (WebInspector.ProfileNode.prototype._computeTotalTimes): 1413 14142014-07-30 Lucas Forschler <lforschler@apple.com> 1415 1416 Merge r171786 1417 1418 2014-07-29 Joseph Pecoraro <pecoraro@apple.com> 1419 1420 Web Inspector: Reduce forced layouts in TimelineOverview 1421 https://bugs.webkit.org/show_bug.cgi?id=135405 1422 1423 Reviewed by Timothy Hatcher. 1424 1425 Remove another forced layout. The scroll container won't 1426 change size unless the ContentView itself resized. Make the 1427 distinction between a layout update due to a resize and 1428 normal events (scale changes, etc) and only calculate 1429 element sizes then. 1430 1431 * UserInterface/Views/TimelineContentView.js: 1432 (WebInspector.TimelineContentView.prototype.updateLayout): 1433 * UserInterface/Views/TimelineOverview.js: 1434 (WebInspector.TimelineOverview): 1435 (WebInspector.TimelineOverview.prototype.get visibleDuration): 1436 (WebInspector.TimelineOverview.prototype.updateLayoutForResize): 1437 14382014-07-30 Lucas Forschler <lforschler@apple.com> 1439 1440 Merge r171783 1441 1442 2014-07-29 Joseph Pecoraro <pecoraro@apple.com> 1443 1444 Web Inspector: Eliminate more forced layouts during timeline recordings 1445 https://bugs.webkit.org/show_bug.cgi?id=135397 1446 1447 Reviewed by Timothy Hatcher. 1448 1449 Instead of computing the secondsPerPixel in each overview graph, 1450 we can ask the overview view itself which has a cached value. 1451 The computation used to force a layout, now it doesn't need to. 1452 1453 * UserInterface/Views/LayoutTimelineOverviewGraph.js: 1454 * UserInterface/Views/NetworkTimelineOverviewGraph.js: 1455 * UserInterface/Views/ScriptTimelineOverviewGraph.js: 1456 * UserInterface/Views/TimelineOverview.js: 1457 (WebInspector.TimelineOverview): 1458 * UserInterface/Views/TimelineOverviewGraph.js: 1459 (WebInspector.TimelineOverviewGraph): 1460 (WebInspector.TimelineOverviewGraph.prototype.get timelineOverview): 1461 (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview): 1462 14632014-07-29 Lucas Forschler <lforschler@apple.com> 1464 1465 Merge r171721 1466 1467 2014-07-28 Joseph Pecoraro <pecoraro@apple.com> 1468 1469 Web Inspector: Incorrectly sized TimelineDataGrid event bubble 1470 https://bugs.webkit.org/show_bug.cgi?id=135371 1471 1472 Reviewed by Timothy Hatcher. 1473 1474 Previously the secondsPerPixel calculation was relying on an element 1475 that may not be sized yet. This was resulting in a visibleWidth of 0 1476 and resulted in secondsPerPixel being Infinity. Fortunately, the 1477 graph data source already knows the secondsPerPixel so we can just 1478 ask it. Getting the correct value and eliminating forced layouts. 1479 1480 * UserInterface/Views/OverviewTimelineView.js: 1481 (WebInspector.OverviewTimelineView.prototype.get secondsPerPixel): 1482 * UserInterface/Views/TimelineDataGridNode.js: 1483 14842014-07-29 Lucas Forschler <lforschler@apple.com> 1485 1486 Merge r171720 1487 1488 2014-07-28 Joseph Pecoraro <pecoraro@apple.com> 1489 1490 Web Inspector: Reduce work creating the initial WebInspector.TimelineRecordBar 1491 https://bugs.webkit.org/show_bug.cgi?id=135373 1492 1493 Reviewed by Timothy Hatcher. 1494 1495 Eliminate a bit of extra work creating TimelineRecordBars. Previously 1496 the constructor would setup an empty list of records, and then we would 1497 immediately after replace them. Now just set them in the constructor. 1498 1499 * UserInterface/Views/LayoutTimelineOverviewGraph.js: 1500 (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar): 1501 (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): 1502 * UserInterface/Views/NetworkTimelineOverviewGraph.js: 1503 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): 1504 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): 1505 * UserInterface/Views/ScriptTimelineOverviewGraph.js: 1506 (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar): 1507 (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): 1508 * UserInterface/Views/TimelineDataGridNode.js: 1509 (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar): 1510 15112014-07-29 Lucas Forschler <lforschler@apple.com> 1512 1513 Merge r171716 1514 1515 2014-07-28 Timothy Hatcher <timothy@apple.com> 1516 1517 Web Inspector: Unexpected dark border on selected but window inactive timeline 1518 https://bugs.webkit.org/show_bug.cgi?id=135360 1519 1520 Update the border-top colors for the item adjacent to the selected item. 1521 1522 Reviewed by Joseph Pecoraro. 1523 1524 * UserInterface/Views/TimelineSidebarPanel.css: 1525 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): 1526 (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): 1527 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): 1528 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): 1529 15302014-07-28 Matthew Hanson <matthew_hanson@apple.com> 1531 1532 Merge r171645. <rdar://problem/17818693> 1533 1534 2014-07-26 Joseph Pecoraro <pecoraro@apple.com> 1535 1536 Web Inspector: Timelines performance is very slow, has many forced layouts 1537 https://bugs.webkit.org/show_bug.cgi?id=135313 1538 1539 Reviewed by Timothy Hatcher. 1540 1541 * UserInterface/Views/NavigationItem.js: 1542 (WebInspector.NavigationItem): 1543 (WebInspector.NavigationItem.prototype.get hidden): 1544 (WebInspector.NavigationItem.prototype.set hidden): 1545 Don't have the parent navigation bar update layout if the hidden state did not change. 1546 This greatly reduces the number of forced layouts as timeline nodes are added. 1547 1548 * UserInterface/Views/NavigationSidebarPanel.js: 1549 (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): 1550 (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): 1551 Don't do any work if this is not changing the view. 1552 1553 (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon): 1554 (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): 1555 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): 1556 When first selecting a specific timeline (Layout / Scripts) we would have a very long hang 1557 updating the content. Most of this was time spent updating the overflow shadow visibility 1558 because every single tree element addition was causing a layout invalidation and forced layout. 1559 Coalesce all of the tree element adds into a single update at the end. 1560 1561 * UserInterface/Views/TimelineOverview.js: 1562 (WebInspector.TimelineOverview.prototype.updateLayout): 1563 Calculating the visible duration checks offsetLeft. Calculate this once, outside 1564 of a loop down below, to prevent or reduce possible forced layouts. 1565 1566 * UserInterface/Views/TreeOutline.js: 1567 (TreeElement.prototype.revealed): 1568 Prevent doing any work for timeline tree elements outside of the selected time range. 1569 Previously they were considered revealed if a parent was expanded, even though that 1570 parent was hidden. This greatly reduces the amount of work during a recording, since 1571 previously we were potentially doing a forced layout for hidden nodes. 1572 1573 * UserInterface/Views/TimelineSidebarPanel.js: 1574 (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects): 1575 Ignore ProfileNode, which may happen here in the Script timeline. 1576 15772014-07-22 Dana Burkart <dburkart@apple.com> 1578 1579 Merge r171312. 1580 1581 2014-07-21 Jonathan Wells <jonowells@apple.com> 1582 1583 Back/Forward arrows (modern) are too large. 1584 https://bugs.webkit.org/show_bug.cgi?id=135073 1585 1586 Reviewed by Joseph Pecoraro. 1587 1588 Changes to adjust new forward and back arrow sizes to be more consistent with the 1589 universal design language. Moved WebInspector.Platform definition to its own file. 1590 Refactored handling of image versions inside ImageUtilities.js. 1591 1592 * UserInterface/Base/ImageUtilities.js: 1593 (.restoreImage): 1594 (.generateImage): 1595 (generateColoredImagesForCSS): 1596 Make the default image versioning smarter. 1597 1598 * UserInterface/Base/Main.js: 1599 (WebInspector.contentLoaded): 1600 (WebInspector.contentLoaded.WebInspector.Platform.version.toString): Deleted. 1601 (WebInspector.contentLoaded.WebInspector.Platform.toString): Deleted. 1602 * UserInterface/Base/Platform.js: Added. 1603 Move platform information definition into Platform.js. 1604 1605 * UserInterface/Main.html: Include Platform.js. 1606 1607 * UserInterface/Views/ContentBrowser.js: 1608 (WebInspector.ContentBrowser): 1609 * UserInterface/Views/FindBanner.css: 1610 (.find-banner > button > .glyph): 1611 (body.mac-platform.legacy .find-banner > button > .glyph): 1612 (.find-banner > button.segmented.left > .glyph): 1613 (body.mac-platform.legacy .find-banner > button.segmented.left > .glyph): 1614 (.find-banner > button.segmented.right > .glyph): 1615 (body.mac-platform.legacy .find-banner > button.segmented.right > .glyph): 1616 (.find-banner > button.segmented): 1617 (body.mac-platform.legacy .find-banner > button.segmented): 1618 * UserInterface/Views/FindBanner.js: 1619 (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): 1620 Size of forward and back arrows adjusted. 1621 16222014-07-22 Dana Burkart <dburkart@apple.com> 1623 1624 Merge r171227. 1625 1626 2014-07-18 Timothy Hatcher <timothy@apple.com> 1627 1628 Revert r169735 since it broke Timeline, and fix bug 129696 in a more targeted way. 1629 1630 REGRESSION (r169735): Web Inspector: Timeline tree outline missing data until collapse-expand. 1631 https://bugs.webkit.org/show_bug.cgi?id=134845 1632 1633 Reviewed by Joseph Pecoraro. 1634 1635 * UserInterface/Views/DOMTreeElement.js: 1636 (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Use button isteand of assuming 1637 item.listItemElement will be ready to use. The listItemElement node is lazily created. 1638 * UserInterface/Views/TreeOutline.js: 1639 (TreeOutline.prototype.appendChild): Don't attach unless _childrenListNode exists. 1640 (TreeOutline.prototype.insertChild): Ditto. 1641 16422014-07-17 Timothy Hatcher <timothy@apple.com> 1643 1644 Make console.profile record to the Timeline. 1645 1646 https://bugs.webkit.org/show_bug.cgi?id=134643 1647 1648 Reviewed by Joseph Pecoraro. 1649 1650 * Localizations/en.lproj/localizedStrings.js: 1651 * UserInterface/Controllers/TimelineManager.js: 1652 (WebInspector.TimelineManager.prototype.startCapturing): 1653 (WebInspector.TimelineManager.prototype.stopCapturing): 1654 (WebInspector.TimelineManager.prototype.capturingStarted): 1655 (WebInspector.TimelineManager.prototype.capturingStopped): 1656 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 1657 (WebInspector.TimelineManager.prototype.eventRecorded): 1658 * UserInterface/Images/TimelineRecordConsoleProfile.svg: Added. 1659 * UserInterface/Models/ScriptTimelineRecord.js: 1660 * UserInterface/Protocol/TimelineObserver.js: 1661 (WebInspector.TimelineObserver.prototype.eventRecorded): 1662 (WebInspector.TimelineObserver.prototype.recordingStarted): 1663 (WebInspector.TimelineObserver.prototype.recordingStopped): 1664 * UserInterface/Views/TimelineIcons.css: 1665 (.console-profile-record .icon): 1666 * UserInterface/Views/TimelineRecordTreeElement.js: 1667 (WebInspector.TimelineRecordTreeElement): 1668 16692014-07-16 Saam Barati <sbarati@apple.com> 1670 1671 Web Inspector: TextContentView calls the wrong super function in shown() 1672 https://bugs.webkit.org/show_bug.cgi?id=135001 1673 1674 Reviewed by Timothy Hatcher. 1675 TextContentView calls ResourceContentView.shown instead of ContentView.shown. 1676 It should call ContentView.shown because ContentView is its prototype. 1677 1678 1679 * UserInterface/Views/TextContentView.js: 1680 (WebInspector.TextContentView.prototype.shown): 1681 16822014-07-15 Jonathan Wells <jonowells@apple.com> 1683 1684 Web Inspector: Modernize UI styles and better sync with platform styles 1685 https://bugs.webkit.org/show_bug.cgi?id=134846 1686 1687 Reviewed by Timothy Hatcher. 1688 1689 Updated styles to better match the OS UI design. Updated the forward/back button. 1690 Moved several rules to selectors that support older OS designs. Added global platform 1691 data to support this patch. 1692 1693 * UserInterface/Images/BackArrow.svg: Added. 1694 * UserInterface/Images/BackArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/BackArrow.svg. 1695 * UserInterface/Images/ForwardArrow.svg: Added. 1696 * UserInterface/Images/ForwardArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/ForwardArrow.svg. 1697 1698 * UserInterface/Base/ImageUtilities.js: Updated image version 1699 (.generateImage.generateModernImage): 1700 (.generateImage.generateLegacyImage): 1701 (.generateImage): 1702 Updated image generation to support modern look. Updated versioning scheme and version. 1703 1704 * UserInterface/Base/Main.js: 1705 (WebInspector.loaded): 1706 (WebInspector.contentLoaded.WebInspector.Platform.version.toString): 1707 (WebInspector.contentLoaded.WebInspector.Platform.toString): 1708 (WebInspector.contentLoaded): 1709 Added global platform information. 1710 1711 * UserInterface/Views/ContentBrowser.js: 1712 (WebInspector.ContentBrowser): 1713 Updated back and forward buttons. 1714 1715 * UserInterface/Views/FindBanner.js: 1716 (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): 1717 Updated images for the find banner. 1718 1719 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 1720 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 1721 Added new images. 1722 1723 * UserInterface/Views/ButtonToolbarItem.css: 1724 (.toolbar .item.button > .label): 1725 (body.mac-platform.legacy .toolbar .item.button > .label): 1726 * UserInterface/Views/CSSStyleDeclarationSection.css: 1727 (.style-declaration-section): 1728 (body.mac-platform.legacy .style-declaration-section): 1729 (body.mac-platform.legacy .style-declaration-section + .style-declaration-section): 1730 (.style-declaration-section.last-in-group): 1731 (body.mac-platform.legacy .style-declaration-section.last-in-group): 1732 (.style-declaration-section.last-in-group + .style-declaration-section): 1733 (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section): 1734 (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child): 1735 (.style-declaration-section + .style-declaration-section): Deleted. 1736 (.style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted. 1737 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: 1738 (.sidebar > .panel.details.css-style > .content > .pseudo-classes): 1739 * UserInterface/Views/DOMTreeOutline.css: 1740 (.dom-tree-outline li.hovered:not(.selected) .selection): 1741 (body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection): 1742 (.dom-tree-outline li.elements-drag-over .selection): 1743 (body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection): 1744 (.dom-tree-outline:focus li.selected .selection): 1745 (body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection): 1746 * UserInterface/Views/DashboardContainerView.css: 1747 (.toolbar .dashboard-container): 1748 (body.mac-platform.legacy .toolbar .dashboard-container): 1749 (body.window-inactive .toolbar .dashboard-container): 1750 (body.mac-platform.legacy.window-inactive .toolbar .dashboard-container): 1751 (.toolbar .dashboard): 1752 (body.window-inactive .toolbar .dashboard): 1753 (body.mac-platform.legacy.window-inactive .toolbar .dashboard): 1754 * UserInterface/Views/DataGrid.css: 1755 (.data-grid th): 1756 (body.mac-platform.legacy .data-grid th): 1757 (.data-grid tr.selected): 1758 (body.mac-platform.legacy .data-grid tr.selected): 1759 (.data-grid:focus tr.selected): 1760 (body.mac-platform.legacy .data-grid:focus tr.selected): 1761 * UserInterface/Views/DetailsSection.css: 1762 (.details-section): 1763 (body.mac-platform.legacy .details-section): 1764 (.details-section .details-section): 1765 (body.mac-platform.legacy .details-section .details-section): 1766 (.details-section .details-section:last-child): 1767 (.details-section .details-section:first-child): 1768 (.details-section > .header): 1769 (body.mac-platform.legacy .details-section > .header): 1770 (.details-section .details-section > .header): 1771 (body.mac-platform.mountain-lion .details-section .details-section > .header): 1772 (.details-section .details-section.collaspsed > .header): 1773 (.details-section.computed-style-properties:not(.collapsed) > .header): 1774 (body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header): 1775 (.details-section > .content > .group): 1776 (body.mac-platform.legacy .details-section > .content > .group): 1777 (.details-section > .content > .group:last-child): 1778 (.details-section > .content > .group:nth-child(even)): 1779 (body.mac-platform.legacy .details-section > .content > .group:nth-child(even)): 1780 (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *): 1781 (.details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted. 1782 * UserInterface/Views/FilterBar.css: 1783 (.filter-bar > input[type="search"]): 1784 (body.mac-platform.legacy .filter-bar > input[type="search"]): 1785 * UserInterface/Views/NavigationSidebarPanel.css: 1786 (.navigation-sidebar-panel-content-tree-outline .item.selected): 1787 (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected): 1788 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected): 1789 (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected): 1790 (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): 1791 (body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): 1792 * UserInterface/Views/RadioButtonNavigationItem.css: 1793 (.navigation-bar .item.radio.button.text-only.selected): 1794 (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected): 1795 * UserInterface/Views/RulesStyleDetailsPanel.css: 1796 (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section): 1797 (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section): 1798 (.sidebar > .panel.details.css-style .rules .new-rule): 1799 (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule): 1800 (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): 1801 (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): 1802 * UserInterface/Views/ScopeBar.css: 1803 (.scope-bar > li): 1804 (body.mac-platform.legacy .scope-bar > li): 1805 (.scope-bar > li.selected): 1806 (body.mac-platform.legacy .scope-bar > li.selected): 1807 * UserInterface/Views/SearchBar.css: 1808 (.search-bar > input[type="search"]): 1809 (body.mac-platform.legacy .search-bar > input[type="search"]): 1810 * UserInterface/Views/Sidebar.css: 1811 (.sidebar): 1812 (body.mac-platform.legacy .sidebar): 1813 (body.mac-platform.legacy.window-inactive .sidebar): 1814 (body.mac-platform.legacy .sidebar.right): 1815 (body.window-inactive .sidebar): Deleted. 1816 (.sidebar.right): Deleted. 1817 * UserInterface/Views/TimelineSidebarPanel.css: 1818 (.sidebar > .panel.navigation.timeline > .title-bar): 1819 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar): 1820 Style updates for new look and feel. 1821 18222014-07-11 Joseph Pecoraro <pecoraro@apple.com> 1823 1824 Web Inspector: Debugger Pause button does not work 1825 https://bugs.webkit.org/show_bug.cgi?id=134785 1826 1827 Reviewed by Timothy Hatcher. 1828 1829 Previously we were automatically resuming if we had no recognized 1830 call frames in the call stack we get when paused. However, we 1831 were accidentally skipping over anonymous scripts instead of 1832 just Web Inspector originated call frames. 1833 1834 Now that we allow anonymous scripts we can step into anonymous 1835 scripts (e.g. evals, new Function(...)) as expected. 1836 1837 Also, remove the condition of automatically resuming if the 1838 call stack was empty. The UI handles this with "No Call Frames". 1839 1840 * UserInterface/Controllers/DebuggerManager.js: 1841 (WebInspector.DebuggerManager.prototype.debuggerDidPause): 1842 18432014-07-11 Joseph Pecoraro <pecoraro@apple.com> 1844 1845 Web Inspector: CSS Autocompletion: "background" only has colors, should support others 1846 https://bugs.webkit.org/show_bug.cgi?id=134839 1847 1848 Reviewed by Timothy Hatcher. 1849 1850 Update and consolidate the background related CSS properties 1851 and include sub-property completions in the shorthand property. 1852 1853 Also take the opportunity to add or update other properties 1854 (-webkit-alt, -webkit-text-decoration-skip, -webkit-aspect-ratio) 1855 and remove unnecessary newlines / commas in the list. 1856 1857 * UserInterface/Models/CSSKeywordCompletions.js: 1858 18592014-07-10 Joseph Pecoraro <pecoraro@apple.com> 1860 1861 Web Inspector: Debugger Continue button is incorrectly sized 1862 https://bugs.webkit.org/show_bug.cgi?id=134786 1863 1864 Reviewed by Timothy Hatcher. 1865 1866 Before this patch everything in the DebuggerDashboardView was flexing. 1867 Normally, if the contents were not too wide, this would just behave 1868 as expected and be centered. If the content was too wide, then each 1869 element would flex uniformly and overlap uniformly. That was not expected. 1870 1871 This patch changes makes everything but the link have a non-flexible 1872 size. If the link (at the end) flexs it will have a nice ellipsis 1873 text truncation, and the rest of the content will be left justified. 1874 1875 This also fixes a few other minor issues seen in the view. 1876 1877 * UserInterface/Views/DebuggerDashboardView.css: 1878 (.dashboard.debugger .navigation-bar): 1879 Reduce the complexity, give the nav bar (the resume button) some simple padding. 1880 1881 (.dashboard.debugger > div): 1882 Make everything non-flex by default. 1883 1884 (.dashboard.debugger > .location): 1885 The location will have an inner element flex, so make it flex. 1886 1887 (.dashboard.debugger > .location > *): 1888 Make everything in .location non-flex by default. 1889 1890 (.dashboard.debugger > .location .go-to-link): 1891 Make the link flex and truncate cleanly. 1892 1893 (.dashboard.debugger > .location .function-name): 1894 Fix vertical alignment when the toolbar has small icons. 1895 1896 * UserInterface/Views/DebuggerDashboardView.js: 1897 (WebInspector.DebuggerDashboardView.prototype._rebuildLocation): 1898 Fix class name spelling. 1899 19002014-07-09 Brent Fulgham <bfulgham@apple.com> 1901 1902 [Win] Remove uses of 'bash' in build system 1903 https://bugs.webkit.org/show_bug.cgi?id=134782 1904 <rdar://problem/17615533> 1905 1906 Reviewed by Dean Jackson. 1907 1908 Remove uses of 'bash' by replacing Windows-specific bash scripts 1909 with Perl equivalents. 1910 1911 * WebInspectorUI.vcxproj/WebInspectorUI.make: 1912 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 1913 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 1914 * WebInspectorUI.vcxproj/build-webinspectorui.pl: Copied from Source/WebInspectorUI/WebInspectorUI.vcxproj/build-webinspectorui.sh. 1915 * WebInspectorUI.vcxproj/build-webinspectorui.sh: Removed. 1916 19172014-07-08 Joseph Pecoraro <pecoraro@apple.com> 1918 1919 Web Inspector: Debugger popovers should not dismiss when mousing over them 1920 https://bugs.webkit.org/show_bug.cgi?id=134687 1921 1922 Reviewed by David Kilzer. 1923 1924 * UserInterface/Views/SourceCodeTextEditor.js: 1925 (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents): 1926 Actually install the listeners in the set. Regression from code refactoring in r165052. 1927 19282014-07-07 Jonathan Wells <jonowells@apple.com> 1929 1930 Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace 1931 https://bugs.webkit.org/show_bug.cgi?id=134704 1932 1933 Reviewed by Joseph Pecoraro. 1934 1935 When checking for zero-length prefix whitespace, completely empty lines are now ignored 1936 as these lines are most often used for organizing rules into groups and often have their 1937 whitespace removed due to trailing whitespace removal conventions. 1938 1939 * UserInterface/Views/CSSStyleDeclarationTextEditor.js: 1940 19412014-07-07 Joseph Pecoraro <pecoraro@apple.com> 1942 1943 Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable 1944 https://bugs.webkit.org/show_bug.cgi?id=134689 1945 1946 Reviewed by Darin Adler. 1947 1948 Gracefully handle if NetworkAgent.loadResource is unavailable. 1949 1950 * UserInterface/Controllers/SourceMapManager.js: 1951 (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): 1952 * UserInterface/Models/SourceMapResource.js: 1953 19542014-07-01 Jonathan Wells <jonowells@apple.com> 1955 1956 Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue 1957 https://bugs.webkit.org/show_bug.cgi?id=133997 1958 1959 Reviewed by Joseph Pecoraro. 1960 1961 CodeMirror 4 removed the style for hex colors from the CSS tokenizer. 1962 Feature has been added to CodeMirrorAdditions.js. 1963 1964 * UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color. 1965 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color. 1966 19672014-06-26 Jono Wells <jonowells@apple.com> 1968 1969 Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause 1970 https://bugs.webkit.org/show_bug.cgi?id=134313 1971 1972 Reviewed by Timothy Hatcher. 1973 1974 Changed alternate command to pause/resume from command-slash to command-backslash. 1975 Command-slash sets/unsets comments in all code editors. 1976 1977 * UserInterface/Models/KeyboardShortcut.js: Added Backslash. 1978 * UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash. 1979 19802014-06-25 Jono Wells <jonowells@apple.com> 1981 1982 Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start; 1983 https://bugs.webkit.org/show_bug.cgi?id=133515 1984 1985 Reviewed by Timothy Hatcher. 1986 1987 The CSS style declaration text editor uses the author's shortest instance of prefix whitespace 1988 to create an indentation baseline for the style editor. This needs to consider the possibility 1989 that there is no whitespace prefixing one of the rules. Also clarified a FIXME line. 1990 1991 * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace. 1992 19932014-06-25 Dana Burkart <dburkart@apple.com> 1994 1995 Add support for 5-tuple versioning. 1996 1997 Reviewed by David Farler. 1998 1999 * Configurations/Version.xcconfig: 2000 20012014-06-24 Jono Wells <jonowells@apple.com> 2002 2003 Web Inspector: clicking "Show All Nodes" button throws TypeError 2004 https://bugs.webkit.org/show_bug.cgi?id=133701 2005 2006 Reviewed by Timothy Hatcher. 2007 2008 The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the 2009 targeted TreeElement isn't contained within the visible DOM, for instance in the case of the 2010 "Show All Nodes" button immediately after it is pressed. 2011 2012 * UserInterface/Views/TreeOutline.js: 2013 (TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM. 2014 20152014-06-24 Jono Wells <jonowells@apple.com> 2016 2017 Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector 2018 https://bugs.webkit.org/show_bug.cgi?id=133699 2019 2020 Reviewed by Geoffrey Garen. 2021 2022 The call to element._createTooltipForNode() was failing because element was sometimes not a 2023 DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically). 2024 A check for type fixes this issue. 2025 2026 * UserInterface/Views/DOMTreeOutline.js: 2027 (WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode. 2028 20292014-06-21 Jono Wells <jonowells@apple.com> 2030 2031 Web Inspector: UI fonts should pull from system fonts automatically to whatever degree possible 2032 https://bugs.webkit.org/show_bug.cgi?id=133966 2033 2034 Reviewed by Timothy Hatcher. 2035 2036 Updated font families to use -webkit-system-font, and set this on the body to be 2037 inherited. Also made sure that popovers use Menlo as the default. Updated 2038 autocompletions with system font names. 2039 2040 * UserInterface/Models/CSSKeywordCompletions.js: Updated completions with available system fonts. 2041 2042 * UserInterface/Controllers/CodeMirrorGradientEditingController.css: 2043 * UserInterface/Views/Breakpoint.css: 2044 * UserInterface/Views/ButtonNavigationItem.css: 2045 * UserInterface/Views/ButtonToolbarItem.css: 2046 * UserInterface/Views/CSSStyleDeclarationSection.css: 2047 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: 2048 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: 2049 * UserInterface/Views/CodeMirrorOverrides.css: 2050 * UserInterface/Views/DataGrid.css: 2051 * UserInterface/Views/DebuggerDashboardView.css: 2052 * UserInterface/Views/DetailsSection.css: 2053 * UserInterface/Views/FindBanner.css: 2054 * UserInterface/Views/GoToLineDialog.css: 2055 * UserInterface/Views/HierarchicalPathComponent.css: 2056 * UserInterface/Views/Main.css: 2057 * UserInterface/Views/NavigationSidebarPanel.css: 2058 * UserInterface/Views/ProbeSetDataGrid.css: 2059 * UserInterface/Views/RulesStyleDetailsPanel.css: 2060 * UserInterface/Views/ScopeBar.css: 2061 * UserInterface/Views/SourceCodeTextEditor.css: 2062 * UserInterface/Views/TimelineDataGrid.css: 2063 * UserInterface/Views/TimelineRuler.css: 2064 * UserInterface/Views/TimelineSidebarPanel.css: 2065 Changes to fonts. Set default font stack to -webkit-system-font, sans-serif. Default size is 2066 11px. Only changes to this default size or changes to the font (to Menlo, monospace usually) remain. 2067 20682014-06-21 Joseph Pecoraro <pecoraro@apple.com> 2069 2070 Web Inspector: Esc in quick console no longer toggles console drawer 2071 https://bugs.webkit.org/show_bug.cgi?id=134068 2072 2073 Reviewed by Timothy Hatcher. 2074 2075 For Escape to toggle console behavior we were relying on the Escape 2076 keyboard event to propagate up to the window and be handled by 2077 QuickConsole's global keyboard shortcut. With CodeMirror 4, all 2078 editors have a default "Esc" key handler to reduce multiple selections 2079 to a single selection. Unfortunately this always prevents default, 2080 which our keyboard shortcut respects and doesn't toggle the console. 2081 2082 Workaround this by putting a specific handler for when a Console 2083 Prompt is empty and the Escape key is triggered. This does not go 2084 through the normal ConsolePrompt delegate because the delegate 2085 is never the QuickConsole, it is actually the JavaScript log. 2086 2087 * UserInterface/Views/ConsolePrompt.js: 2088 (WebInspector.ConsolePrompt): 2089 (WebInspector.ConsolePrompt.prototype.set escapeKeyHandlerWhenEmpty): 2090 (WebInspector.ConsolePrompt.prototype._handleEscapeKey): 2091 * UserInterface/Views/QuickConsole.js: 2092 (WebInspector.QuickConsole.this.prompt.escapeKeyHandlerWhenEmpty): 2093 (WebInspector.QuickConsole): 2094 20952014-06-18 James Craig <jcraig@apple.com> 2096 2097 Web Inspector: AXI: expose aria-relevant 2098 https://bugs.webkit.org/show_bug.cgi?id=130913 2099 2100 Reviewed by Joseph Pecoraro. 2101 2102 Expose ARIA live region relevance in Web Inspector. 2103 E.g. "Live: Assertive (Additions, Text)" 2104 2105 * Localizations/en.lproj/localizedStrings.js: New strings. 2106 * UserInterface/Models/DOMNode.js: One additional property passed. 2107 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property. 2108 21092014-06-18 Simon Fraser <simon.fraser@apple.com> 2110 2111 Add rebeccapurple to CSS named color list 2112 https://bugs.webkit.org/show_bug.cgi?id=133804 2113 2114 Reviewed by Jer Noble. 2115 2116 Add the named color "rebeccapurple" (#639). 2117 2118 * UserInterface/External/CodeMirror/css.js: 2119 * UserInterface/Models/CSSKeywordCompletions.js: 2120 * UserInterface/Models/Color.js: 2121 21222014-06-18 Jono Wells <jonowells@apple.com> 2123 2124 Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned 2125 https://bugs.webkit.org/show_bug.cgi?id=134012 2126 2127 Reviewed by Timothy Hatcher. 2128 2129 Removed a rule needed to align the placeholder for selectors in 2130 the style declation text editors with no rules declared in 2131 http://trac.webkit.org/changeset/170077. The necessary 2132 rule has been added back to fix the issue. 2133 2134 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: 2135 (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): 2136 21372014-06-17 Joseph Pecoraro <pecoraro@apple.com> 2138 2139 Web Inspector: PrettyPrinting regression on "var a=1" 2140 https://bugs.webkit.org/show_bug.cgi?id=134001 2141 2142 Reviewed by Timothy Hatcher. 2143 2144 Previously operators did not get a token type. After a CodeMirror 2145 update they now have a token type of "operator". 2146 2147 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 2148 * UserInterface/Views/CodeMirrorFormatters.js: 2149 21502014-06-17 Jono Wells <jonowells@apple.com> 2151 2152 Web Inspector: Two lines in CSS rule are hidden until resize or click 2153 https://bugs.webkit.org/show_bug.cgi?id=133951 2154 2155 Reviewed by Joseph Pecoraro. 2156 2157 Update to CodeMirror 4.2 fixed the issue. 2158 2159 * Tools/PrettyPrinting/codemirror.js: 2160 * Tools/PrettyPrinting/css.js: 2161 * Tools/PrettyPrinting/javascript.js: 2162 * UserInterface/External/CodeMirror/clojure.js: 2163 * UserInterface/External/CodeMirror/closebrackets.js: 2164 * UserInterface/External/CodeMirror/codemirror.js: 2165 * UserInterface/External/CodeMirror/coffeescript.js: 2166 * UserInterface/External/CodeMirror/comment.js: 2167 * UserInterface/External/CodeMirror/css.js: 2168 * UserInterface/External/CodeMirror/htmlmixed.js: 2169 * UserInterface/External/CodeMirror/javascript.js: 2170 * UserInterface/External/CodeMirror/livescript.js: 2171 * UserInterface/External/CodeMirror/matchbrackets.js: 2172 * UserInterface/External/CodeMirror/overlay.js: 2173 * UserInterface/External/CodeMirror/placeholder.js: 2174 * UserInterface/External/CodeMirror/runmode.js: 2175 * UserInterface/External/CodeMirror/sass.js: 2176 * UserInterface/External/CodeMirror/searchcursor.js: 2177 * UserInterface/External/CodeMirror/sql.js: 2178 * UserInterface/External/CodeMirror/xml.js: 2179 Update CodeMirror 4.1 to CodeMirror 4.2.0. 2180 21812014-06-17 Jono Wells <jonowells@apple.com> 2182 2183 Web Inspector: style declaration editor: visual highlight doesn't match actual selected text 2184 https://bugs.webkit.org/show_bug.cgi?id=133965 2185 2186 Reviewed by Joseph Pecoraro. 2187 2188 Update styles for css style editor to fix highlighting visual mismatch glitch. 2189 2190 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: 2191 (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): 2192 (.css-style-text-editor > .CodeMirror pre): 2193 (.css-style-text-editor.read-only > .CodeMirror pre): 2194 Updated styles to eliminate highlight mismatch by adjusting the padding and 2195 text-indent values. 2196 21972014-06-10 Brian J. Burg <burg@cs.washington.edu> 2198 2199 Web Inspector: recording is overused as both noun and verb in TimelineManager 2200 https://bugs.webkit.org/show_bug.cgi?id=132878 2201 2202 Reviewed by Joseph Pecoraro. 2203 2204 Rename most uses of the verb 'recording' to the verb 'capturing' for timelines. 2205 Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing(). 2206 2207 When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'), 2208 it will be very confusing to have 'recording' as a plural noun and verb in the model. 2209 2210 * UserInterface/Controllers/TimelineManager.js: 2211 (WebInspector.TimelineManager): 2212 (WebInspector.TimelineManager.prototype.get activeRecording): 2213 (WebInspector.TimelineManager.prototype.isCapturing): 2214 (WebInspector.TimelineManager.prototype.startCapturing): 2215 (WebInspector.TimelineManager.prototype.stopCapturing): 2216 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 2217 (WebInspector.TimelineManager.prototype.eventRecorded): 2218 (WebInspector.TimelineManager.prototype._addRecord): 2219 (WebInspector.TimelineManager.prototype._startAutoCapturing): 2220 (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): 2221 (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): 2222 (WebInspector.TimelineManager.prototype._mainResourceDidChange): 2223 (WebInspector.TimelineManager.prototype._resourceWasAdded): 2224 (WebInspector.TimelineManager.prototype.get recording): Deleted. 2225 (WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted. 2226 (WebInspector.TimelineManager.prototype.startRecording): Deleted. 2227 (WebInspector.TimelineManager.prototype.stopRecording): Deleted. 2228 (WebInspector.TimelineManager.prototype._startAutoRecording): Deleted. 2229 * UserInterface/Models/DefaultDashboard.js: 2230 (WebInspector.DefaultDashboard): 2231 (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): 2232 (WebInspector.DefaultDashboard.prototype._capturingStopped): 2233 (WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted. 2234 * UserInterface/Protocol/InspectorFrontendAPI.js: 2235 (InspectorFrontendAPI.isTimelineProfilingEnabled): 2236 (InspectorFrontendAPI.setTimelineProfilingEnabled): 2237 * UserInterface/Views/TimelineContentView.js: 2238 (WebInspector.TimelineContentView.prototype._capturingStarted): 2239 (WebInspector.TimelineContentView.prototype._capturingStopped): 2240 (WebInspector.TimelineContentView.prototype._recordingStarted): Deleted. 2241 (WebInspector.TimelineContentView.prototype._recordingStopped): Deleted. 2242 * UserInterface/Views/TimelineSidebarPanel.js: 2243 (WebInspector.TimelineSidebarPanel.prototype.initialize): 2244 (WebInspector.TimelineSidebarPanel.prototype._capturingStarted): 2245 (WebInspector.TimelineSidebarPanel.prototype._capturingStopped): 2246 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver): 2247 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut): 2248 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): 2249 (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked): 2250 (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted. 2251 (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted. 2252 22532014-06-09 Jono Wells <jonowells@apple.com> 2254 2255 REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children 2256 https://bugs.webkit.org/show_bug.cgi?id=129696 2257 2258 Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button 2259 before the expand function is called in TreeElement before _childrenListNode has been set. 2260 2261 Reviewed by Joseph Pecoraro. 2262 2263 * UserInterface/Views/TreeOutline.js: 2264 (TreeOutline.prototype.appendChild): 2265 (TreeOutline.prototype.insertChild): 2266 Added check for existance of this._childrenListNode. 2267 22682014-05-29 Timothy Hatcher <timothy@apple.com> 2269 2270 Fix an exception in InspectorBackend.Command.prototype.supports. 2271 2272 https://bugs.webkit.org/show_bug.cgi?id=133384 2273 2274 Reviewed by Joseph Pecoraro. 2275 2276 * UserInterface/Protocol/InspectorBackend.js: 2277 (InspectorBackend.Command.prototype.supports): Use some not any. 2278 22792014-05-19 Jono Wells <jonowells@apple.com> 2280 2281 Web Inspector: Inspect Element sometimes does not select the right DOM Node 2282 https://bugs.webkit.org/show_bug.cgi?id=127938 2283 2284 Reviewed by Joseph Pecoraro. 2285 2286 Inspecting an element when the inspector is in a closed state was selecting the node but then 2287 overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called. 2288 Now when an element is inspected a flag prevents the restore from taking place. 2289 2290 * UserInterface/Controllers/DOMTreeManager.js: 2291 (WebInspector.DOMTreeManager): 2292 (WebInspector.DOMTreeManager.prototype.inspectElement): 2293 (WebInspector.DOMTreeManager.prototype.inspectNodeObject): 2294 Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed. 2295 2296 (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed): 2297 Added. 2298 2299 * UserInterface/Views/FrameDOMTreeContentView.js: 2300 (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable): 2301 Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed. 2302 23032014-05-15 Jono Wells <jonowells@apple.com> 2304 2305 Web Inspector: Should remove JSDoc comment blocks. 2306 https://bugs.webkit.org/show_bug.cgi?id=132984 2307 2308 Reviewed by Timothy Hatcher. 2309 2310 Remove JSDoc comment blocks. These are no longer necessary. 2311 2312 * UserInterface/Base/Main.js: 2313 * UserInterface/Base/Object.js: 2314 * UserInterface/Controllers/DOMTreeManager.js: 2315 * UserInterface/Models/CSSCompletions.js: 2316 * UserInterface/Models/DOMNode.js: 2317 * UserInterface/Models/SourceMap.js: 2318 * UserInterface/Protocol/InspectorBackend.js: 2319 * UserInterface/Protocol/RemoteObject.js: 2320 * UserInterface/Views/ApplicationCacheFrameContentView.js: 2321 * UserInterface/Views/ConsoleMessage.js: 2322 * UserInterface/Views/ConsoleMessageImpl.js: 2323 * UserInterface/Views/ContextMenu.js: 2324 * UserInterface/Views/DOMTreeElement.js: 2325 * UserInterface/Views/DOMTreeOutline.js: 2326 * UserInterface/Views/DOMTreeUpdater.js: 2327 * UserInterface/Views/DataGrid.js: 2328 * UserInterface/Views/DatabaseContentView.js: 2329 * UserInterface/Views/EditingSupport.js: 2330 * UserInterface/Views/ObjectPropertiesSection.js: 2331 * UserInterface/Views/Popover.js: 2332 * UserInterface/Views/TreeOutline.js: 2333 JSDoc style comment blocks removed. 2334 23352014-05-13 Radu Stavila <stavila@adobe.com> 2336 2337 Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged 2338 https://bugs.webkit.org/show_bug.cgi?id=132731 2339 2340 Reviewed by Joseph Pecoraro. 2341 2342 Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7 2343 and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event. 2344 2345 * UserInterface/Models/ScriptTimelineRecord.js: 2346 * UserInterface/Protocol/CSSObserver.js: 2347 (WebInspector.CSSObserver.prototype.regionLayoutUpdated): 2348 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: 2349 * Versions/Inspector-iOS-7.0.json: 2350 23512014-05-12 Brent Fulgham <bfulgham@apple.com> 2352 2353 [Win] Correct Cygwin Path Confusion in WebInspectorUI Build 2354 https://bugs.webkit.org/show_bug.cgi?id=132826 2355 2356 Reviewed by Joseph Pecoraro. 2357 2358 * Scripts/copy-user-interface-resources.pl: If the build is running 2359 under Cygwin, be sure to use '/usr/bin/python', instead of just 2360 'python' to avoid build errors. 2361 23622014-05-09 Alberto Garcia <berto@igalia.com> 2363 2364 jsmin.py license header confusing, mentions non-free license 2365 https://bugs.webkit.org/show_bug.cgi?id=123665 2366 2367 Reviewed by Darin Adler. 2368 2369 Pull the most recent version from upstream, which has a clear 2370 license. 2371 2372 * Scripts/jsmin.py: 2373 23742014-05-08 Jono Wells <jonowells@apple.com> 2375 2376 Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream" 2377 https://bugs.webkit.org/show_bug.cgi?id=132703 2378 2379 Reviewed by Timothy Hatcher. 2380 2381 The CodeMirror 4 update brought with it a change in the XML mode that 2382 causes our XML mode extension to fail to consume empty paired quotes 2383 correctly. 2384 2385 * UserInterface/Views/CodeMirrorAdditions.js: 2386 Updated extendedXMLToken() to properly handle empty paired quotes. 2387 23882014-05-08 Jono Wells <jonowells@apple.com> 2389 2390 Web Inspector: Selecting frame in debugger sidebar doesn't reveal code 2391 https://bugs.webkit.org/show_bug.cgi?id=132112 2392 2393 Reviewed by Joseph Pecoraro. 2394 2395 WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking 2396 only one of the two content trees in the DebuggerSidebarPanel instance. Added 2397 base getter elementIsSelected to NavigationSidebarPanel and extended it in 2398 DebuggerSidebarPanel. 2399 2400 * UserInterface/Base/Main.js: 2401 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check `selectedSidebarPanel.elementIsSelected`. 2402 * UserInterface/Views/DebuggerSidebarPanel.js: 2403 (WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees. 2404 * UserInterface/Views/NavigationSidebarPanel.js: 2405 (WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation. 2406 24072014-05-06 Radu Stavila <stavila@adobe.com> 2408 2409 Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI 2410 https://bugs.webkit.org/show_bug.cgi?id=132566 2411 2412 Reviewed by Antti Koivisto. 2413 2414 The regionOversetChange event was missing from the iOS7 WebInspector. 2415 2416 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: 2417 * Versions/Inspector-iOS-7.0.json: 2418 24192014-05-05 Radu Stavila <stavila@adobe.com> 2420 2421 [CSS Regions] Remove regionLayoutUpdate event 2422 https://bugs.webkit.org/show_bug.cgi?id=132564 2423 2424 Reviewed by Simon Fraser. 2425 2426 The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 2427 regionOversetChange and regionFragmentChange. 2428 2429 * UserInterface/Controllers/DOMTreeManager.js: 2430 (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted. 2431 * UserInterface/Models/ScriptTimelineRecord.js: 2432 * UserInterface/Protocol/CSSObserver.js: 2433 (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted. 2434 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: 2435 * Versions/Inspector-iOS-7.0.json: 2436 24372014-05-02 Jono Wells <jonowells@apple.com> 2438 2439 Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers. 2440 https://bugs.webkit.org/show_bug.cgi?id=132149 2441 2442 Reviewed by Joseph Pecoraro. 2443 2444 The update to CodeMirror 4 included dramatic changes to the CSS mode, 2445 particularly the way it handles tokens. `state.stack` is gone, replaced 2446 by `state.context`. 2447 2448 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 2449 * Tools/PrettyPrinting/codemirror.js: 2450 * UserInterface/External/CodeMirror/codemirror.js: 2451 * UserInterface/External/CodeMirror/livescript.js: 2452 * UserInterface/External/CodeMirror/runmode.js: 2453 Updates from ToT CodeMirror. 2454 2455 * UserInterface/Controllers/CodeMirrorCompletionController.js: 2456 (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): 2457 * UserInterface/Views/CodeMirrorAdditions.js: 2458 * UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters. 2459 Changes to match structural changes to the state object and changes to expected values of `lastToken`. 2460 24612014-04-30 Brian J. Burg <burg@cs.washington.edu> 2462 2463 Web Inspector: clean up and decompose InspectorBackend functionality 2464 https://bugs.webkit.org/show_bug.cgi?id=132387 2465 2466 Reviewed by Joseph Pecoraro. 2467 2468 Aside from renaming variables and other minor cleanup, this patch 2469 changes the following: 2470 2471 When calling a command, only store callback data when a callback is passed. 2472 Use explicit model objects for the agent, event, enum, and commands. 2473 Separate the agent models from encoding and decoding of JSON messages. 2474 2475 * UserInterface/Protocol/InspectorBackend.js: 2476 (InspectorBackendClass): 2477 (InspectorBackendClass.prototype.registerCommand): 2478 (InspectorBackendClass.prototype.registerEnum): 2479 (InspectorBackendClass.prototype.registerEvent): 2480 (InspectorBackendClass.prototype.registerDomainDispatcher): 2481 (InspectorBackendClass.prototype.dispatch): 2482 (InspectorBackendClass.prototype.runAfterPendingDispatches): 2483 (InspectorBackendClass.prototype._agentForDomain): 2484 (InspectorBackendClass.prototype._registerSentCommand): 2485 (InspectorBackendClass.prototype._dispatchCallback): 2486 (InspectorBackendClass.prototype._dispatchEvent): 2487 (InspectorBackendClass.prototype._invokeCommand): 2488 (InspectorBackendClass.prototype._reportProtocolError): 2489 (InspectorBackend.Agent): 2490 (InspectorBackend.Agent.prototype.get domainName): 2491 (InspectorBackend.Agent.prototype.set dispatcher): 2492 (InspectorBackend.Agent.prototype.addEnum): 2493 (InspectorBackend.Agent.prototype.addCommand): 2494 (InspectorBackend.Agent.prototype.addEvent): 2495 (InspectorBackend.Agent.prototype.getEvent): 2496 (InspectorBackend.Agent.prototype.dispatchEvent): 2497 (InspectorBackend.Command): 2498 (InspectorBackend.Command.create): 2499 (InspectorBackend.Command.prototype.get qualifiedName): 2500 (InspectorBackend.Command.prototype.get commandName): 2501 (InspectorBackend.Command.prototype.get callSignature): 2502 (InspectorBackend.Command.prototype.get replySignature): 2503 (InspectorBackend.Command.prototype.invoke): 2504 (InspectorBackend.Command.prototype.supports): 2505 (InspectorBackend.Command.prototype._invokeWithArguments): 2506 (InspectorBackend.Event): 2507 (InspectorBackend.Enum): 2508 (InspectorBackendClass.prototype.callback): Deleted. 2509 (InspectorBackendClass.prototype._registerPendingResponse): Deleted. 2510 (InspectorBackendClass.prototype._invokeMethod): Deleted. 2511 (InspectorBackendClass.prototype._getAgent): Deleted. 2512 (InspectorBackendClass.prototype.reportProtocolError): Deleted. 2513 (InspectorBackendCommand): Deleted. 2514 (InspectorBackendCommand.create): Deleted. 2515 (InspectorBackendCommand.prototype.invoke): Deleted. 2516 (InspectorBackendCommand.prototype.supports): Deleted. 2517 (InspectorBackendCommand.prototype._invokeWithArguments): Deleted. 2518 25192014-04-29 Brian J. Burg <burg@cs.washington.edu> 2520 2521 Web Inspector: reduce per-protocol method function creation in InspectorBackend 2522 https://bugs.webkit.org/show_bug.cgi?id=130701 2523 2524 Reviewed by Timothy Hatcher. 2525 2526 Instead of creating 4 bound functions for every backend method on startup, we 2527 can share common functionality on the InspectorBackendCommand prototype. This 2528 also splits the various client-facing protocol introspection mechanisms from 2529 the message encoding/decoding code. 2530 2531 We use a workaround to make the command instances themselves callable as well 2532 as having .invoke, .promise, and .supports. InspectorAgent.methodName returns a 2533 trampoline function that performs the default method invocation. The trampoline's 2534 __proto__ is patched to point to InspectorBackendClass.prototype, and the command 2535 instance is saved in the closure and on the trampoline function itself. 2536 2537 * UserInterface/Protocol/InspectorBackend.js: 2538 (InspectorBackendClass.prototype._registerPendingResponse): 2539 (InspectorBackendClass.prototype._invokeMethod): 2540 (InspectorBackendClass.prototype.registerCommand): 2541 (InspectorBackendClass.prototype.registerEvent): 2542 (InspectorBackendCommand): 2543 (.callable): 2544 (InspectorBackendCommand.create): 2545 (InspectorBackendCommand.prototype.invoke): 2546 (InspectorBackendCommand.prototype.promise): 2547 (InspectorBackendCommand.prototype.supports): 2548 (InspectorBackendCommand.prototype._invokeWithArguments): 2549 (InspectorBackendClass.prototype._wrap): Deleted. 2550 (InspectorBackendClass.prototype._invoke): Deleted. 2551 (InspectorBackendClass.prototype._promise): Deleted. 2552 (InspectorBackendClass.prototype._supports): Deleted. 2553 (InspectorBackendClass.prototype._sendMessageToBackend): Deleted. 2554 (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject): Deleted. 2555 (InspectorBackendClass.prototype.sendMessageObjectToBackend): Deleted. 2556 25572014-04-29 Brian J. Burg <burg@cs.washington.edu> 2558 2559 Web Inspector: DataGrid columns should be objects not Maps 2560 https://bugs.webkit.org/show_bug.cgi?id=129383 2561 2562 Reviewed by Timothy Hatcher. 2563 2564 This reverts an earlier conversion to maps, so that column properties 2565 (which rarely change) can be optimized. 2566 2567 String literals for column properties have been preserved so columns 2568 can be easily converted into objects with methods. 2569 2570 * UserInterface/Views/DataGrid.js: 2571 (WebInspector.DataGrid.prototype.autoSizeColumns): 2572 (WebInspector.DataGrid.prototype.set var): 2573 (WebInspector.DataGrid.prototype.set if): 2574 (WebInspector.DataGrid.prototype.insertColumn): 2575 (WebInspector.DataGrid.prototype.removeColumn.get this): 2576 (WebInspector.DataGrid.prototype.removeColumn): 2577 (WebInspector.DataGrid.prototype.columnWidthsMap): 2578 (WebInspector.DataGrid.prototype.applyColumnWidthsMap): 2579 (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): 2580 (WebInspector.DataGridNode.prototype.createCell.get if): 2581 (WebInspector.DataGridNode.prototype.createCell): 2582 (WebInspector.DataGrid.prototype.get length): Deleted. 2583 * UserInterface/Views/ProbeSetDataGrid.js: 2584 (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this): 2585 (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged): 2586 * UserInterface/Views/TimelineDataGrid.js: 2587 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here): 2588 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): 2589 25902014-04-25 Jonathan Wells <jonowells@apple.com> 2591 2592 Web Inspector: DOM Tree debugger popover obscures dashboard 2593 https://bugs.webkit.org/show_bug.cgi?id=132205 2594 2595 Reviewed by Timothy Hatcher. 2596 2597 * UserInterface/Views/DashboardContainerView.css: 2598 (.toolbar .dashboard.visible): Change z-index to 1. Force stacking context. 2599 * UserInterface/Views/Popover.css: 2600 (.popover): Add z-index: 100. 2601 26022014-04-24 Timothy Hatcher <timothy@apple.com> 2603 2604 Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes 2605 https://bugs.webkit.org/show_bug.cgi?id=132113 2606 2607 Reviewed by Joseph Pecoraro. 2608 2609 * UserInterface/Views/DebuggerDashboardView.css: 2610 (.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp. 2611 26122014-04-24 Jonathan Wells <jonowells@apple.com> 2613 2614 Web Inspector: Should update to CodeMirror 4.1 2615 https://bugs.webkit.org/show_bug.cgi?id=132140 2616 2617 Reviewed by Timothy Hatcher. 2618 2619 Updated to CodeMirror 4.1, which contains several bugfixes. 2620 Release notes: http://codemirror.net/doc/releases.html#v4 2621 2622 * Tools/PrettyPrinting/codemirror.js: 2623 * Tools/PrettyPrinting/css.js: 2624 * Tools/PrettyPrinting/javascript.js: 2625 * UserInterface/External/CodeMirror/codemirror.js: 2626 * UserInterface/External/CodeMirror/css.js: 2627 * UserInterface/External/CodeMirror/javascript.js: 2628 * UserInterface/External/CodeMirror/livescript.js: 2629 * UserInterface/External/CodeMirror/runmode.js: 2630 * UserInterface/External/CodeMirror/xml.js: 2631 Updated to CodeMirror 4.1. 2632 26332014-04-24 Jonathan Wells <jonowells@apple.com> 2634 2635 Web Inspector: CSS autofill suggests properties instead of values when values are needed 2636 https://bugs.webkit.org/show_bug.cgi?id=132090 2637 2638 Reviewed by Joseph Pecoraro. 2639 2640 Updates are required to the CodeMirror helpers to be compatible with 2641 CodeMirror 4. Some of those changes have been made to fix an issue 2642 with CSS autofill, CSS code coloring, and also 2643 https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that 2644 CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different 2645 data structure. All references to state.stack are obsolete. Many 2646 are fixed here and more will be in an upcoming patch. 2647 2648 * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties. 2649 * UserInterface/Controllers/CodeMirrorCompletionController.js: 2650 (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection. 2651 * UserInterface/External/CodeMirror/less.js: Removed. 2652 * UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly. 2653 * UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties. 2654 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes. 2655 26562014-04-24 Antoine Quint <graouts@webkit.org> 2657 2658 Web Inspector: gradient editor does not appear for linear-gradient with no specified angle 2659 https://bugs.webkit.org/show_bug.cgi?id=132083 2660 2661 Reviewed by Timothy Hatcher. 2662 2663 Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color. 2664 2665 * UserInterface/Models/Gradient.js: 2666 (WebInspector.LinearGradient.linearGradientWithComponents): 2667 26682014-04-22 Brent Fulgham <bfulgham@apple.com> 2669 2670 [Win] Support Python 2.7 in Cygwin 2671 https://bugs.webkit.org/show_bug.cgi?id=132023 2672 2673 Reviewed by Michael Saboff. 2674 2675 * WebInspectorUI.vcxproj/build-webinspectorui.sh: use 2676 proper path to Python under Cygwin. 2677 26782014-04-18 Katie Madonna <madonnk@gmail.com> 2679 2680 Web Inspector: add entries for probe samples in the JS/Events timeline UI 2681 https://bugs.webkit.org/show_bug.cgi?id=131173 2682 2683 Reviewed by Timothy Hatcher. 2684 2685 Create probe sample fired entries for the JS/Events timeline UI. 2686 2687 * Localizations/en.lproj/localizedStrings.js: 2688 * UserInterface/Controllers/ProbeManager.js: 2689 (WebInspector.ProbeManager.prototype.probeForIdentifier): Added. 2690 * UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded. 2691 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 2692 (WebInspector.TimelineManager.prototype.eventRecorded): 2693 * UserInterface/Images/TimelineRecordProbeSampled.svg: Added. 2694 * UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case. 2695 * UserInterface/Views/TimelineIcons.css: 2696 (.probe-record .icon): Added. 2697 * UserInterface/Views/TimelineRecordTreeElement.js: 2698 (WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded. 2699 27002014-04-15 Timothy Hatcher <timothy@apple.com> 2701 2702 Web Inspector: CodeMirror LICENSE is not properly added to combined files 2703 https://bugs.webkit.org/show_bug.cgi?id=131674 2704 2705 Reviewed by Darin Adler. 2706 2707 * Scripts/copy-user-interface-resources.pl: Use $CODE_MIRROR_LICENSE instead 2708 for CodeMirror.css and CodeMirror.js. 2709 27102014-04-14 Jono Wells <jonowells@apple.com> 2711 2712 Update to CodeMirror 4.0. 2713 https://bugs.webkit.org/show_bug.cgi?id=130019 2714 2715 The CodeMirror 4.0 library adds multiple selections and the ability to 2716 undo/redo selections. Selections are made by holding the Command (Cmd) key 2717 and clicking into an editor, or by holding Option (Alt) and making a block 2718 selection followed by entering a character or moving the cursor. 2719 2720 Reviewed by Timothy Hatcher. 2721 2722 * Scripts/update-codemirror-resources.rb: 2723 * Scripts/update-pretty-printer.rb: 2724 Update scripts to reflect updated locations for CodeMirror files. 2725 No longer copies LESS mode file as this has been integrated into CSS mode 2726 in CodeMirror 4.0. 2727 2728 * Tools/PrettyPrinting/codemirror.css: 2729 * Tools/PrettyPrinting/codemirror.js: 2730 * Tools/PrettyPrinting/css.js: 2731 * Tools/PrettyPrinting/javascript.js: 2732 * UserInterface/External/CodeMirror/clojure.js: 2733 * UserInterface/External/CodeMirror/closebrackets.js: 2734 * UserInterface/External/CodeMirror/codemirror.css: 2735 * UserInterface/External/CodeMirror/codemirror.js: 2736 * UserInterface/External/CodeMirror/coffeescript.js: 2737 * UserInterface/External/CodeMirror/comment.js: 2738 * UserInterface/External/CodeMirror/css.js: 2739 * UserInterface/External/CodeMirror/htmlmixed.js: 2740 * UserInterface/External/CodeMirror/javascript.js: 2741 * UserInterface/External/CodeMirror/livescript.js: 2742 * UserInterface/External/CodeMirror/matchbrackets.js: 2743 * UserInterface/External/CodeMirror/overlay.js: 2744 * UserInterface/External/CodeMirror/placeholder.js: 2745 * UserInterface/External/CodeMirror/runmode.js: 2746 * UserInterface/External/CodeMirror/sass.js: 2747 * UserInterface/External/CodeMirror/searchcursor.js: 2748 * UserInterface/External/CodeMirror/sql.js: 2749 * UserInterface/External/CodeMirror/xml.js: 2750 Update to CodeMirror 4.0. 2751 2752 * UserInterface/Main.html: Remove less.js which is now part of css.js. 2753 2754 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: 2755 * UserInterface/Views/CSSStyleDeclarationTextEditor.js: 2756 (WebInspector.CSSStyleDeclarationTextEditor.prototype.): 2757 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 2758 (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode): 2759 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: 2760 Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js 2761 to match CodeMirror API updates (doc.removeLine() has been removed, so 2762 replaceRange() is used instead). Also the tokenTrackingController is now enabled in the 2763 CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key 2764 is pressed instead of the Command (Cmd) key so as not to conflict with multiple 2765 cursor placement in the CodeMirror update. 2766 27672014-04-08 Brent Fulgham <bfulgham@apple.com> 2768 2769 [Windows] Generate Optimized WebInspectorUI in Release Build 2770 https://bugs.webkit.org/show_bug.cgi?id=120120 2771 2772 Reviewed by Timothy Hatcher. 2773 2774 * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh. 2775 * Scripts/copy-user-interface-resources.sh: Removed. 2776 * Scripts/remove-console-asserts.pl: 2777 * WebInspectorUI.vcxproj/WebInspectorUI.make: Added. 2778 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style. 2779 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto. 2780 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should 2781 be done in the new build-webinspectorui.sh file. 2782 * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added. 2783 * WebInspectorUI.xcodeproj/project.pbxproj: 2784 27852014-04-08 Timothy Hatcher <timothy@apple.com> 2786 2787 Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676. 2788 https://bugs.webkit.org/show_bug.cgi?id=131384 2789 2790 Reviewed by Joseph Pecoraro. 2791 2792 * APPLE_IMAGES_LICENSE.rtf: 2793 27942014-04-08 Timothy Hatcher <timothy@apple.com> 2795 2796 Clean up old protocol JSON files to better match the latest 2797 https://bugs.webkit.org/show_bug.cgi?id=131308 2798 2799 Reviewed by Joseph Pecoraro. 2800 2801 * Versions/Inspector-iOS-6.0.json: 2802 * Versions/Inspector-iOS-7.0.json: 2803 28042014-04-05 Brian J. Burg <burg@cs.washington.edu> 2805 2806 Enable WEB_REPLAY for PLATFORM(MAC) 2807 https://bugs.webkit.org/show_bug.cgi?id=130700 2808 2809 Reviewed by Timothy Hatcher. 2810 2811 If the ReplayAgent is available, then add an option to toggle between the 2812 replay interface and normal Timeline interface from the timeline 2813 sidebar panel. The option is available through a context menu item on the 2814 sidebar panel's top navigation bar. 2815 2816 If web replay not available, just show the non-replay interface. 2817 2818 * Localizations/en.lproj/localizedStrings.js: 2819 * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting. 2820 (WebInspector.loaded): 2821 2822 * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay 2823 interface elements, but only show them if showReplayInterfaceSetting is enabled. 2824 (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added 2825 (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added. 2826 (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added. 2827 28282014-04-05 Brian J. Burg <burg@cs.washington.edu> 2829 2830 Web Inspector: remove unused metrics and commands from the Timeline agent 2831 https://bugs.webkit.org/show_bug.cgi?id=131184 2832 2833 Reviewed by Timothy Hatcher. 2834 2835 Remove the Memory domain from old protocol versions. Remove enum values 2836 BeginFrame and CompositeLayers. Remove arguments to Timeline.start. 2837 Remove miscellaneous Timeline commands that no longer exist and were never used. 2838 2839 * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: 2840 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: 2841 * Versions/Inspector-iOS-6.0.json: 2842 * Versions/Inspector-iOS-7.0.json: 2843 28442014-04-03 Brian J. Burg <burg@cs.washington.edu> 2845 2846 Web Inspector: hook up probe samples to TimelineAgent's records 2847 https://bugs.webkit.org/show_bug.cgi?id=131127 2848 2849 Reviewed by Timothy Hatcher. 2850 2851 * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type. 2852 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 2853 (WebInspector.TimelineManager.prototype.eventRecorded): 2854 28552014-04-04 Joseph Pecoraro <pecoraro@apple.com> 2856 2857 Web Inspector: JSContext inspection Resource search throws exception 2858 https://bugs.webkit.org/show_bug.cgi?id=131253 2859 2860 Reviewed by Timothy Hatcher. 2861 2862 Fail gracefully when none of the supported search backends are available. 2863 In JSContext inspection the DOM and Page agents are unavailable. 2864 2865 * UserInterface/Views/ResourceSidebarPanel.js: 2866 (WebInspector.ResourceSidebarPanel.prototype.performSearch): 2867 28682014-04-04 Joseph Pecoraro <pecoraro@apple.com> 2869 2870 Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode') 2871 https://bugs.webkit.org/show_bug.cgi?id=129857 2872 2873 Reviewed by Timothy Hatcher. 2874 2875 When inspecting a JSContext, there is no main frame resource, so 2876 attempting to show it was resulting in a runtime error. 2877 Instead, check to see if there is a main frame resource, fallback 2878 to selecting the first tree element. 2879 2880 * UserInterface/Base/Main.js: 2881 (WebInspector.toggleConsoleView): 2882 * UserInterface/Views/DebuggerSidebarPanel.js: 2883 (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): 2884 * UserInterface/Views/ResourceSidebarPanel.js: 2885 (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): 2886 28872014-04-04 Ion Rosca <rosca@adobe.com> 2888 2889 [CSS Blending] Add compositing reason for isolation. 2890 https://bugs.webkit.org/show_bug.cgi?id=131153 2891 2892 Reviewed by Joseph Pecoraro. 2893 2894 * Localizations/en.lproj/localizedStrings.js: 2895 * UserInterface/Views/LayerTreeSidebarPanel.js: 2896 (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons): 2897 28982014-04-02 Timothy Hatcher <timothy@apple.com> 2899 2900 Remove Input domain from the Web Inspector protocol. 2901 2902 https://bugs.webkit.org/show_bug.cgi?id=131073 2903 2904 Reviewed by Joseph Pecoraro. 2905 2906 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated. 2907 * Versions/Inspector-iOS-7.0.json: Removed Input domain. 2908 29092014-04-01 Timothy Hatcher <timothy@apple.com> 2910 2911 Remove HeapProfiler from the Web Inspector protocol. 2912 2913 https://bugs.webkit.org/show_bug.cgi?id=131070 2914 2915 Reviewed by Joseph Pecoraro. 2916 2917 * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated. 2918 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto. 2919 * Versions/Inspector-iOS-6.0.json: Removed heap related stuff. 2920 * Versions/Inspector-iOS-7.0.json: Ditto. 2921 29222014-04-01 Joseph Pecoraro <pecoraro@apple.com> 2923 2924 Web Inspector: Remove stale localStorage deletion transition code 2925 https://bugs.webkit.org/show_bug.cgi?id=131061 2926 2927 Reviewed by Timothy Hatcher. 2928 2929 * UserInterface/Base/ImageUtilities.js: 2930 This code has been in for a while. We have transitioned to Web SQL. 2931 29322014-04-01 Zoltan Horvath <zoltan@webkit.org> 2933 2934 [CSS Exclusions] Remove exclusions parsing support 2935 https://bugs.webkit.org/show_bug.cgi?id=131046 2936 2937 Reviewed by David Hyatt. 2938 2939 * UserInterface/Models/CSSKeywordCompletions.js: 2940 29412014-04-01 Timothy Hatcher <timothy@apple.com> 2942 2943 Remove the rest of the old Canvas inspection support. 2944 2945 https://bugs.webkit.org/show_bug.cgi?id=131066 2946 2947 Reviewed by Joseph Pecoraro. 2948 2949 * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated. 2950 * Versions/Inspector-iOS-7.0.json: Removed Canvas domain. 2951 29522014-03-28 James Craig <jcraig@apple.com> 2953 2954 Web Inspector: AXI: support for live regions 2955 https://bugs.webkit.org/show_bug.cgi?id=130725 2956 2957 Reviewed by Timothy Hatcher. 2958 2959 Initial support for @aria-live, @aria-atomic, and @aria-busy. 2960 2961 * Localizations/en.lproj/localizedStrings.js: 2962 * UserInterface/Models/DOMNode.js: 2963 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 2964 * UserInterface/Views/Main.css: 2965 29662014-03-28 Joseph Pecoraro <pecoraro@apple.com> 2967 2968 Web Inspector: console.warn is showing as error instead of warning 2969 https://bugs.webkit.org/show_bug.cgi?id=130921 2970 2971 Reviewed by Timothy Hatcher. 2972 2973 * UserInterface/Models/DefaultDashboard.js: 2974 (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType): 2975 Use our enums instead of hardcoded strings. 2976 29772014-03-28 James Craig <jcraig@apple.com> 2978 2979 Web Inspector: AXI: expose what elements get generic "clickable" status 2980 https://bugs.webkit.org/show_bug.cgi?id=130721 2981 2982 Reviewed by Timothy Hatcher. 2983 2984 Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler. 2985 2986 * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string. 2987 * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId. 2988 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row. 2989 29902014-03-27 James Craig <jcraig@apple.com> 2991 2992 Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds 2993 https://bugs.webkit.org/show_bug.cgi?id=130827 2994 2995 Reviewed by Timothy Hatcher. 2996 2997 UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector. 2998 2999 * Localizations/en.lproj/localizedStrings.js: 3000 * UserInterface/Models/DOMNode.js: 3001 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3002 30032014-03-27 Antoine Quint <graouts@webkit.org> 3004 3005 Web Inspector: clearing the console log doesn't update the activity viewer 3006 https://bugs.webkit.org/show_bug.cgi?id=130774 3007 3008 Reviewed by Joseph Pecoraro. 3009 3010 Ensure we take the changes made to the ivars into account on the view. 3011 3012 * UserInterface/Models/DefaultDashboard.js: 3013 (WebInspector.DefaultDashboard.prototype._consoleWasCleared): 3014 30152014-03-27 Brent Fulgham <bfulgham@apple.com> 3016 3017 [Win] Correct handling of autogenerated WebInspectorUI files 3018 https://bugs.webkit.org/show_bug.cgi?id=130846 3019 3020 Reviewed by Joseph Pecoraro. 3021 3022 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the 3023 'Protocol' subdirectory of the WebInspectorUI directory. 3024 30252014-03-25 James Craig <jcraig@apple.com> 3026 3027 Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode 3028 https://bugs.webkit.org/show_bug.cgi?id=130712 3029 3030 Reviewed by Timothy Hatcher. 3031 3032 Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode. 3033 3034 * Localizations/en.lproj/localizedStrings.js: 3035 * UserInterface/Models/DOMNode.js: 3036 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3037 30382014-03-25 Martin Robinson <mrobinson@igalia.com> 3039 3040 [GTK] Remove the autotools build 3041 https://bugs.webkit.org/show_bug.cgi?id=130717 3042 3043 Reviewed by Anders Carlsson. 3044 3045 * GNUmakefile.am: Removed. 3046 30472014-03-24 Timothy Hatcher <timothy@apple.com> 3048 3049 Lazy load source code referred to from the source map, instead of when 3050 the source code is revealed in the Resources sidebar. 3051 3052 https://bugs.webkit.org/show_bug.cgi?id=130625 3053 3054 Reviewed by Joseph Pecoraro. 3055 3056 * UserInterface/Models/SourceMapResource.js: 3057 (WebInspector.SourceMapResource): Set up the type info here so it can be used to 3058 dispaly the right icon in the sidebar. 3059 (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested. 3060 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded): 3061 Reset finished and remove the type change dance we had before. 3062 * UserInterface/Views/SourceMapResourceTreeElement.js: 3063 (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here. 3064 30652014-03-23 James Craig <jcraig@apple.com> 3066 3067 Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls. 3068 https://bugs.webkit.org/show_bug.cgi?id=130635 3069 3070 Reviewed by Timothy Hatcher. 3071 3072 Support for @aria-owns, @aria-controls, and @aria-flowto. 3073 3074 * Localizations/en.lproj/localizedStrings.js: 3075 * UserInterface/Models/DOMNode.js: 3076 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3077 30782014-03-21 James Craig <jcraig@apple.com> 3079 3080 Web Inspector: AXI: Expose Accessibility Tree children of the selected node 3081 https://bugs.webkit.org/show_bug.cgi?id=130264 3082 3083 Reviewed by Timothy Hatcher. 3084 3085 Expose the accessibility tree children (different from DOM children) of the 3086 current node in the accessibility node inspector. 3087 3088 * Localizations/en.lproj/localizedStrings.js: New "Children" string. 3089 * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference. 3090 * UserInterface/Models/DOMNode.js: Support for accessibility children. 3091 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children. 3092 * UserInterface/Views/Main.css: New styles for .node-link-list. 3093 30942014-03-20 Brian Burg <bburg@apple.com> 3095 3096 Web Inspector: add temporary buttons to capture/play/pause replay recordings 3097 https://bugs.webkit.org/show_bug.cgi?id=129692 3098 3099 Reviewed by Timothy Hatcher. 3100 3101 If the Replay agent is available, replace the existing ad-hoc navigation bar 3102 in the Timelines sidebar panel with a record and pause/play button. This UI 3103 is temporary. 3104 3105 * Localizations/en.lproj/localizedStrings.js: 3106 * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into 3107 FIXMEs because the assertions are too strong until the public API uses async chains. 3108 (WebInspector.ReplayManager.prototype.replayToMarkIndex): 3109 (WebInspector.ReplayManager.prototype.replayToCompletion): 3110 * UserInterface/Images/Circle.svg: Added. 3111 * UserInterface/Views/ActivateButtonNavigationItem.js: 3112 (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): 3113 * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style 3114 has opacity:1 and the glyph color is darker. 3115 (.navigation-bar .item.button.suppress-emboss > .glyph): 3116 (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): 3117 * UserInterface/Views/ButtonNavigationItem.js: 3118 (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly 3119 generate the width and height properties so that separate button instances do 3120 not influence the size of each other. 3121 3122 * UserInterface/Views/TimelineSidebarPanel.js: 3123 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): 3124 (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked): 3125 (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked): 3126 (WebInspector.TimelineSidebarPanel.prototype._captureStarted): 3127 (WebInspector.TimelineSidebarPanel.prototype._captureStopped): 3128 (WebInspector.TimelineSidebarPanel.prototype._playbackStarted): 3129 (WebInspector.TimelineSidebarPanel.prototype._playbackPaused): 3130 31312014-03-20 Brian Burg <bburg@apple.com> 3132 3133 Web Inspector: add frontend controller and models for replay sessions 3134 https://bugs.webkit.org/show_bug.cgi?id=130145 3135 3136 Reviewed by Joseph Pecoraro. 3137 3138 Upstream the frontend models and controller for web replay. The replay manager 3139 syncs with the backend controller's replay state and replay sessions by using 3140 the same state machines and transitions. 3141 3142 Session and segment models update their data asynchronously using promises. 3143 3144 * UserInterface/Base/Main.js: 3145 (WebInspector.loaded): Add the replay manager. 3146 * UserInterface/Base/Test.js: 3147 (WebInspector.loaded): Add the replay manager. 3148 (InspectorTest.debugLog): Fix a bug in the unescape/escape trick. 3149 (InspectorTest.addResult): Don't try to add results until the test page has loaded. 3150 (InspectorTest.testPageDidLoad): Clear the isReloading flag. 3151 (InspectorTest.reloadPage): Reimplement using promises. Return a promise. 3152 * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way. 3153 * UserInterface/Controllers/ReplayManager.js: Added. 3154 (WebInspector.ReplayManager): 3155 (WebInspector): 3156 (WebInspector.ReplayManager.prototype.get sessionState): 3157 (WebInspector.ReplayManager.prototype.get segmentState): 3158 (WebInspector.ReplayManager.prototype.get activeSessionIdentifier): 3159 (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier): 3160 (WebInspector.ReplayManager.prototype.get playbackSpeed): 3161 (WebInspector.ReplayManager.prototype.set playbackSpeed): 3162 (WebInspector.ReplayManager.prototype.get currentPosition): 3163 (WebInspector.ReplayManager.prototype.getSession.get var): 3164 (WebInspector.ReplayManager.prototype.getSegment.get var): 3165 (WebInspector.ReplayManager.prototype.captureStarted): 3166 (WebInspector.ReplayManager.prototype.captureStopped): 3167 (WebInspector.ReplayManager.prototype.playbackStarted): 3168 (WebInspector.ReplayManager.prototype.playbackHitPosition): 3169 (WebInspector.ReplayManager.prototype.playbackPaused): 3170 (WebInspector.ReplayManager.prototype.playbackFinished): 3171 (WebInspector.ReplayManager.prototype.sessionCreated.set catch): 3172 (WebInspector.ReplayManager.prototype.sessionCreated.this): 3173 (WebInspector.ReplayManager.prototype.sessionCreated): 3174 (WebInspector.ReplayManager.prototype.sessionModified): 3175 (WebInspector.ReplayManager.prototype.sessionRemoved.then): 3176 (WebInspector.ReplayManager.prototype.sessionRemoved): 3177 (WebInspector.ReplayManager.prototype.segmentCreated.set this): 3178 (WebInspector.ReplayManager.prototype.segmentCompleted.set catch): 3179 (WebInspector.ReplayManager.prototype.segmentCompleted): 3180 (WebInspector.ReplayManager.prototype.segmentRemoved.then): 3181 (WebInspector.ReplayManager.prototype.segmentRemoved): 3182 (WebInspector.ReplayManager.prototype.segmentLoaded): 3183 (WebInspector.ReplayManager.prototype.segmentUnloaded): 3184 (WebInspector.ReplayManager.prototype.startCapturing): 3185 (WebInspector.ReplayManager.prototype.stopCapturing): 3186 (WebInspector.ReplayManager.prototype.replayToMarkIndex): 3187 (WebInspector.ReplayManager.prototype.replayToCompletion): 3188 (WebInspector.ReplayManager.prototype.pausePlayback): 3189 (WebInspector.ReplayManager.prototype.stopPlayback): 3190 (WebInspector.ReplayManager.prototype._changeSessionState): 3191 (WebInspector.ReplayManager.prototype._changeSegmentState): 3192 * UserInterface/Main.html: 3193 * UserInterface/Models/ReplaySession.js: Added. 3194 (WebInspector.ReplaySession): 3195 (WebInspector.ReplaySession.fromPayload): 3196 (WebInspector.ReplaySession.prototype.get segments): 3197 (WebInspector.ReplaySession.prototype.segmentsChanged): 3198 (WebInspector.ReplaySession.prototype._updateFromPayload): 3199 * UserInterface/Models/ReplaySessionSegment.js: Added. 3200 (WebInspector.IncompleteSessionSegment): 3201 (WebInspector.IncompleteSessionSegment.prototype.get isComplete): 3202 (WebInspector.ReplaySessionSegment): 3203 (WebInspector.ReplaySessionSegment.prototype.get isComplete): 3204 * UserInterface/Protocol/InspectorBackend.js: 3205 (InspectorBackendClass.prototype.registerCommand): 3206 (InspectorBackendClass.prototype._promise): Add a promise-returning method for 3207 invoking backend commands that return a result asynchronously. 3208 * UserInterface/Protocol/ReplayObserver.js: Added. 3209 (WebInspector.ReplayPosition): 3210 (WebInspector.ReplayPosition.fromProtocol): 3211 (WebInspector.ReplayObserver): 3212 (WebInspector.ReplayObserver.prototype.captureStarted): 3213 (WebInspector.ReplayObserver.prototype.captureStopped): 3214 (WebInspector.ReplayObserver.prototype.playbackStarted): 3215 (WebInspector.ReplayObserver.prototype.playbackHitPosition): 3216 (WebInspector.ReplayObserver.prototype.playbackPaused): 3217 (WebInspector.ReplayObserver.prototype.playbackFinished): 3218 (WebInspector.ReplayObserver.prototype.inputSuppressionChanged): 3219 (WebInspector.ReplayObserver.prototype.sessionCreated): 3220 (WebInspector.ReplayObserver.prototype.sessionModified): 3221 (WebInspector.ReplayObserver.prototype.sessionRemoved): 3222 (WebInspector.ReplayObserver.prototype.sessionLoaded): 3223 (WebInspector.ReplayObserver.prototype.segmentCreated): 3224 (WebInspector.ReplayObserver.prototype.segmentRemoved): 3225 (WebInspector.ReplayObserver.prototype.segmentCompleted): 3226 (WebInspector.ReplayObserver.prototype.segmentLoaded): 3227 (WebInspector.ReplayObserver.prototype.segmentUnloaded): 3228 * UserInterface/Test.html: 3229 32302014-03-20 Joseph Pecoraro <pecoraro@apple.com> 3231 3232 Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext 3233 https://bugs.webkit.org/show_bug.cgi?id=130527 3234 3235 Reviewed by Timothy Hatcher. 3236 3237 Instead of using body.javascript to force a collapsed style, 3238 actually use the toolbar's collapsed class. 3239 3240 * UserInterface/Views/DashboardContainerView.css: 3241 (.toolbar.collapsed .dashboard-container): 3242 * UserInterface/Views/Toolbar.js: 3243 32442014-03-20 Katie Madonna <madonnk@gmail.com> 3245 3246 Web Inspector: probe sidebar should use overflow:scroll and split space evenly 3247 https://bugs.webkit.org/show_bug.cgi?id=129627 3248 3249 Reviewed by Timothy Hatcher. 3250 3251 Use flexbox to split space evenly in the probe sidebar, which required changes to collapse 3252 format, remove scrollbar styles from old timelapse branch. 3253 3254 * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox 3255 and make collapse correctly, remove scrollbar style. 3256 * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style. 3257 32582014-03-18 Joseph Pecoraro <pecoraro@apple.com> 3259 3260 Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions 3261 https://bugs.webkit.org/show_bug.cgi?id=130412 3262 3263 Reviewed by Timothy Hatcher. 3264 3265 Rename the script and simplify to only update Legacy protocol versions. 3266 3267 * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb. 3268 32692014-03-18 Joseph Pecoraro <pecoraro@apple.com> 3270 3271 Web Inspector: sourceMapResourceLoaded expects statusCode parameter 3272 https://bugs.webkit.org/show_bug.cgi?id=130377 3273 3274 Reviewed by Timothy Hatcher. 3275 3276 * UserInterface/Models/SourceMapResource.js: 3277 32782014-03-17 Joseph Pecoraro <pecoraro@apple.com> 3279 3280 Web Inspector: Uncaught Exception in JSContext Inspector 3281 https://bugs.webkit.org/show_bug.cgi?id=130368 3282 3283 Reviewed by Timothy Hatcher. 3284 3285 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3286 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported): 3287 Feature check DOMAgent as well as the function. 3288 32892014-03-16 Brian Burg <bburg@apple.com> 3290 3291 Web Inspector: vended backend commands file should be generated as part of the build 3292 https://bugs.webkit.org/show_bug.cgi?id=130110 3293 3294 Reviewed by Timothy Hatcher. 3295 3296 Copy the backend commands generated in other frameworks into our built products directory. 3297 3298 * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend 3299 commands files from the private headers directory of other frameworks. 3300 * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands. 3301 * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed. 3302 * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed. 3303 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated 3304 backend commands files from the other frameworks. 3305 * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as 3306 framework dependencies so Xcode builds them first. 3307 33082014-03-15 David Kilzer <ddkilzer@apple.com> 3309 3310 [iOS] Define SYSTEM_VERSION_PREFIX consistently 3311 <http://webkit.org/b/130293> 3312 <rdar://problem/15926359> 3313 3314 Reviewed by Dan Bernstein. 3315 3316 * Configurations/Version.xcconfig: 3317 (SYSTEM_VERSION_PREFIX): Sync with 3318 Source/WebKit/mac/Version.xcconfig. 3319 33202014-03-14 Maciej Stachowiak <mjs@apple.com> 3321 3322 Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers 3323 https://bugs.webkit.org/show_bug.cgi?id=130276 3324 <rdar://problem/16266927> 3325 3326 Reviewed by Simon Fraser. 3327 3328 * APPLE_IMAGES_LICENSE.rtf: 3329 * UserInterface/Base/DOMUtilities.js: 3330 * UserInterface/Models/Color.js: 3331 * UserInterface/Views/ConsoleCommand.js: 3332 * UserInterface/Views/ConsoleCommandResult.js: 3333 * UserInterface/Views/ConsoleGroup.js: 3334 * UserInterface/Views/ConsoleMessage.js: 3335 * UserInterface/Views/ConsoleMessageImpl.js: 3336 * UserInterface/Views/DOMTreeElement.js: 3337 * UserInterface/Views/DOMTreeOutline.js: 3338 * UserInterface/Views/DOMTreeUpdater.js: 3339 * UserInterface/Views/GradientSlider.css: 3340 * UserInterface/Views/GradientSlider.js: 3341 * UserInterface/Views/TreeOutline.js: 3342 33432014-03-14 Bem Jones-Bey <bjonesbe@adobe.com> 3344 3345 [CSS Shapes] Add autocomplete for -webkit-shape-outside 3346 https://bugs.webkit.org/show_bug.cgi?id=130268 3347 3348 Reviewed by Joseph Pecoraro. 3349 3350 Add completions for -webkit-shape-outside. Also add the box shapes to 3351 the possible completions for clip-path. 3352 3353 * UserInterface/Models/CSSKeywordCompletions.js: 3354 33552014-03-14 Joseph Pecoraro <pecoraro@apple.com> 3356 3357 Web Inspector: Update shapes autocompletion suggestions 3358 https://bugs.webkit.org/show_bug.cgi?id=130255 3359 3360 Reviewed by Bem Jones-Bey. 3361 3362 * UserInterface/Models/CSSKeywordCompletions.js: 3363 33642014-03-14 James Craig <jcraig@apple.com> 3365 3366 Web Inspector: AXI: Expose Accessibility Tree parent of the selected node 3367 https://bugs.webkit.org/show_bug.cgi?id=129943 3368 3369 Reviewed by Timothy Hatcher. 3370 3371 Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html 3372 3373 Web Accessibility Node Inspector now displays a link to the AX parent node, 3374 because it's not a 1:1 match with the DOMNode parent. 3375 3376 * Localizations/en.lproj/localizedStrings.js: new "Parent" string. 3377 * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method. 3378 * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays). 3379 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node. 3380 33812014-03-14 Diego Pino Garcia <dpino@igalia.com> 3382 3383 Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs 3384 https://bugs.webkit.org/show_bug.cgi?id=126833 3385 3386 Reviewed by Timothy Hatcher. 3387 3388 * UserInterface/Models/Frame.js: 3389 (WebInspector.Frame.prototype.saveIdentityToCookie): 3390 * UserInterface/Models/Resource.js: 3391 (WebInspector.Resource.prototype.saveIdentityToCookie): 3392 33932014-03-13 James Craig <jcraig@apple.com> 3394 3395 Web Inspector: AXI: Use loc strings for known aria-invalid types 3396 https://bugs.webkit.org/show_bug.cgi?id=129952 3397 3398 Reviewed by Joseph Pecoraro. 3399 3400 Updating inspector-protocol and UI display values for @aria-invalid. 3401 3402 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html 3403 3404 * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings. 3405 * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid 3406 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly. 3407 34082014-03-13 Diego Pino Garcia <dpino@igalia.com> 3409 3410 Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector 3411 https://bugs.webkit.org/show_bug.cgi?id=129779 3412 3413 Reviewed by Timothy Hatcher. 3414 3415 * Localizations/en.lproj/localizedStrings.js: Add label "Focused". 3416 * UserInterface/Models/DOMNode.js: Set property "focused" in 3417 accessibilityProperties. 3418 (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for 3419 property "focused". 3420 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3421 (WebInspector.DOMNodeDetailsSidebarPanel): 3422 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility): 3423 Refresh value of property "focused" in UI. 3424 34252014-03-13 Joseph Pecoraro <pecoraro@apple.com> 3426 3427 Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously 3428 https://bugs.webkit.org/show_bug.cgi?id=130217 3429 3430 Reviewed by Timothy Hatcher. 3431 3432 * UserInterface/Protocol/InspectorFrontendHostStub.js: 3433 34342014-03-13 Joseph Pecoraro <pecoraro@apple.com> 3435 3436 Web Inspector: Network.loadResource should include the response status code 3437 https://bugs.webkit.org/show_bug.cgi?id=130216 3438 3439 Reviewed by Timothy Hatcher. 3440 3441 * UserInterface/Controllers/SourceMapManager.js: 3442 (WebInspector.SourceMapManager.prototype.sourceMapLoaded): 3443 (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): 3444 * UserInterface/Models/SourceMapResource.js: 3445 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded): 3446 If the response is 400 or larger, treat it as an error / failed load. 3447 3448 * UserInterface/Protocol/InspectorWebBackendCommands.js: 3449 Update protocol to provide status code parameter. 3450 34512014-03-12 Brian Burg <bburg@apple.com> 3452 3453 Web Inspector: Remove unused callId parameter from evaluateInWebInspector 3454 https://bugs.webkit.org/show_bug.cgi?id=129744 3455 3456 Reviewed by Timothy Hatcher. 3457 3458 * UserInterface/Protocol/InspectorJSBackendCommands.js: 3459 * UserInterface/Protocol/InspectorObserver.js: 3460 (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend): 3461 34622014-03-12 Joseph Pecoraro <pecoraro@apple.com> 3463 3464 Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection 3465 https://bugs.webkit.org/show_bug.cgi?id=130167 3466 3467 Reviewed by Timothy Hatcher. 3468 3469 Feature check the protocol method before using it. It is 3470 fine to do nothing if the feature is not supported. 3471 3472 * UserInterface/Controllers/DOMTreeManager.js: 3473 34742014-03-12 Joseph Pecoraro <pecoraro@apple.com> 3475 3476 Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode) 3477 https://bugs.webkit.org/show_bug.cgi?id=130037 3478 3479 Reviewed by Timothy Hatcher. 3480 3481 Feature detect if accessibility information is supported before 3482 creating or attempting to update the accessibility section. 3483 3484 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3485 (WebInspector.DOMNodeDetailsSidebarPanel): 3486 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported): 3487 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility): 3488 34892014-03-12 Joseph Pecoraro <pecoraro@apple.com> 3490 3491 Web Inspector: Fix multiple console.assert stripping issues 3492 https://bugs.webkit.org/show_bug.cgi?id=130166 3493 3494 Reviewed by Timothy Hatcher. 3495 3496 There were a couple console.assert stripping issues in production. 3497 One line required a semicolon so was avoiding getting stripped. 3498 One resulted in a logic change, when stripping the only statement 3499 of a control flow block. Add a warning for such cases. 3500 3501 * Scripts/remove-console-asserts.pl: 3502 Add warning for a console.assert being the only statement in a control flow block 3503 without braces. When it is stripped it may change the flow of the function. 3504 3505 * Scripts/remove-console-asserts-dryrun.rb: Added. 3506 Add a script to quickly test running remove console asserts on our files, to 3507 help catch errors not in a production build and in the original non-combined 3508 files, so you can more easily fix issues. 3509 3510 * UserInterface/Controllers/DOMTreeManager.js: 3511 (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload): 3512 Convert the for loop into a single console.assert statement. 3513 3514 * UserInterface/Views/DataGrid.js: 3515 (WebInspector.DataGrid.prototype.removeChild): 3516 Add missing semicolon. 3517 35182014-03-12 Brian Burg <bburg@apple.com> 3519 3520 Web Inspector: convert model tests and inspector-test.js to use Test.html 3521 https://bugs.webkit.org/show_bug.cgi?id=129217 3522 3523 Reviewed by Timothy Hatcher. 3524 3525 Miscellaneous changes to make the inspector model test harness work well in 3526 scenarios where the test page must navigate or reload. Also improve reporting 3527 test failures so that messages will be dumped correctly even when an exception 3528 is thrown in the Inspector or the test times out. 3529 3530 * UserInterface/Base/Test.js: 3531 (WebInspector.loaded): register new managers and observers. 3532 (InspectorTest.log): Stringify the argument if it's an object. 3533 (InspectorTest.assert): Stringify the argument if it's an object. Don't log 3534 unless the condition is false. 3535 3536 (InspectorTest.expectThat): Added. Like assert(), but always logs. 3537 (InspectorTest.debugLog): Escape and unescape the string properly. 3538 (InspectorTest.completeTest): Fix teardown so messages are not lost. 3539 (InspectorTest.evaluateInPage): Accept a callback argument. 3540 (InspectorTest.addResult): Don't rebuild results when adding a new result. 3541 (InspectorTest._resendResults.decrementPendingResponseCount): Added. 3542 3543 (InspectorTest._resendResults): Added. Track the number of pending 3544 responses and invoke a given callback when everything has been resent. 3545 3546 (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`. 3547 (InspectorTest.reloadPage): Added. 3548 (InspectorTest.reportUncaughtException): Prevent the default handler from running. 3549 * UserInterface/Protocol/InspectorBackend.js: 3550 (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching 3551 messages on the inspector page without blowing away the entire call stack. 3552 3553 * UserInterface/Test.html: Add files used by Network and Timeline domains. 3554 35552014-03-11 Brian Burg <bburg@apple.com> 3556 3557 Web Inspector: DataGrid should have an API to set sort column and direction 3558 https://bugs.webkit.org/show_bug.cgi?id=128783 3559 3560 Reviewed by Timothy Hatcher. 3561 3562 Previously there was no way for DataGrid clients to programmatically change 3563 the sort order or sort column identifier after the data grid was constructed. 3564 This patch modernizes DataGrid sorting by exposing getters and setters for 3565 sortOrder and sortColumnIdentifier, which trigger the SortChanged event if 3566 the sort settings have changed. 3567 3568 This patch also modernizes sorting functionality in DataGrid clients, and in 3569 a few clients it moves column identifiers from numbers to string identifiers. 3570 3571 * UserInterface/Main.html: 3572 * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers 3573 instead of numbers. Don't repopulate the entire table when the sort changes, instead 3574 call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order. 3575 3576 (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): 3577 (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid): 3578 (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare): 3579 (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid): 3580 3581 * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead 3582 of numbers. Don't sort the cookies themselves, just the data grid nodes representing 3583 each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a 3584 comparator. Don't rebuild the entire table when the sort changes. 3585 3586 (WebInspector.CookieStorageContentView.prototype._rebuildTable): 3587 (WebInspector.CookieStorageContentView.prototype._sortDataGrid): 3588 (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare): 3589 (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare): 3590 3591 * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder 3592 and sortColumnIdentifier behind getters and setters. Pull some hardcoded style 3593 class names into constants. Remove the "sort" field on column config objects; instead 3594 should use the DataGrid.sortColumnIdentifier setter after construction. 3595 3596 (WebInspector.DataGrid): Keep sort settings in private variables. 3597 (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented. 3598 (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented. 3599 (WebInspector.DataGrid.prototype.moveToNextCell): 3600 (WebInspector.DataGrid.prototype._editingCommitted): 3601 (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to 3602 coalesce multiple sort requests within the same draw frame. 3603 (WebInspector.DataGrid.prototype._sortNodesCallback): 3604 (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API. 3605 * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance 3606 now that sort requests are coalesced by requestAnimationFrame. 3607 3608 * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid. 3609 Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API. 3610 3611 (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): 3612 (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator): 3613 (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid): 3614 * UserInterface/Views/LayoutTimelineView.js: 3615 * UserInterface/Views/LegacyJavaScriptProfileView.js: 3616 (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile): 3617 * UserInterface/Views/NetworkTimelineView.js: 3618 * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API. 3619 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator): 3620 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid): 3621 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): 3622 * UserInterface/Views/ScriptTimelineView.js: 3623 * UserInterface/Views/TimelineDataGrid.js: 3624 (WebInspector.TimelineDataGrid.prototype._sortComparator): 3625 36262014-03-10 James Craig <jcraig@apple.com> 3627 3628 Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected 3629 https://bugs.webkit.org/show_bug.cgi?id=129781 3630 3631 Reviewed by Joseph Pecoraro. 3632 3633 Enabling several more properties to be exposed in the Accessibility Node Inspector. 3634 3635 Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html 3636 3637 * Localizations/en.lproj/localizedStrings.js: 3638 * UserInterface/Models/DOMNode.js: 3639 * UserInterface/Protocol/InspectorWebBackendCommands.js: 3640 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: 3641 36422014-03-10 Brian Burg <bburg@apple.com> 3643 3644 Web Inspector: show a debugging-oriented dashboard when scripts pause 3645 https://bugs.webkit.org/show_bug.cgi?id=129913 3646 3647 Reviewed by Timothy Hatcher. 3648 3649 Using the dashboard swapping functionality just added, show a debugger dashboard 3650 whenever the debugger pauses, and hide it when it resumes. The debugger manager 3651 already coalesces pause/resume events across stepping commands. 3652 3653 The dashboard itself is straightforward, with the exception of how it uses the 3654 navigation bar buttons. Since buttons from the same URL can't be reused if they 3655 are bezeled, we don't bezel our button, and set the button image as the glyph mask 3656 instead of the background image. This lets us easily animate the glyph shape. 3657 3658 We also have to more forcefully declare a bunch of icon rules that would otherwise 3659 be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation 3660 bar icon styles). 3661 3662 * Localizations/en.lproj/localizedStrings.js: 3663 * UserInterface/Base/Main.js: 3664 (WebInspector.loaded): 3665 (WebInspector.contentLoaded): 3666 (WebInspector._debuggerDidPause): 3667 (WebInspector._debuggerDidResume): 3668 * UserInterface/Controllers/DashboardManager.js: 3669 (WebInspector.DashboardManager): 3670 * UserInterface/Main.html: 3671 * UserInterface/Models/DebuggerDashboard.js: Added. 3672 (WebInspector.DebuggerDashboard): 3673 * UserInterface/Views/ButtonNavigationItem.css: 3674 (.navigation-bar .item.button.suppress-emboss > .glyph): 3675 * UserInterface/Views/ButtonNavigationItem.js: 3676 (WebInspector.ButtonNavigationItem.prototype._updateImage): 3677 * UserInterface/Views/DashboardView.js: 3678 (WebInspector.DashboardView): 3679 * UserInterface/Views/DebuggerDashboardView.css: Added. 3680 (.toolbar .dashboard.debugger): 3681 (.dashboard.debugger > .message): 3682 (.dashboard.debugger .navigation-bar): 3683 (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar): 3684 (.dashboard.debugger .navigation-bar .item.button): 3685 (.dashboard.debugger .navigation-bar .item.button > .glyph): 3686 (@-webkit-keyframes pulse-pause-button): 3687 (to): 3688 (.dashboard.debugger > .divider): 3689 (.dashboard.debugger > div): 3690 (.dashboard.debugger > .location > :first-child): 3691 (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)): 3692 (.dashboard.debugger > .location img.icon): 3693 (.dashboard.debugger > .location .function-name): 3694 (.dashboard.debugger > .location .function-name::after): 3695 (.dashboard.debugger > .location .go-to-link): 3696 (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )): 3697 (.toolbar.small-size .dashboard.debugger > .message): 3698 (.toolbar.small-size .dashboard.debugger > .location > :first-child): 3699 * UserInterface/Views/DebuggerDashboardView.js: Added. 3700 (WebInspector.DebuggerDashboardView): 3701 (WebInspector.DebuggerDashboardView.prototype._rebuildLocation): 3702 (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked): 3703 * UserInterface/Views/DebuggerSidebarPanel.js: 3704 (WebInspector.DebuggerSidebarPanel): 3705 37062014-03-10 Brian Burg <bburg@apple.com> 3707 3708 Web Inspector: convert the dashboard toolbar item to support multiple dashboards 3709 https://bugs.webkit.org/show_bug.cgi?id=129898 3710 3711 Reviewed by Timothy Hatcher. 3712 3713 We want to ability to swap in and out different dashboard contents depending on 3714 circumstances such as debugger activity and page loading. This patch converts the 3715 existing hard-coded dashboard implementation to follow the container-based approach 3716 used by WebInspector.ContentViewContainer. 3717 3718 As part of the refactoring, we introduce dashboard model objects to store persistent 3719 dashboard data. Some CSS has also been split between the container and specific dashboard. 3720 3721 * UserInterface/Controllers/DashboardManager.js: 3722 (WebInspector.DashboardManager): 3723 (WebInspector.DashboardManager.prototype.get toolbarItem): 3724 * UserInterface/Main.html: 3725 * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js. 3726 (WebInspector.DefaultDashboard): 3727 (WebInspector.DefaultDashboard.prototype.get resourcesCount): 3728 (WebInspector.DefaultDashboard.prototype.set resourcesCount): 3729 (WebInspector.DefaultDashboard.prototype.get resourcesSize): 3730 (WebInspector.DefaultDashboard.prototype.set resourcesSize): 3731 (WebInspector.DefaultDashboard.prototype.get time): 3732 (WebInspector.DefaultDashboard.prototype.set time): 3733 (WebInspector.DefaultDashboard.prototype.get logs): 3734 (WebInspector.DefaultDashboard.prototype.set logs): 3735 (WebInspector.DefaultDashboard.prototype.get errors): 3736 (WebInspector.DefaultDashboard.prototype.set errors): 3737 (WebInspector.DefaultDashboard.prototype.get issues): 3738 (WebInspector.DefaultDashboard.prototype.set issues): 3739 (WebInspector.DefaultDashboard.prototype._dataDidChange): 3740 (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): 3741 (WebInspector.DefaultDashboard.prototype._recordingStopped): 3742 (WebInspector.DefaultDashboard.prototype._resourceWasAdded): 3743 (WebInspector.DefaultDashboard.prototype._frameWasAdded): 3744 (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange): 3745 (WebInspector.DefaultDashboard.prototype._startUpdatingTime): 3746 (WebInspector.DefaultDashboard.prototype._stopUpdatingTime): 3747 (WebInspector.DefaultDashboard.prototype._updateTime): 3748 (WebInspector.DefaultDashboard.prototype._consoleMessageAdded): 3749 (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated): 3750 (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType): 3751 (WebInspector.DefaultDashboard.prototype._consoleWasCleared): 3752 * UserInterface/Views/DashboardContainerView.css: Added. 3753 (.toolbar .dashboard-container): 3754 (body.window-inactive .toolbar .dashboard-container): 3755 (body.javascript .toolbar .dashboard-container): 3756 (.toolbar.normal-size.icon-and-label-vertical .dashboard-container): 3757 (.toolbar.small-size.icon-and-label-horizontal .dashboard-container): 3758 (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container): 3759 (.toolbar .dashboard-container): 3760 (.toolbar .dashboard): 3761 (.toolbar .dashboard.visible): 3762 (.toolbar .dashboard.slide-out-up): 3763 (.toolbar .dashboard.slide-out-down): 3764 (.toolbar .dashboard.slide-in-up): 3765 (.toolbar .dashboard.slide-in-down): 3766 (@-webkit-keyframes slide-top-edge): 3767 (to): 3768 (@-webkit-keyframes slide-bottom-edge): 3769 * UserInterface/Views/DashboardContainerView.js: Added. 3770 (WebInspector.DashboardContainerView): 3771 (WebInspector.DashboardContainerView.prototype.get toolbarItem): 3772 (WebInspector.DashboardContainerView.prototype.get currentDashboardView): 3773 (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject): 3774 (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject): 3775 (WebInspector.DashboardContainerView.prototype._showDashboardView): 3776 * UserInterface/Views/DashboardView.css: Removed. 3777 * UserInterface/Views/DashboardView.js: 3778 (WebInspector.DashboardView): 3779 (WebInspector.DashboardView.prototype.get element): 3780 (WebInspector.DashboardView.prototype.get parentContainer): 3781 (WebInspector.DashboardView.prototype.get representedObject): 3782 (WebInspector.DashboardView.prototype.shown): 3783 (WebInspector.DashboardView.prototype.hidden): 3784 * UserInterface/Views/DefaultDashboardView.css: Added. 3785 (body.web .toolbar.collapsed .dashboard.default > .logs): 3786 (body.javascript .toolbar .dashboard.default > .resourcesCount): 3787 (.toolbar .dashboard.default): 3788 (.toolbar .dashboard.default > .item): 3789 (.toolbar .dashboard.default > .resourcesSize): 3790 (.toolbar .dashboard.default > .item.enabled:hover): 3791 (.toolbar .dashboard.default > .item.enabled:active): 3792 (.toolbar .dashboard.default > .item > *): 3793 (.toolbar .dashboard.default > .item > img): 3794 (.toolbar .dashboard.default > .item.enabled > img): 3795 (.toolbar .dashboard.default > .item.enabled:hover > img): 3796 (.toolbar .dashboard.default > .item > div): 3797 (.toolbar .dashboard.default > .item.enabled > div): 3798 (.toolbar .dashboard.default > .item.enabled:hover > div): 3799 (.toolbar .dashboard.default > .resourcesCount > img): 3800 (.toolbar .dashboard.default > .time > img): 3801 (.toolbar .dashboard.default > .logs > img): 3802 (.toolbar .dashboard.default > .resourcesSize > img): 3803 (.toolbar .dashboard.default > .errors > img): 3804 (.toolbar .dashboard.default > .errors.enabled > img): 3805 (.toolbar .dashboard.default > .errors.enabled:hover > img): 3806 (.toolbar .dashboard.default > .errors.enabled > div): 3807 (.toolbar .dashboard.default > .errors.enabled:hover > div): 3808 (.toolbar .dashboard.default > .issues > img): 3809 (.toolbar .dashboard.default > .issues.enabled > img): 3810 (.toolbar .dashboard.default > .issues.enabled:hover > img): 3811 (.toolbar .dashboard.default > .issues.enabled > div): 3812 (.toolbar .dashboard.default > .issues.enabled:hover > div): 3813 (.toolbar .dashboard.default > .item.pulsing): 3814 (@-webkit-keyframes console-item-pulse): 3815 (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item): 3816 (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item): 3817 * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js. 3818 (WebInspector.DefaultDashboardView): 3819 (WebInspector.DefaultDashboardView.prototype._updateDisplay): 3820 (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber): 3821 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.): 3822 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item): 3823 (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem): 3824 (WebInspector.DefaultDashboardView.prototype._itemWasClicked): 3825 (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked): 3826 (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked): 3827 (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked): 3828 (WebInspector.DefaultDashboardView.prototype.animationEnded): 3829 (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue): 3830 (WebInspector.DefaultDashboardView.prototype._setItemEnabled): 3831 38322014-03-08 Joseph Pecoraro <pecoraro@apple.com> 3833 3834 Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place 3835 https://bugs.webkit.org/show_bug.cgi?id=129959 3836 3837 Reviewed by Timothy Hatcher. 3838 3839 The script was putting legacy generated files into UserInterface 3840 instead of UserInterface/Protocol. 3841 3842 * Scripts/update-InspectorBackendCommands.rb: 3843 38442014-03-07 Timothy Hatcher <timothy@apple.com> 3845 3846 Load source maps and their resources asynchronously. 3847 3848 https://bugs.webkit.org/show_bug.cgi?id=112071 3849 3850 Reviewed by Joseph Pecoraro. 3851 3852 * UserInterface/Controllers/SourceMapManager.js: 3853 (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap): 3854 (WebInspector.SourceMapManager.prototype.downloadSourceMap): 3855 (WebInspector.SourceMapManager.prototype.sourceMapLoaded): 3856 (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): 3857 Use NetworkAgent.loadResource. 3858 3859 * UserInterface/Models/SourceMapResource.js: 3860 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded): 3861 (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange): 3862 Use NetworkAgent.loadResource. 3863 3864 * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated. 3865 38662014-03-04 Brian Burg <bburg@apple.com> 3867 3868 Inspector does not restore breakpoints after a page reload 3869 https://bugs.webkit.org/show_bug.cgi?id=129655 3870 3871 Reviewed by Joseph Pecoraro. 3872 3873 Fix some console asserts that fire when breakpoints resolve. 3874 3875 * UserInterface/Controllers/DebuggerManager.js: 3876 (WebInspector.DebuggerManager.prototype.breakpointResolved): 3877 This had a typo, it should be `breakpoint.identifier`. 3878 (WebInspector.DebuggerManager.prototype.scriptDidParse): 3879 Sometimes the `url` parameter is empty instead of null. 3880 38812014-03-04 Diego Pino Garcia <dpino@igalia.com> 3882 3883 Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet 3884 https://bugs.webkit.org/show_bug.cgi?id=129185 3885 3886 Reviewed by Timothy Hatcher. 3887 3888 * UserInterface/Base/EventHandler.js: Removed. 3889 * UserInterface/Main.html: Don't include EventHandler.js. 3890 * UserInterface/Views/SourceCodeTextEditor.js: 3891 (WebInspector.SourceCodeTextEditor.prototype._dismissPopover): 3892 (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents): 3893 Use EventListenerSet instead of EventHandler. 3894 38952014-03-03 Jonathan Wells <jonowells@apple.com> 3896 3897 Web Inspector: Match color of regex in source view with a popover 3898 https://bugs.webkit.org/show_bug.cgi?id=129645 3899 3900 Reviewed by Timothy Hatcher. 3901 3902 * UserInterface/Views/LogContentView.css: 3903 (.console-formatted-string): 3904 (.console-formatted-regexp): 3905 39062014-03-03 Jonathan Wells <jonowells@apple.com> 3907 3908 Web Inspector: Better Debugger popovers for RegExp values 3909 https://bugs.webkit.org/show_bug.cgi?id=129633 3910 3911 Reviewed by Timothy Hatcher. 3912 3913 * UserInterface/Views/SourceCodeTextEditor.js: 3914 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate): 3915 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression): 3916 (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp): 3917 39182014-03-03 Timothy Hatcher <timothy@apple.com> 3919 3920 Don't try to parse legacy CSS gradients -- we don't support them. 3921 3922 https://bugs.webkit.org/show_bug.cgi?id=129623 3923 3924 Reviewed by Joseph Pecoraro. 3925 3926 * UserInterface/Models/Gradient.js: 3927 (WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops. 3928 (WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients. 3929 39302014-03-03 Timothy Hatcher <timothy@apple.com> 3931 3932 Remove an innocuous error message and support default views for Resource and Debugger sidebars. 3933 3934 https://bugs.webkit.org/show_bug.cgi?id=129622 3935 3936 Reviewed by Joseph Pecoraro. 3937 3938 * UserInterface/Views/DebuggerSidebarPanel.js: 3939 (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added. 3940 * UserInterface/Views/ResourceSidebarPanel.js: 3941 (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added. 3942 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error 3943 if the tree element isn't a Script. We try to find any represented object, and it can fail. 3944 39452014-03-03 Timothy Hatcher <timothy@apple.com> 3946 3947 Fix an exception caused by trying to access the DOM before it is loaded. 3948 3949 https://bugs.webkit.org/show_bug.cgi?id=129617 3950 3951 Reviewed by Andreas Kling. 3952 3953 * UserInterface/Base/Main.js: 3954 (WebInspector.loaded): Move global event listeners from here... 3955 (WebInspector.contentLoaded): ... to here. 3956 39572014-03-01 Timothy Hatcher <timothy@apple.com> 3958 3959 Make Start Timeline Recording in the Develop menu show the Timeline view again. 3960 3961 This also fixes a noticeable delay between showing the sidebar and the default Timeline 3962 view when initially opening the Web Inspector to the Timeline. 3963 3964 https://bugs.webkit.org/show_bug.cgi?id=129545 3965 3966 Reviewed by Joseph Pecoraro. 3967 3968 * UserInterface/Base/Main.js: 3969 (WebInspector.contentLoaded): Call TimelineSidebarPanel.initialize to prime the content view. 3970 This is needed so the view is ready in this run loop cycle, where it was delayed before. 3971 * UserInterface/Protocol/InspectorFrontendAPI.js: 3972 (InspectorFrontendAPI.setTimelineProfilingEnabled): Call TimelineSidebarPanel.showTimelineOverview. 3973 * UserInterface/Views/TimelineSidebarPanel.js: 3974 (WebInspector.TimelineSidebarPanel.prototype.initialize): Added. 3975 39762014-03-01 Timothy Hatcher <timothy@apple.com> 3977 3978 Select the Resource navigation sidebar by default when there is no cookie. 3979 3980 https://bugs.webkit.org/show_bug.cgi?id=129544 3981 3982 Reviewed by Joseph Pecoraro. 3983 3984 * UserInterface/Base/Main.js: 3985 (WebInspector._restoreInspectorViewStateFromCookie): 3986 39872014-03-01 Timothy Hatcher <timothy@apple.com> 3988 3989 Label JavaScript forced layouts as such in the Timeline. 3990 3991 https://bugs.webkit.org/show_bug.cgi?id=129546 3992 3993 Reviewed by David Kilzer. 3994 3995 * Localizations/en.lproj/localizedStrings.js: Updated. 3996 * UserInterface/Controllers/TimelineManager.js: 3997 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 3998 (WebInspector.TimelineManager.prototype.eventRecorded): 3999 * UserInterface/Models/LayoutTimelineRecord.js: 4000 (WebInspector.LayoutTimelineRecord.EventType.displayName): 4001 * UserInterface/Views/TimelineRecordTreeElement.js: 4002 (WebInspector.TimelineRecordTreeElement): 4003 40042014-02-28 Timothy Hatcher <timothy@apple.com> 4005 4006 Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint. 4007 4008 This eliminates a multi-step process for the user that can be confusing. 4009 4010 https://bugs.webkit.org/show_bug.cgi?id=129426 4011 4012 Reviewed by Joseph Pecoraro. 4013 4014 * UserInterface/Controllers/DebuggerManager.js: 4015 (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): 4016 (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): 4017 * UserInterface/Views/DebuggerSidebarPanel.js: 4018 (WebInspector.DebuggerSidebarPanel): 4019 (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange): 4020 (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked): 4021 40222014-02-27 Timothy Hatcher <timothy@apple.com> 4023 4024 Use a RegExp when when using CodeMirror's SearchCursor. 4025 4026 This avoids doing toLowerCase() on every line of the TextEditor. 4027 4028 https://bugs.webkit.org/show_bug.cgi?id=129463 4029 4030 Reviewed by Joseph Pecoraro. 4031 4032 * UserInterface/Views/TextEditor.js: 4033 (TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold 4034 argument, but it is ignored for RegExp searches anyway. 4035 40362014-02-27 Brian Burg <bburg@apple.com> 4037 4038 Web Inspector: model tests should use a special Test.html inspector page 4039 https://bugs.webkit.org/show_bug.cgi?id=129190 4040 4041 Reviewed by Timothy Hatcher. 4042 4043 * UserInterface/Base/Test.js: Added. 4044 (WebInspector.loaded): 4045 (WebInspector.contentLoaded): 4046 (WebInspector.updateDockedState): 4047 (InspectorTest.log): 4048 (InspectorTest.assert): 4049 (InspectorTest.debugLog): 4050 (InspectorTest.completeTest): 4051 (InspectorTest.evaluateInPage): 4052 (InspectorTest.addResult): 4053 (InspectorTest.clearResults): 4054 (InspectorTest.pageLoaded): 4055 (InspectorTest.reportUncaughtException): 4056 (.console.logType): 4057 * UserInterface/Protocol/InspectorBackend.js: 4058 (InspectorBackendClass): 4059 (InspectorBackendClass.prototype.dispatch): 4060 (InspectorBackendClass.prototype.runAfterPendingDispatches): 4061 (InspectorBackendClass.prototype._flushPendingScripts): 4062 * UserInterface/Protocol/InspectorObserver.js: 4063 (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend): 4064 * UserInterface/Test.html: Added. 4065 40662014-02-27 Joseph Pecoraro <pecoraro@apple.com> 4067 4068 Web Inspector: JSContext inspection should report exceptions in the console 4069 https://bugs.webkit.org/show_bug.cgi?id=128776 4070 4071 Reviewed by Timothy Hatcher. 4072 4073 * UserInterface/ConsoleMessageImpl.js: 4074 (WebInspector.ConsoleMessageImpl.prototype._formatMessage): 4075 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL): 4076 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame): 4077 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement): 4078 Provide better handling for "[native code]" and legacy "undefined" 4079 call frame URLs. Never linkify these. Also, when showing a link 4080 for an exception, always use the first non-native call frame as 4081 the link location. 4082 40832014-02-26 Timothy Hatcher <timothy@apple.com> 4084 4085 Fix an issue where the Timeline filter scope bars were not applying. 4086 4087 Reviewed by Joseph Pecoraro. 4088 4089 * UserInterface/Views/TimelineDataGrid.js: 4090 (TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Use .get() to access the ScopeBar. 4091 40922014-02-25 Andreas Kling <akling@apple.com> 4093 4094 Prune dead code for Web Inspector memory instrumentation. 4095 <https://webkit.org/b/129286> 4096 4097 Reviewed by Sam Weinig. 4098 4099 * UserInterface/Protocol/InspectorWebBackendCommands.js: 4100 41012014-02-24 Timothy Hatcher <timothy@apple.com> 4102 4103 Switch from prefixed CSS gradient to unprefixed. 4104 4105 https://bugs.webkit.org/show_bug.cgi?id=129279 4106 4107 Reviewed by Andreas Kling. 4108 4109 * UserInterface/Views/BreakpointActionView.css: 4110 (.breakpoint-action-append-button): 4111 (.breakpoint-action-remove-button): 4112 * UserInterface/Views/CSSStyleDeclarationTextEditor.css: 4113 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): 4114 * UserInterface/Views/CompletionSuggestionsView.css: 4115 (.completion-suggestions-container > .item:active): 4116 * UserInterface/Views/DashboardView.css: 4117 (.toolbar .dashboard): 4118 * UserInterface/Views/DataGrid.css: 4119 (.data-grid th): 4120 (.data-grid table.data): 4121 (.data-grid th.sortable:not(.mouse-over-collapser):active): 4122 (.data-grid th.sort-ascending, .data-grid th.sort-descending): 4123 (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active): 4124 (body.window-inactive .data-grid th.sort-descending): 4125 * UserInterface/Views/DetailsSection.css: 4126 (.details-section > .header): 4127 (.details-section .details-section > .header): 4128 * UserInterface/Views/DividerNavigationItem.css: 4129 (.navigation-bar .item.divider): 4130 * UserInterface/Views/FindBanner.css: 4131 (.find-banner > button:active:not(:disabled)): 4132 * UserInterface/Views/Main.css: 4133 (#split-content-browser > .navigation-bar): 4134 * UserInterface/Views/NavigationSidebarPanel.css: 4135 (.sidebar > .panel.navigation > .overflow-shadow): 4136 (.navigation-sidebar-panel-content-tree-outline .item.selected): 4137 (.navigation-sidebar-panel-content-tree-outline:focus .item.selected): 4138 (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): 4139 * UserInterface/Views/ProbeSetDataGrid.css: 4140 (.details-section.probe-set .data-grid > .data-container td.unknown-value): 4141 (.details-section.probe-set .data-grid th): 4142 * UserInterface/Views/RadioButtonNavigationItem.css: 4143 (.navigation-bar .item.radio.button.text-only.selected): 4144 * UserInterface/Views/TextEditor.css: 4145 (.text-editor .bouncy-highlight): 4146 * UserInterface/Views/TimelineContentView.css: 4147 (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data): 4148 * UserInterface/Views/TimelineDataGrid.css: 4149 (.timeline-data-grid-tree-outline .item:hover): 4150 * UserInterface/Views/TimelineRuler.css: 4151 (.timeline-ruler > .header > .divider): 4152 * UserInterface/Views/TimelineSidebarPanel.css: 4153 (.sidebar > .panel.timeline > .title-bar): 4154 (.sidebar > .panel.timeline > .content > .stripe-background): 4155 * UserInterface/Views/Toolbar.css: 4156 (body:not(.mac-platform) .toolbar): 4157 (body.docked.mac-platform.mavericks .toolbar): 4158 41592014-02-24 Timothy Hatcher <timothy@apple.com> 4160 4161 Fix the missing navigation bar in the Debugger sidebar panel. 4162 4163 Sorting the CSS resources caused specificity issue. 4164 4165 https://bugs.webkit.org/show_bug.cgi?id=129251 4166 4167 Reviewed by Joseph Pecoraro. 4168 4169 * UserInterface/Views/DebuggerSidebarPanel.css: 4170 (.sidebar > .panel.navigation.debugger > .content): 4171 (.sidebar > .panel.navigation.debugger > .navigation-bar): 4172 * UserInterface/Views/LayoutTimelineView.css: 4173 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): 4174 * UserInterface/Views/NetworkTimelineView.css: 4175 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): 4176 * UserInterface/Views/ResourceSidebarPanel.css: 4177 (.sidebar > .panel.navigation.resource > .empty-content-placeholder): 4178 (.sidebar > .panel.navigation.resource > .search-bar): 4179 (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]): 4180 * UserInterface/Views/ScriptTimelineView.css: 4181 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): 4182 * UserInterface/Views/TimelineSidebarPanel.css: 4183 (.sidebar > .panel.navigation.timeline > .status-bar): 4184 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): 4185 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): 4186 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): 4187 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover): 4188 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced): 4189 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced): 4190 (.sidebar > .panel.navigation.timeline > .status-bar > .record-status): 4191 (.sidebar > .panel.navigation.timeline > .title-bar): 4192 (.sidebar > .panel.navigation.timeline > .title-bar.timelines): 4193 (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events): 4194 (.sidebar > .panel.navigation.timeline > .timelines-content): 4195 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button): 4196 (.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon): 4197 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button): 4198 (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)): 4199 (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)): 4200 (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): 4201 (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): 4202 (.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active): 4203 (.sidebar > .panel.navigation.timeline > .empty-content-placeholder): 4204 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content): 4205 (.sidebar > .panel.navigation.timeline > .content > .stripe-background): 4206 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): 4207 42082014-02-24 Timothy Hatcher <timothy@apple.com> 4209 4210 Give non-Mac platforms a default toolbar background so it isn't just white. 4211 4212 https://bugs.webkit.org/show_bug.cgi?id=129260 4213 4214 Reviewed by Joseph Pecoraro. 4215 4216 * UserInterface/Base/Main.js: 4217 (WebInspector.contentLoaded): Style the boby with platform classes. 4218 * UserInterface/Base/Utilities.js: 4219 (String.prototype.contains): Added. 4220 * UserInterface/Views/Toolbar.css: 4221 (body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background. 4222 (body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added. 4223 (body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac. 4224 42252014-02-24 Diego Pino Garcia <dpino@igalia.com> 4226 4227 Web Inspector: Remove single quote characters from Web Inspector JavaScript files 4228 https://bugs.webkit.org/show_bug.cgi?id=129253 4229 4230 Reviewed by Timothy Hatcher. 4231 4232 * UserInterface/Base/Main.js: 4233 (WebInspector.openURL): 4234 * UserInterface/Views/CookieStorageContentView.js: 4235 (WebInspector.cookieDomainMatchesResourceDomain): 4236 * UserInterface/Views/DOMTreeElement.js: 4237 (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition): 4238 (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted): 4239 (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled): 4240 (WebInspector.DOMTreeElement.prototype._startEditingTagName): 4241 * UserInterface/Views/DOMTreeOutline.js: 4242 (WebInspector.DOMTreeOutline.prototype._ondragover): 4243 * UserInterface/Views/DataGrid.js: 4244 (WebInspector.DataGrid.prototype.addPlaceholderNode): 4245 42462014-02-23 Dan Bernstein <mitz@apple.com> 4247 4248 Removed -Wno-format-y2k from WARNING_CFLAGS 4249 4250 Rubber-stamped by Sam Weinig. 4251 4252 * Configurations/Base.xcconfig: 4253 42542014-02-23 Diego Pino García <dpino@igalia.com> 4255 4256 [GTK] Fix build after Web Inspector code reorganization (r164543) 4257 https://bugs.webkit.org/show_bug.cgi?id=129231 4258 4259 Reviewed by Dean Jackson. 4260 4261 * GNUmakefile.am: 4262 Modify paths to Web Inspector code. 4263 42642014-02-23 Antoine Quint <graouts@webkit.org> 4265 4266 Web Inspector: color picker sliders aren't laid out correctly 4267 https://bugs.webkit.org/show_bug.cgi?id=129234 4268 4269 Reviewed by Joseph Pecoraro. 4270 4271 While it's unclear to me what happened, the "position" property for the color picker sliders 4272 wasn't being computed as expected and used relative positioning. I assume this is related to 4273 r164543 when the order of CSS files changed. 4274 4275 * UserInterface/Views/Slider.css: 4276 (.slider): 4277 42782014-02-22 Dan Bernstein <mitz@apple.com> 4279 4280 REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com 4281 https://bugs.webkit.org/show_bug.cgi?id=129227 4282 4283 Reviewed by Eric Carlson. 4284 4285 Reverted r164507. 4286 4287 * UserInterface/Views/ConsoleMessageImpl.js: 4288 (WebInspector.ConsoleMessageImpl.prototype._formatMessage): 4289 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement): 4290 42912014-02-21 Timothy Hatcher <timothy@apple.com> 4292 4293 Organize WebInspectorUI/UserInterface into sub-directories. 4294 4295 https://bugs.webkit.org/show_bug.cgi?id=129194 4296 4297 Rubber-stamped by Joseph Pecoraro. 4298 4299 * Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths. 4300 * UserInterface/Base: Added. 4301 * UserInterface/Controllers: Added. 4302 * UserInterface/Images: Added. 4303 * UserInterface/Main.html: Updated. 4304 * UserInterface/Models Added. 4305 * UserInterface/Protocol Added. 4306 * UserInterface/Views: Added. 4307 43082014-02-21 Timothy Hatcher <timothy@apple.com> 4309 4310 Add inspection user interface for IndexedDB. 4311 4312 https://bugs.webkit.org/show_bug.cgi?id=129162 4313 4314 Reviewed by Joseph Pecoraro. 4315 4316 * Localizations/en.lproj/localizedStrings.js: Updated. 4317 * UserInterface/ContentView.js: 4318 (WebInspector.ContentView): 4319 (WebInspector.ContentView.isViewable): 4320 * UserInterface/IndexedDatabase.js: Added. 4321 (WebInspector.IndexedDatabase): 4322 (WebInspector.IndexedDatabase.prototype.get name): 4323 (WebInspector.IndexedDatabase.prototype.get securityOrigin): 4324 (WebInspector.IndexedDatabase.prototype.get host): 4325 (WebInspector.IndexedDatabase.prototype.get version): 4326 (WebInspector.IndexedDatabase.prototype.get objectStores): 4327 (WebInspector.IndexedDatabase.prototype.saveIdentityToCookie): 4328 * UserInterface/IndexedDatabaseEntryDataGridNode.js: Added. 4329 (WebInspector.IndexedDatabaseEntryDataGridNode): 4330 (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry): 4331 (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent): 4332 * UserInterface/IndexedDatabaseHostTreeElement.js: Added. 4333 (WebInspector.IndexedDatabaseHostTreeElement): 4334 (WebInspector.IndexedDatabaseHostTreeElement.prototype.get name): 4335 (WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName): 4336 * UserInterface/IndexedDatabaseObjectStore.js: Added. 4337 (WebInspector.IndexedDatabaseObjectStore): 4338 (WebInspector.IndexedDatabaseObjectStore.prototype.get name): 4339 (WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath): 4340 (WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement): 4341 (WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase): 4342 (WebInspector.IndexedDatabaseObjectStore.prototype.get indexes): 4343 (WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie): 4344 (WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship): 4345 * UserInterface/IndexedDatabaseObjectStoreContentView.css: Added. 4346 (.content-view.indexed-database-object-store > .data-grid): 4347 (.content-view.indexed-database-object-store > .data-grid td .section .header): 4348 (.content-view.indexed-database-object-store > .data-grid td .section .header::before): 4349 (.content-view.indexed-database-object-store > .data-grid td .section .header .title): 4350 (.content-view.indexed-database-object-store > .data-grid table.data): 4351 (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)): 4352 (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)): 4353 (.content-view.indexed-database-object-store > .data-grid table.data tr.filler): 4354 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before): 4355 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before): 4356 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before): 4357 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before): 4358 (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *): 4359 * UserInterface/IndexedDatabaseObjectStoreContentView.js: Added. 4360 (WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath): 4361 (WebInspector.IndexedDatabaseObjectStoreContentView): 4362 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed): 4363 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie): 4364 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout): 4365 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset): 4366 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled): 4367 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries): 4368 (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData): 4369 * UserInterface/IndexedDatabaseObjectStoreIndex.js: Added. 4370 (WebInspector.IndexedDatabaseObjectStoreIndex): 4371 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name): 4372 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath): 4373 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique): 4374 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry): 4375 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore): 4376 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie): 4377 (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship): 4378 * UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added. 4379 (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): 4380 (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex): 4381 * UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added. 4382 (WebInspector.IndexedDatabaseObjectStoreTreeElement): 4383 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore): 4384 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse): 4385 (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate): 4386 * UserInterface/IndexedDatabaseTreeElement.js: Added. 4387 (WebInspector.IndexedDatabaseTreeElement): 4388 (WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase): 4389 (WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse): 4390 (WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate): 4391 * UserInterface/Main.html: 4392 * UserInterface/Main.js: 4393 (WebInspector.sidebarPanelForRepresentedObject): 4394 * UserInterface/ResourceSidebarPanel.js: 4395 (WebInspector.ResourceSidebarPanel): 4396 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): 4397 (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded): 4398 (WebInspector.ResourceSidebarPanel.prototype._storageCleared): 4399 * UserInterface/StorageManager.js: 4400 (WebInspector.StorageManager): 4401 (WebInspector.StorageManager.prototype.initialize): 4402 (WebInspector.StorageManager.prototype.processData): 4403 (WebInspector.StorageManager.prototype.requestIndexedDatabaseData): 4404 (WebInspector.StorageManager.prototype._mainResourceDidChange): 4405 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames): 4406 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase): 4407 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded): 4408 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore): 4409 (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex): 4410 (WebInspector.StorageManager.prototype._securityOriginDidChange): 4411 * UserInterface/URLUtilities.js: 4412 (parseSecurityOrigin): 4413 44142014-02-22 Antoine Quint <graouts@webkit.org> 4415 4416 Web Inspector: allow drag-to-adjust on angle input of gradients editor 4417 https://bugs.webkit.org/show_bug.cgi?id=129095 4418 4419 Reviewed by Timothy Hatcher. 4420 4421 Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move 4422 the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController. 4423 We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior 4424 in the angle input field of the gradient editor and also as a supporting object for the CodeMirror- 4425 specific class. 4426 4427 * UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css. 4428 (.CodeMirror.drag-to-adjust .CodeMirror-lines): 4429 4430 * UserInterface/CodeMirrorDragToAdjustNumberController.js: Added. 4431 Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement 4432 the various DragToAdjustController delegate methods in order to customize its behavior to work within the 4433 context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to 4434 prevent adjustment when the hovered token isn't a number. 4435 4436 (WebInspector.CodeMirrorDragToAdjustNumberController): 4437 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled): 4438 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled): 4439 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged): 4440 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated): 4441 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted): 4442 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount): 4443 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset): 4444 (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint): 4445 4446 * UserInterface/CodeMirrorGradientEditingController.css: 4447 (.gradient-editing-controller > label.drag-to-adjust > input): 4448 4449 * UserInterface/CodeMirrorGradientEditingController.js: 4450 Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging. 4451 4452 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent): 4453 (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount): 4454 (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent): 4455 (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange): 4456 4457 * UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js. 4458 New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context 4459 of a DOM element, exposing a few delegation methods to customize the controller's behavior: 4460 4461 - dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup 4462 and cleanup work to be performed. 4463 4464 - dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset 4465 allowing other state objects used by clients to be cleared. 4466 4467 - dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon 4468 first hovering the target element. 4469 4470 - dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when 4471 the user actually is about to engage in a drag-to-adjust interaction. 4472 4473 - dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse 4474 location) is an adjustable value. 4475 4476 - dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value 4477 following a drag-to-adjust interaction. 4478 4479 (WebInspector.DragToAdjustController): 4480 (WebInspector.DragToAdjustController.prototype.get element): 4481 (WebInspector.DragToAdjustController.prototype.set element): 4482 (WebInspector.DragToAdjustController.prototype.set enabled): 4483 (WebInspector.DragToAdjustController.prototype.get active): 4484 (WebInspector.DragToAdjustController.prototype.set active): 4485 (WebInspector.DragToAdjustController.prototype.reset): 4486 (WebInspector.DragToAdjustController.prototype.handleEvent): 4487 (WebInspector.DragToAdjustController.prototype._setDragging): 4488 (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag): 4489 (WebInspector.DragToAdjustController.prototype._modifiersDidChange): 4490 (WebInspector.DragToAdjustController.prototype._mouseMoved): 4491 (WebInspector.DragToAdjustController.prototype._mouseWasPressed): 4492 (WebInspector.DragToAdjustController.prototype._mouseWasDragged): 4493 (WebInspector.DragToAdjustController.prototype._mouseWasReleased): 4494 4495 * UserInterface/Main.html: 4496 Link in new source files. 4497 44982014-02-21 Chi Wai Lau <clau@apple.com> 4499 4500 Web Inspector: Replace binarySearch with lowerBound and upperBound functions 4501 https://bugs.webkit.org/show_bug.cgi?id=118609 4502 4503 Reviewed by Timothy Hatcher. 4504 4505 This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n). 4506 4507 * UserInterface/BinarySearch.js: Removed. 4508 * UserInterface/Main.html: 4509 * UserInterface/Utilities.js: 4510 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 4511 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 4512 45132014-02-21 Brian Burg <bburg@apple.com> 4514 4515 Web Inspector: animate breakpoint tree elements when probe samples are received 4516 https://bugs.webkit.org/show_bug.cgi?id=128334 4517 4518 Reviewed by Timothy Hatcher. 4519 4520 * UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file. 4521 4522 * UserInterface/BreakpointTreeElement.css: When we want to animateon top of the 4523 static icon, we set the icon image as the icon element's background, and animate 4524 a span on top of the icon element. 4525 4526 (.breakpoint-exception-icon .icon): Moved. 4527 (.breakpoint-generic-line-icon .icon): 4528 (.breakpoint-generic-line-icon .icon > span): Added. 4529 (.data-updated.breakpoint-generic-line-icon .icon > span): Added. 4530 4531 * UserInterface/BreakpointTreeElement.js: 4532 (WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet. 4533 (WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners. 4534 (WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added. 4535 (WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added. 4536 (WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added. 4537 (WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added. 4538 Add/remove listeners when probe sets change. 4539 4540 (WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow 4541 the active data table. 4542 4543 (WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes. 4544 (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak. 4545 * UserInterface/Main.html: Remove BreakpointIcons.css. 4546 * UserInterface/NavigationSidebarPanel.css: 4547 (.navigation-sidebar-panel-content-tree-outline .item .icon): give icons 4548 'position: relative' so child spans can be absolutely positioned. 4549 * UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data 4550 container. The probe set used to be passed as the data container itself. 4551 (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded): 4552 * UserInterface/ProbeManager.js: 4553 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers): 4554 (WebInspector.ProbeManager.prototype._breakpointActionsChanged): 4555 (WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this): 4556 * UserInterface/ProbeSet.js: 4557 (WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data. 4558 * UserInterface/TextResourceContentView.js: 4559 (WebInspector.TextResourceContentView.prototype._probeSetsChanged): 4560 45612014-02-21 Joseph Pecoraro <pecoraro@apple.com> 4562 4563 Web Inspector: JSContext inspection should report exceptions in the console 4564 https://bugs.webkit.org/show_bug.cgi?id=128776 4565 4566 Reviewed by Timothy Hatcher. 4567 4568 * UserInterface/ConsoleMessageImpl.js: 4569 (WebInspector.ConsoleMessageImpl.prototype._formatMessage): 4570 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL): 4571 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame): 4572 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement): 4573 Provide better handling for "[native code]" and legacy "undefined" 4574 call frame URLs. Never linkify these. Also, when showing a link 4575 for an exception, always use the first non-native call frame as 4576 the link location. 4577 45782014-02-21 Joseph Pecoraro <pecoraro@apple.com> 4579 4580 Revert r164486, causing a number of test failures. 4581 4582 Unreviewed rollout. 4583 45842014-02-21 Joseph Pecoraro <pecoraro@apple.com> 4585 4586 Web Inspector: JSContext inspection should report exceptions in the console 4587 https://bugs.webkit.org/show_bug.cgi?id=128776 4588 4589 Reviewed by Timothy Hatcher. 4590 4591 * UserInterface/ConsoleMessageImpl.js: 4592 (WebInspector.ConsoleMessageImpl.prototype._formatMessage): 4593 (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL): 4594 (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame): 4595 (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement): 4596 Provide better handling for "[native code]" and legacy "undefined" 4597 call frame URLs. Never linkify these. Also, when showing a link 4598 for an exception, always use the first non-native call frame as 4599 the link location. 4600 46012014-02-21 Antoine Quint <graouts@webkit.org> 4602 4603 Web Inspector: scrollbar may appear when selecting a stop in gradient editor 4604 https://bugs.webkit.org/show_bug.cgi?id=129149 4605 4606 Reviewed by Timothy Hatcher. 4607 4608 Ensure the angle input is not focused as we update the size of the gradient editor's 4609 popover content since, if it were, it'd make a scrollbar appear as we animate the 4610 popover's frame to fit its new content. 4611 4612 * UserInterface/CodeMirrorGradientEditingController.js: 4613 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected): 4614 46152014-02-20 Antoine Quint <graouts@webkit.org> 4616 4617 Web Inspector: rich editing of CSS gradients 4618 https://bugs.webkit.org/show_bug.cgi?id=119686 4619 4620 Reviewed by Timothy Hatcher. 4621 4622 Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController 4623 to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget 4624 allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit 4625 the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing. 4626 4627 * Localizations/en.lproj/localizedStrings.js: 4628 New localized strings for the content of the gradient editing controller popover. 4629 4630 * UserInterface/CodeMirrorAdditions.js: 4631 New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and 4632 looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient. 4633 In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing 4634 parenthesis since there can be nested opening and closing parentheses as colors are specified for stops. 4635 4636 * UserInterface/CodeMirrorGradientEditingController.css: Added. 4637 (.gradient-editing-controller): 4638 (.gradient-editing-controller.edits-color): 4639 (.gradient-editing-controller.radial-gradient): 4640 (.gradient-editing-controller.edits-color.radial-gradient): 4641 (.gradient-editing-controller select): 4642 (.gradient-editing-controller .gradient-slider): 4643 (.gradient-editing-controller .color-picker): 4644 (.gradient-editing-controller > .color-picker > .slider): 4645 (.gradient-editing-controller > .color-picker > .brightness): 4646 (.gradient-editing-controller > .color-picker > .opacity): 4647 (.gradient-editing-controller > label): 4648 (.gradient-editing-controller.radial-gradient > label): 4649 (.gradient-editing-controller.edits-color > label): 4650 (.gradient-editing-controller > label > input): 4651 4652 * UserInterface/CodeMirrorGradientEditingController.js: Added. 4653 (WebInspector.CodeMirrorGradientEditingController): 4654 (WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue): 4655 (WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName): 4656 (WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges): 4657 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects): 4658 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent): 4659 (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent): 4660 Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us 4661 to customize the popover's appearance, mostly to control how it attaches to the gradient 4662 strings in the editor. 4663 4664 (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent): 4665 Event handler for changes in the <select> governing gradient type and <input> for the angle. 4666 4667 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange): 4668 Implementation of a GradientSlider delegation method, we use this to update the .text property 4669 in order to propagate the stops change to the editor. 4670 4671 (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected): 4672 Implementation of a GradientSlider delegation method, we use this to control the display of the 4673 ColorPicker used to edit the color of a selected stop. 4674 4675 (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent): 4676 Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value. 4677 4678 (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent): 4679 Deal with changes in the <select> for the type, preserving the stops list from one gradient type 4680 to the other. Gradient type-specific information (angle for linear gradients, sizing for radial 4681 gradients) is lost as we toggle between gradient types. 4682 4683 (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged): 4684 Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and 4685 and update the .text property in order to propagate the stops change to the editor. 4686 4687 (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType): 4688 As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show 4689 the angle <input> which is only relevant for linear gradients. 4690 4691 * UserInterface/ColorPicker.js: 4692 (WebInspector.ColorPicker): 4693 Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider. 4694 4695 (WebInspector.ColorPicker.prototype.get colorWheel): 4696 Expose the ColorWheel such that it can be sized by ColorPicker clients. 4697 4698 (WebInspector.ColorPicker.prototype._updateColor): 4699 Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version 4700 of the color even though the base format was HSL. 4701 4702 * UserInterface/Gradient.js: Added. 4703 Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case 4704 of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the 4705 sizing information as a string and parse only the gradient stops as the sizing information is only useful to show 4706 in an editor if attached to an element with metrics. 4707 4708 Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement 4709 the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles 4710 and color stop offsets and only print those as necessary and use shorthands when possible. 4711 4712 (WebInspector.Gradient.fromString): 4713 (WebInspector.Gradient.stopsWithComponents): 4714 (WebInspector.Gradient.stringFromStops): 4715 (WebInspector.LinearGradient): 4716 (WebInspector.LinearGradient.linearGradientWithComponents): 4717 (WebInspector.LinearGradient.prototype.copy): 4718 (WebInspector.LinearGradient.prototype.toString): 4719 (WebInspector.RadialGradient): 4720 (WebInspector.RadialGradient.radialGradientWithComponents): 4721 (WebInspector.RadialGradient.prototype.copy): 4722 (WebInspector.RadialGradient.prototype.toString): 4723 4724 * UserInterface/GradientSlider.css: Added. 4725 (.gradient-slider): 4726 (.gradient-slider > canvas): 4727 (.gradient-slider > .add-area): 4728 (.gradient-slider-knob): 4729 (.gradient-slider-knob.shadow): 4730 (.gradient-slider-knob.selected): 4731 (.gradient-slider-knob.detaching): 4732 (.gradient-slider-knob.fade-out): 4733 (.gradient-slider-knob > div): 4734 (.gradient-slider-knob > img): 4735 4736 * UserInterface/GradientSlider.js: Added. 4737 Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element 4738 that draws the gradient as a linear gradient from left to right with checkers in the background to correctly 4739 display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided 4740 stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to 4741 detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only 4742 one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob. 4743 4744 (WebInspector.GradientSlider): 4745 (WebInspector.GradientSlider.prototype.get element): 4746 (WebInspector.GradientSlider.prototype.get stops): 4747 (WebInspector.GradientSlider.prototype.set stops): 4748 (WebInspector.GradientSlider.prototype.get selectedStop): 4749 (WebInspector.GradientSlider.prototype.handleEvent): 4750 (WebInspector.GradientSlider.prototype.handleKeydownEvent): 4751 (WebInspector.GradientSlider.prototype.knobXDidChange): 4752 (WebInspector.GradientSlider.prototype.knobCanDetach): 4753 (WebInspector.GradientSlider.prototype.knobWillDetach): 4754 (WebInspector.GradientSlider.prototype.knobSelectionChanged): 4755 (WebInspector.GradientSlider.prototype._handleMouseover): 4756 (WebInspector.GradientSlider.prototype._handleMousemove): 4757 (WebInspector.GradientSlider.prototype._handleMouseout): 4758 (WebInspector.GradientSlider.prototype._handleClick): 4759 (WebInspector.GradientSlider.prototype._updateShadowKnob): 4760 (WebInspector.GradientSlider.prototype._sortStops): 4761 (WebInspector.GradientSlider.prototype._updateStops): 4762 (WebInspector.GradientSlider.prototype._updateCanvas): 4763 (WebInspector.GradientSlider.prototype._updateKnobs): 4764 (WebInspector.GradientSliderKnob): 4765 (WebInspector.GradientSliderKnob.prototype.get element): 4766 (WebInspector.GradientSliderKnob.prototype.get stop): 4767 (WebInspector.GradientSliderKnob.prototype.set stop): 4768 (WebInspector.GradientSliderKnob.prototype.get x): 4769 (WebInspector.GradientSliderKnob.prototype.set x): 4770 (WebInspector.GradientSliderKnob.prototype.get y): 4771 (WebInspector.GradientSliderKnob.prototype.set y): 4772 (WebInspector.GradientSliderKnob.prototype.get wellColor): 4773 (WebInspector.GradientSliderKnob.prototype.set wellColor): 4774 (WebInspector.GradientSliderKnob.prototype.get selected): 4775 (WebInspector.GradientSliderKnob.prototype.set selected): 4776 (WebInspector.GradientSliderKnob.prototype.handleEvent): 4777 (WebInspector.GradientSliderKnob.prototype._handleMousedown): 4778 (WebInspector.GradientSliderKnob.prototype._handleMousemove): 4779 (WebInspector.GradientSliderKnob.prototype._handleMouseup): 4780 (WebInspector.GradientSliderKnob.prototype._handleTransitionEnd): 4781 (WebInspector.GradientSliderKnob.prototype._updateTransform): 4782 4783 * UserInterface/Images/Checkers.svg: Added. 4784 New asset to draw checkers for color wells. 4785 4786 * UserInterface/Images/GradientStop.png: Added. 4787 * UserInterface/Images/GradientStop@2x.png: Added. 4788 * UserInterface/Images/GradientStopSelected.png: Added. 4789 * UserInterface/Images/GradientStopSelected@2x.png: Added. 4790 New assets used by the gradient slider. 4791 4792 * UserInterface/Main.html: 4793 Link to the new source files. 4794 4795 * UserInterface/SourceCodeTextEditor.js: 4796 (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers): 4797 Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors. 4798 4799 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): 4800 Also recognize gradient markers as valid editable markers. 4801 4802 * UserInterface/TextEditor.js: 4803 (WebInspector.TextEditor.prototype.createGradientMarkers): 4804 Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses 4805 that have no knowledge of CodeMirror. 4806 4807 (WebInspector.TextEditor.prototype.editingControllerForMarker): 4808 Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type. 4809 4810 * UserInterface/TextMarker.js: 4811 Add the WebInspector.TextMarker.Type.Gradient type. 4812 48132014-02-20 Antoine Quint <graouts@webkit.org> 4814 4815 Web Inspector: create a CodeMirrorEditingController superclass 4816 https://bugs.webkit.org/show_bug.cgi?id=129094 4817 4818 Reviewed by Timothy Hatcher. 4819 4820 Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to 4821 create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers. 4822 Additioanlly, we fix existing issues with such editing by supporting text markers spread across several 4823 lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover. 4824 4825 * UserInterface/CSSStyleDeclarationTextEditor.js: 4826 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 4827 Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single 4828 line number. 4829 4830 * UserInterface/CodeMirrorAdditions.js: 4831 Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better 4832 menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any 4833 line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the 4834 actual characters in the text marker. 4835 4836 We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to 4837 better deal with text markers spread across multiple lines. 4838 4839 * UserInterface/CodeMirrorColorEditingController.js: 4840 Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController). 4841 We also adopt new interfaces exposed by CodeMirrorEditingController. 4842 4843 (WebInspector.CodeMirrorColorEditingController): 4844 (WebInspector.CodeMirrorColorEditingController.prototype.get initialValue): 4845 (WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName): 4846 (WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent): 4847 (WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent): 4848 (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged): 4849 4850 * UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js. 4851 New class meant to be subclassed by any future editing controller, and already subclassed by 4852 CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior: 4853 4854 .initialValue: a value we can revert to if the editing is canceled 4855 .cssClassName: a CSS class name that can be added to the editing controller's container 4856 .popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default 4857 .popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects 4858 .popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content 4859 .popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after 4860 being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction 4861 within the popover without changing the serialized value upon showing the popover the very first time. 4862 4863 Additionally, the .value property must be an object supporting .toString() and .copy() method. 4864 4865 Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired 4866 as editing begins and finishes. 4867 4868 (WebInspector.CodeMirrorEditingController): 4869 (WebInspector.CodeMirrorEditingController.prototype.get marker): 4870 (WebInspector.CodeMirrorEditingController.prototype.get range): 4871 (WebInspector.CodeMirrorEditingController.prototype.get value): 4872 (WebInspector.CodeMirrorEditingController.prototype.set value): 4873 (WebInspector.CodeMirrorEditingController.prototype.get delegate): 4874 (WebInspector.CodeMirrorEditingController.prototype.set delegate): 4875 (WebInspector.CodeMirrorEditingController.prototype.get text): 4876 (WebInspector.CodeMirrorEditingController.prototype.set text): 4877 (WebInspector.CodeMirrorEditingController.prototype.get initialValue): 4878 (WebInspector.CodeMirrorEditingController.prototype.get cssClassName): 4879 (WebInspector.CodeMirrorEditingController.prototype.get popover): 4880 (WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges): 4881 (WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects): 4882 (WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu): 4883 (WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu): 4884 (WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent): 4885 (WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent): 4886 4887 (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent): 4888 Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method. 4889 4890 (WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed): 4891 (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover): 4892 4893 * UserInterface/Geometry.js: 4894 (WebInspector.Rect.unionOfRects): 4895 (WebInspector.Rect.prototype.unionWithRect): 4896 New utilities to get a Rect that is the union of the provided Rect or array of Rects. 4897 4898 (WebInspector.Polygon): 4899 (WebInspector.Polygon.prototype.bounds): 4900 New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class. 4901 4902 * UserInterface/HoverMenu.css: 4903 (.hover-menu): 4904 (.hover-menu > svg): 4905 (.hover-menu > svg > rect): 4906 (.hover-menu > img): 4907 4908 * UserInterface/HoverMenu.js: 4909 We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple 4910 Rect and instead support presentation based on an array of Rects where we either: 4911 4912 - draw a single rounded rectangle if there is only a single Rect provided 4913 - draw two disconnected open-ended rects if we're provided with two non-overlapping Rects 4914 - draw a polygon surrounding all provided Rects in all other cases 4915 4916 No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements. 4917 4918 (WebInspector.HoverMenu): 4919 (WebInspector.HoverMenu.prototype.present): 4920 (WebInspector.HoverMenu.prototype.dismiss): 4921 (WebInspector.HoverMenu.prototype.handleEvent): 4922 (WebInspector.HoverMenu.prototype._handleClickEvent): 4923 (WebInspector.HoverMenu.prototype._drawOutline): 4924 (WebInspector.HoverMenu.prototype._addRect): 4925 (WebInspector.HoverMenu.prototype._addPath): 4926 (WebInspector.HoverMenu.prototype._drawSingleLine): 4927 (WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines): 4928 (WebInspector.HoverMenu.prototype._drawOverlappingLines): 4929 4930 * UserInterface/Main.html: 4931 Link to the new CodeMirrorEditingController class. 4932 4933 * UserInterface/Main.js: 4934 Expose a new mechanism to deal with window-level handling of keydown events in order to allow 4935 a list of handlers to accept or reject dealing with the provided keydown event based on the order 4936 they were registered, in most recent to oldest registered handler. This allows, for instance, for 4937 a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and 4938 bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies 4939 to compete with handling of keydown events. 4940 4941 (WebInspector.loaded): 4942 (WebInspector.addWindowKeydownListener): 4943 (WebInspector.removeWindowKeydownListener): 4944 (WebInspector._updateWindowKeydownListener): 4945 (WebInspector._sharedWindowKeydownListener): 4946 4947 * UserInterface/SourceCodeTextEditor.css: 4948 (.hover-menu.color > img): 4949 Update the offset applied to a HoverMenu button based on the change of layout for such buttons which 4950 are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model. 4951 4952 * UserInterface/SourceCodeTextEditor.js: 4953 Abstrct away the assumption that only a color editing controller may be used to edit text markers in 4954 a source code text editor. 4955 4956 (WebInspector.SourceCodeTextEditor.prototype.hidden): 4957 Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden. 4958 This would happen in the situation where a keyboard shortcut was used to jump to another part of the 4959 Web Inspector UI without using the mouse. 4960 4961 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange): 4962 Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of 4963 changed lines and call ._updateEditableMarkers() with the changed range directly instead. 4964 4965 (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): 4966 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate): 4967 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker): 4968 Adopt the more generic method names rather than color-specific ones. 4969 4970 (WebInspector.SourceCodeTextEditor.prototype._showPopover): 4971 When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression 4972 when debugging, also deal with the possibility of the highlighted range containing multiple lines rather 4973 than assume a single line. 4974 4975 (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers): 4976 More generic method name to support future, non-color editing controllers. 4977 4978 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): 4979 Find the outermost marker in the list of markers provided such that a marker containing other markers 4980 shows the UI for the containing marker. For instance, a gradient marker would contain several color 4981 markers and it's preferable to show the editing UI for the whole gradient rather than a specific color. 4982 4983 Additionally, adopt more generic ivars and method names to support future, non-color editing controllers. 4984 4985 (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController): 4986 Support for new parameter instructing that the editing controller dismissal should be instant rather than 4987 animated, which is the default. This is useful when, for instance, the text editor is cleared. 4988 4989 (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing): 4990 (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing): 4991 Adopt the more generic method names rather than color-specific ones. 4992 4993 * UserInterface/TextEditor.js: 4994 (WebInspector.TextEditor.prototype.rectsForRange): 4995 Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may 4996 draw a more pleasing HoverMenu. 4997 4998 (WebInspector.TextEditor.prototype.createColorMarkers): 4999 Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method. 5000 5001 (WebInspector.TextEditor.prototype.editingControllerForMarker): 5002 Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class. 5003 5004 * UserInterface/TextMarker.js: 5005 (WebInspector.TextMarker.prototype.get rects): 5006 Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method. 5007 50082014-02-20 Antoine Quint <graouts@webkit.org> 5009 5010 Web Inspector: Popover should animate its frame to display its refreshed content 5011 https://bugs.webkit.org/show_bug.cgi?id=129088 5012 5013 Reviewed by Timothy Hatcher. 5014 5015 When calling .update(), we now check whether we can animate the change of frame provided the 5016 new computed frame to best fit the current content still matches the edge the popover uses 5017 to attach to the target frame. If we find that we can do so, we animate the background frame 5018 of the popover while ensuring the anchor point remains stable during the animation such that 5019 only the popover's frame seems to animate. 5020 5021 * UserInterface/Geometry.js: 5022 (WebInspector.Rect.prototype.round): 5023 Returns a new Rect with rounded values, using a floor for the position and a ceil for the size. 5024 5025 * UserInterface/Main.html: 5026 Link to the new UnitBezier.js source file. 5027 5028 * UserInterface/Popover.js: 5029 (WebInspector.Popover): 5030 Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into 5031 the various calls leading to an update of the popover's background drawing. 5032 5033 (WebInspector.Popover.prototype.set frame): 5034 We no longer round the values of the frame here, instead calling the new .round() method on Rect 5035 in places where we compute a new frame. 5036 5037 (WebInspector.Popover.prototype.set content): 5038 (WebInspector.Popover.prototype.update): 5039 Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the 5040 popover is already visible. 5041 5042 (WebInspector.Popover.prototype._update): 5043 In the situation where there is a preference to animate the frame, as set by the new shouldAnimate 5044 parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to 5045 the target frame remains the same upon computing the new best metrics for the new content size. If 5046 we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame 5047 drawing discretely like we used to. 5048 5049 (WebInspector.Popover.prototype._setAnchorPoint): 5050 New method to ensure we floor the position of the anchor point to ensure, when animating, that the 5051 anchor point remains stationary. 5052 5053 (WebInspector.Popover.prototype._animateFrame): 5054 Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed 5055 value while ensuring the anchor point remains, at all times, the same absolute position such that it 5056 remains stationary during the animation. The spline used to animate the frame is the same that a CSS 5057 transition set with an "ease" timing-function (default value) would use. 5058 5059 (WebInspector.Popover.prototype._drawBackground): 5060 (WebInspector.Popover.prototype._drawFrame): 5061 Adopt new ._edge and ._anchorPoint ivars. 5062 5063 * UserInterface/UnitBezier.js: Added. 5064 New class used to perform animations using a timing function specified with a cubic Bézier curve. The code 5065 is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file. 5066 5067 (WebInspector.UnitBezier): 5068 (WebInspector.UnitBezier.prototype.solve): 5069 (WebInspector.UnitBezier.prototype._sampleCurveX): 5070 (WebInspector.UnitBezier.prototype._sampleCurveY): 5071 (WebInspector.UnitBezier.prototype._sampleCurveDerivativeX): 5072 (WebInspector.UnitBezier.prototype._solveCurveX): 5073 50742014-02-20 Antoine Quint <graouts@webkit.org> 5075 5076 Web Inspector: content using a CSS transition within a popover causes the popover to disappear 5077 https://bugs.webkit.org/show_bug.cgi?id=129089 5078 5079 Reviewed by Timothy Hatcher. 5080 5081 Simply check that the element being transitioned is indeed the popover's container before assuming 5082 that the "transitonend" received was for a fade-out transition. 5083 5084 * UserInterface/Popover.js: 5085 (WebInspector.Popover.prototype.handleEvent): 5086 50872014-02-20 Antoine Quint <graouts@webkit.org> 5088 5089 Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover 5090 https://bugs.webkit.org/show_bug.cgi?id=129093 5091 5092 Reviewed by Timothy Hatcher. 5093 5094 If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit 5095 such colors. 5096 5097 * UserInterface/CSSStyleDeclarationTextEditor.js: 5098 50992014-02-19 Joseph Pecoraro <pecoraro@apple.com> 5100 5101 Web Inspector: Remove unused InspectorBackend member variable 5102 https://bugs.webkit.org/show_bug.cgi?id=129053 5103 5104 Reviewed by Timothy Hatcher. 5105 5106 * UserInterface/InspectorBackend.js: 5107 (InspectorBackendClass): 5108 (InspectorBackendClass.prototype.registerCommand): 5109 (InspectorBackendClass.prototype.registerEnum): 5110 (InspectorBackendClass.prototype.registerEvent): 5111 51122014-02-19 James Craig <jcraig@apple.com> 5113 5114 Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc) 5115 https://bugs.webkit.org/show_bug.cgi?id=129037 5116 5117 Reviewed by Timothy Hatcher. 5118 5119 Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status. 5120 5121 * Localizations/en.lproj/localizedStrings.js: 5122 * UserInterface/DOMNode.js: 5123 * UserInterface/DOMNodeDetailsSidebarPanel.js: 5124 51252014-02-18 James Craig <jcraig@apple.com> 5126 5127 Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored) 5128 https://bugs.webkit.org/show_bug.cgi?id=128504 5129 5130 Reviewed by Timothy Hatcher. 5131 5132 Additions to the accessibility node inspector: exists, required, invalid. 5133 5134 * Localizations/en.lproj/localizedStrings.js: 5135 * UserInterface/DOMNode.js: 5136 * UserInterface/DOMNodeDetailsSidebarPanel.js: 5137 51382014-02-18 Antoine Quint <graouts@webkit.org> 5139 5140 Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color 5141 https://bugs.webkit.org/show_bug.cgi?id=128965 5142 5143 Reviewed by Timothy Hatcher. 5144 5145 Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in 5146 order to identify color markers that were created for a color. This fixes a regression introduced 5147 in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects. 5148 5149 * UserInterface/CSSStyleDeclarationTextEditor.js: 5150 (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update): 5151 (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): 5152 51532014-02-18 Antoine Quint <graouts@webkit.org> 5154 5155 Web Inspector: Editing transparent color shows incorrect opacity slider 5156 https://bugs.webkit.org/show_bug.cgi?id=128975 5157 5158 Reviewed by Joseph Pecoraro. 5159 5160 The opacity slider should show a range of colors from transparent to the full opacity of the tinted color. 5161 5162 * UserInterface/ColorPicker.js: 5163 (WebInspector.ColorPicker.prototype._updateSliders): 5164 51652014-02-18 Joseph Pecoraro <pecoraro@apple.com> 5166 5167 Web Inspector: shift-clicking #fff swatch results in bad rgb value 5168 https://bugs.webkit.org/show_bug.cgi?id=128954 5169 5170 Reviewed by Daniel Bates. 5171 5172 parseInt("FF", 16) is already 255. Do not multiply the result by 255. 5173 5174 * UserInterface/Color.js: 5175 (WebInspector.Color.fromString): 5176 51772014-02-18 Antoine Quint <graouts@webkit.org> 5178 5179 Web Inspector: color picker sliders sometime look wrong on Retina display 5180 https://bugs.webkit.org/show_bug.cgi?id=128963 5181 5182 Reviewed by Timothy Hatcher. 5183 5184 Round the values used to position and size popovers in order to ensure that their content don't suffer 5185 from poor pixel alignment on Retina displays. 5186 5187 * UserInterface/Popover.js: 5188 (WebInspector.Popover.prototype.set frame): 5189 51902014-02-17 Antoine Quint <graouts@webkit.org> 5191 5192 Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing 5193 https://bugs.webkit.org/show_bug.cgi?id=128909 5194 5195 Reviewed by Joseph Pecoraro. 5196 5197 Disregard any text that might be contained within a CSS selector. 5198 5199 * UserInterface/CodeMirrorAdditions.js: 5200 52012014-02-15 Chris J. Shull <chrisjshull@gmail.com> 5202 5203 Web Inspector: scope chain details sidebar doesn't update values modified via console 5204 https://bugs.webkit.org/show_bug.cgi?id=126855 5205 5206 Reviewed by Timothy Hatcher. 5207 5208 Add a RuntimeManager event that the scope chain details sidebar can 5209 listen to to trigger refresh. 5210 5211 Testing on this is blocked by http://webkit.org/b/128724 5212 (Web Inspector: Issue testing breakpoints). 5213 5214 * UserInterface/RuntimeManager.js: 5215 (WebInspector.RuntimeManager.prototype.evalCallback): 5216 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): 5217 * UserInterface/ScopeChainDetailsSidebarPanel.js: 5218 (WebInspector.ScopeChainDetailsSidebarPanel): 5219 52202014-02-14 Antoine Quint <graouts@webkit.org> 5221 5222 Web Inspector: color wheel should support Retina displays 5223 https://bugs.webkit.org/show_bug.cgi?id=124355 5224 5225 Reviewed by Timothy Hatcher. 5226 5227 Take into account the devicePixelRatio in order to draw the color wheel 5228 with as many colors as we can draw with the current DPI and to correctly 5229 convert from page coordinates to canvas coordinates when dealing with 5230 mouse events. 5231 5232 * UserInterface/ColorWheel.js: 5233 (WebInspector.ColorWheel.prototype.set dimension): 5234 (WebInspector.ColorWheel.prototype.get tintedColor): 5235 (WebInspector.ColorWheel.prototype.get rawColor): 5236 (WebInspector.ColorWheel.prototype._drawRawCanvas): 5237 (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness): 5238 (WebInspector.ColorWheel.prototype._drawTintedCanvas): 5239 (WebInspector.ColorWheel.prototype._draw): 5240 52412014-02-13 Brian Burg <bburg@apple.com> 5242 5243 Web Inspector: DataGrid should support editing tables with arbitrary columns 5244 https://bugs.webkit.org/show_bug.cgi?id=128619 5245 5246 Reviewed by Timothy Hatcher. 5247 5248 The data grid editing code should work with any columns, but was previously 5249 hardcoded with the column identifiers used by DOMStorageView. This patch 5250 makes the editing code work with any column identifiers. It also fixes some 5251 bugs in previous/next navigation during data entry. 5252 5253 * UserInterface/DOMStorageContentView.css: Highlight missing keys and values. 5254 (.content-view.dom-storage > .data-grid tr.missing-value td.value-column): 5255 (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column): 5256 5257 * UserInterface/DOMStorageContentView.js: Don't blow away the entire table 5258 whenever the backend notifies us of an update to the storage object. This 5259 caused the editing state to be destroyed when values were entered interactively. 5260 5261 (WebInspector.DOMStorageContentView.prototype.reset): Inline the callback 5262 passed to DOMStorageObject.getEntries(). 5263 (WebInspector.DOMStorageContentView.prototype.itemsCleared): 5264 (WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort 5265 of the table rows after backend tells us about item additions or updates. 5266 5267 (WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort 5268 of the table rows after backend tells us about item additions or updates. 5269 5270 (WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's 5271 built-in sorting function. 5272 5273 (WebInspector.DOMStorageContentView.prototype._deleteCallback): 5274 (WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force 5275 recreation of the entire table whenever editing finishes. Perform most 5276 of the error checking and editing logic here, including when to insert a 5277 new placeholder row, and when to commit the entered values to DOM storage. 5278 5279 * UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries 5280 in the model so we can detect duplicate entries. Remove unused `id` arguments. 5281 5282 (WebInspector.DOMStorageObject): 5283 (WebInspector.DOMStorageObject.prototype.get entries): 5284 (WebInspector.DOMStorageObject.prototype.itemsCleared): 5285 (WebInspector.DOMStorageObject.prototype.itemRemoved): 5286 (WebInspector.DOMStorageObject.prototype.set this): 5287 (WebInspector.DOMStorageObject.prototype.itemAdded): 5288 (WebInspector.DOMStorageObject.prototype.set var): 5289 (WebInspector.DOMStorageObject.prototype.itemUpdated): 5290 5291 * UserInterface/DataGrid.js: 5292 (.sortDataGrid): 5293 (WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid 5294 sortNodes() implementation. 5295 (WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed 5296 from _startEditingColumnOfDataGridNode. It's easier to understand the navigation 5297 code when presented in terms of adjusting column indexes rather than identifiers. 5298 5299 (WebInspector.DataGrid.prototype._startEditing): 5300 (WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which 5301 column and row to edit next and whether the table can be sorted before the 5302 next cell edit begins. 5303 5304 (WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for 5305 the above which handles sorting and beginning the next cell edit. 5306 5307 (WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods. 5308 (WebInspector.DataGrid.prototype._editingCancelled): Add an assert. 5309 (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten. 5310 (WebInspector.DataGrid.prototype.addPlaceholderNode): 5311 (WebInspector.DataGrid.prototype.removeChild): 5312 (WebInspector.DataGrid.prototype.): 5313 (WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying 5314 of all nodes into a separate array. Defer sorting if the user is in the 5315 middle of editing a cell. Make placeholder nodes always sort to the bottom 5316 regardless of the sort column identifier and sort direction. 5317 5318 (WebInspector.DataGridNode.prototype._attach): 5319 (WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode. 5320 (WebInspector.PlaceholderDataGridNode.prototype.makeNormal): 5321 5322 * UserInterface/StorageManager.js: Don't pass unused id argument. 5323 (WebInspector.StorageManager.prototype.itemRemoved): 5324 (WebInspector.StorageManager.prototype.itemAdded): 5325 (WebInspector.StorageManager.prototype.itemUpdated): 5326 53272014-02-13 Brian Burg <bburg@apple.com> 5328 5329 Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar 5330 https://bugs.webkit.org/show_bug.cgi?id=128550 5331 5332 Reviewed by Timothy Hatcher. 5333 5334 Make the link element 'display: block', place it after the floated icons, 5335 and set the appropriate CSS overflow properties. 5336 5337 * UserInterface/ProbeDetailsSidebarPanel.css: 5338 (.details-section.probe-set .options > a.go-to-link): 5339 * UserInterface/ProbeSetDetailsSection.js: 5340 (WebInspector.ProbeSetDetailsSection): 5341 53422014-02-13 Javier Fernandez <jfernandez@igalia.com> 5343 5344 [CSS Grid Layout] Rename named areas property 5345 https://bugs.webkit.org/show_bug.cgi?id=127990 5346 5347 Reviewed by Sergio Villar Senin. 5348 5349 From Blink r165891 by <rego@igalia.com> 5350 5351 The property 'grid-template' has been renamed to 'grid-template-areas' 5352 in the last two versions of the spec. 5353 5354 * Tools/PrettyPrinting/css.js: 5355 * UserInterface/External/CodeMirror/css.js: 5356 53572014-02-11 Brian Burg <bburg@apple.com> 5358 5359 Web Inspector: DOMStorageView should listen for events from DOMStorageObject 5360 https://bugs.webkit.org/show_bug.cgi?id=128620 5361 5362 Reviewed by Timothy Hatcher. 5363 5364 The storage manager used to have a map of DOMStorageViews and delivered events 5365 directly to them. Instead, the DOMStorageObserver should use the manager to 5366 find the appropriate DOMStorageObject and deliver events to it. DOMStorageView 5367 learns about storage updates from DOMStorageObject events. 5368 5369 * UserInterface/DOMStorageContentView.js: 5370 (WebInspector.DOMStorageContentView): Add event listeners. 5371 (WebInspector.DOMStorageContentView.prototype.reset): Renamed from update(). 5372 (WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument. 5373 (WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument. 5374 Use for..of when iterating over nodes. 5375 (WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument. 5376 Use for..of when iterating over nodes. 5377 (WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument. 5378 Use for..of when iterating over nodes. 5379 * UserInterface/DOMStorageObject.js: 5380 (WebInspector.DOMStorageObject.prototype.removeItem): Moved. 5381 (WebInspector.DOMStorageObject.prototype.setItem): Moved. 5382 (WebInspector.DOMStorageObject.prototype.itemsCleared): Added. 5383 (WebInspector.DOMStorageObject.prototype.itemRemoved): Added. 5384 (WebInspector.DOMStorageObject.prototype.itemAdded): Added. 5385 (WebInspector.DOMStorageObject.prototype.itemUpdated): Added. 5386 * UserInterface/DOMStorageObserver.js: Look up and notify the associated model. 5387 (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): 5388 (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): 5389 (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): 5390 (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): 5391 * UserInterface/StorageManager.js: Remove view lookup code. Remove 5392 direct calls to DOMStorageViews. 5393 (WebInspector.StorageManager.prototype.itemsCleared): 5394 (WebInspector.StorageManager.prototype.itemRemoved): 5395 (WebInspector.StorageManager.prototype.itemAdded): 5396 (WebInspector.StorageManager.prototype.itemUpdated): 5397 (WebInspector.StorageManager.prototype.domStorageWasUpdated): 5398 (WebInspector.StorageManager.prototype.inspectDOMStorage): 5399 (WebInspector.StorageManager.prototype._domStorageForIdentifier): 5400 (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded): 5401 (WebInspector.StorageManager.prototype._databaseForIdentifier): 5402 54032014-02-11 James Craig <jcraig@apple.com> 5404 5405 Web Inspector: AX: Accessibility Node Inspection 5406 https://bugs.webkit.org/show_bug.cgi?id=127447 5407 5408 Reviewed by Timothy Hatcher. 5409 5410 New Accessibility section in WebInspector Node Inspector. 5411 Version 1.0 only shows computed role. Computed label should come soon. 5412 5413 Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294 5414 5415 * Localizations/en.lproj/localizedStrings.js: 5416 * UserInterface/DOMNode.js: 5417 * UserInterface/DOMNodeDetailsSidebarPanel.js: 5418 * UserInterface/DetailsSection.css: 5419 * UserInterface/InspectorWebBackendCommands.js: 5420 54212014-02-10 Joseph Pecoraro <pecoraro@apple.com> 5422 5423 Web Inspector: Update License copyrights in minified JavaScript 5424 https://bugs.webkit.org/show_bug.cgi?id=128547 5425 5426 Reviewed by Timothy Hatcher. 5427 5428 * Scripts/copy-user-interface-resources.sh: 5429 54302014-02-07 Brian Burg <bburg@apple.com> 5431 5432 Web Inspector: show probe sets for script content views in the details sidebar 5433 https://bugs.webkit.org/show_bug.cgi?id=128333 5434 5435 Reviewed by Timothy Hatcher. 5436 5437 This patch adds a new details sidebar for showing the probes associated with any 5438 breakpoint in the currently visible source file. Each probe set (corresponding to 5439 multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The 5440 section contains a custom DataGrid subclass to display probe data, and some icons 5441 for clearing samples, deleting the probe, and adding a new probe expression. 5442 5443 The table containing probe data keeps its columns in sync with the probe set's 5444 probe expressions. To support this, DataGrid has been further refactored to support 5445 removing columns, and inserting columns (rather than only appending). With this 5446 capability, probe columns are removed and re-inserted when the expression changes. 5447 5448 The availability of the probe details sidebar is controlled by providing the 5449 probe sets matching the script content view's resource URL as supplemental 5450 represented objects. 5451 5452 Lastly, added the utility EventListenerSet class. This holds a set of event listeners 5453 that should be added and removed together, and takes care of binding `thisObject` 5454 according to whether the event emitter is a `Node` or `WebInspector.Object`. 5455 5456 * Localizations/en.lproj/localizedStrings.js: 5457 * UserInterface/BreakpointActionView.js: 5458 (WebInspector.BreakpointActionView): 5459 (WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked. 5460 (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior 5461 of CodeMirror-backed editors for probe and evaluate expression actions. If the expression 5462 consists entirely of trimmable whitespace, then delete the action rather than saving it. 5463 5464 * UserInterface/DataGrid.js: 5465 (WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead. 5466 (WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an 5467 optional `insertionIndex` argument and splices the column before the element at that index. 5468 Also, convert code to use EventListenerSet for adding/removing per-column event listeners. 5469 5470 (WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out. 5471 (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace. 5472 * UserInterface/EventListenerSet.js: Added. 5473 (WebInspector.EventListenerSet): 5474 (WebInspector.EventListenerSet.prototype.register): 5475 (WebInspector.EventListenerSet.prototype.unregister): 5476 (WebInspector.EventListenerSet.prototype.install): 5477 (WebInspector.EventListenerSet.prototype.uninstall): 5478 * UserInterface/Images/NavigationItemProbes.pdf: Added. 5479 * UserInterface/LayerTreeDataGrid.js: 5480 (WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get(). 5481 * UserInterface/Main.html: Add new JavaScript and CSS files. 5482 * UserInterface/Main.js: 5483 (WebInspector.contentLoaded): Add the probe details sidebar. 5484 * UserInterface/ProbeDetailsSidebarPanel.css: Added. 5485 (.sidebar > .panel.probes > .navigation-bar): 5486 (.sidebar > .panel.probes > .content): 5487 (.details-section.probe-set .options > .probe-add): 5488 (.details-section.probe-set .options > .probe-clear-samples): 5489 (.details-section.probe-set .options > .probe-remove): 5490 (.details-section.probe-set .options > input): 5491 (.panel.probes ::-webkit-scrollbar): 5492 (.panel.probes ::-webkit-scrollbar-track): 5493 (.panel.probes ::-webkit-scrollbar-thumb): 5494 (.panel.probes ::-webkit-scrollbar-corner): 5495 (.popover .probe-popover): 5496 (.popover .probe-popover input): 5497 * UserInterface/ProbeDetailsSidebarPanel.js: Added. 5498 (WebInspector.ProbeDetailsSidebarPanel): 5499 (WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets): 5500 (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded): 5501 * UserInterface/ProbeManager.js: Remove unused `probeSetForBreakpoint` function. 5502 * UserInterface/ProbeSet.js: Fix erroneous uses of `probe.identifier` instead of `probe.id`. 5503 (WebInspector.ProbeSet.prototype.removeProbe): 5504 (WebInspector.ProbeSet.prototype._sampleCollected): 5505 * UserInterface/ProbeSetDataGrid.css: Added. 5506 (.details-section.probe-set .data-grid .data-container tr.past-value td): 5507 (.details-section.probe-set .data-grid > .data-container td.unknown-value): 5508 (.details-section.probe-set .data-grid .data-container tr.revealed.highlighted): 5509 (@-webkit-keyframes blink-frame-highlight): 5510 (100%): 5511 (.details-section.probe-set .data-grid .data-container tr.separator): 5512 (.details-section.probe-set .data-grid > .data-container tr.data-updated): 5513 (@-webkit-keyframes blink-probe-frame): 5514 (.details-section.probe-set .data-grid .data-container .selected .section *): 5515 (.details-section.probe-set .data-grid .data-container .selected td.unknown-value): 5516 (.details-section.probe-set .data-grid .data-container .section): 5517 (.details-section.probe-set .data-grid th): 5518 (.details-section.probe-set .data-grid th:not(:last-child)): 5519 (.details-section.probe-set .data-grid td): 5520 * UserInterface/ProbeSetDataGrid.js: Added. 5521 (WebInspector.ProbeSetDataGrid): 5522 (WebInspector.ProbeSetDataGrid.prototype.closed): 5523 (WebInspector.ProbeSetDataGrid.prototype._setupProbe): 5524 (WebInspector.ProbeSetDataGrid.prototype._teardownProbe): 5525 (WebInspector.ProbeSetDataGrid.prototype._setupData): 5526 (WebInspector.ProbeSetDataGrid.prototype._teardownData): 5527 (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction): 5528 (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node): 5529 (WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted): 5530 (WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted): 5531 (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var): 5532 * UserInterface/ProbeSetDataGridNode.js: Added. 5533 (WebInspector.ProbeSetDataGridNode): 5534 (WebInspector.ProbeSetDataGridNode.prototype.get element): 5535 (WebInspector.ProbeSetDataGridNode.prototype.get data): 5536 (WebInspector.ProbeSetDataGridNode.prototype.set frame): 5537 (WebInspector.ProbeSetDataGridNode.prototype.get frame): 5538 (WebInspector.ProbeSetDataGridNode.prototype.createCellContent): 5539 (WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame): 5540 (WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator): 5541 * UserInterface/ProbeSetDataTable.js: 5542 (WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor. 5543 * UserInterface/ProbeSetDetailsSection.js: Added. 5544 (WebInspector.ProbeSetDetailsSection): 5545 (WebInspector.ProbeSetDetailsSection.prototype.closed): 5546 (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink): 5547 (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked): 5548 (WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked): 5549 (WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked): 5550 * UserInterface/TextResourceContentView.js: 5551 (WebInspector.TextResourceContentView): 5552 (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): 5553 Add probe sets whose breakpoint matches the represented object's URL. 5554 (WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners 5555 to re-fetch `supplementalRepresentedObjects` when probe sets are added or removed. 5556 55572014-02-08 Dan Bernstein <mitz@apple.com> 5558 5559 Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter) 5560 https://bugs.webkit.org/show_bug.cgi?id=128456 5561 5562 Reviewed by Anders Carlsson. 5563 5564 * UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight. 5565 55662014-02-07 Brian Burg <bburg@apple.com> 5567 5568 Web Inspector: Clean up DataGrid and add table columns incrementally 5569 https://bugs.webkit.org/show_bug.cgi?id=128332 5570 5571 Reviewed by Timothy Hatcher. 5572 5573 Miscellaneous improvements to DataGrid to make it more maintainable. 5574 In particular, it now uses a `Map` to store column settings, and the 5575 construction sequence has been simplified so that it is safe to add 5576 columns at the end of the constructor (or any later time). 5577 5578 DataGrid stores a bunch of settings per-column, but before this was done 5579 by both storing properties on the provided `column` objects as well as 5580 keeping several `columnIdentifier`-keyed maps for properties like `group` 5581 and `hidden`. 5582 5583 Improve code readability by using for..of loops, destructuring assignment, 5584 `Node.createElement`, and updating variable names. All variables that refer 5585 to DOM nodes now have a `Element` suffix to distinguish them from model objects. 5586 5587 * UserInterface/DataGrid.js: 5588 (.sortDataGrid): 5589 (WebInpector.DataGrid): Create all DOM elements before populating columns. 5590 Remove redundant objects for storing per-column values. Copy column settings 5591 into a map rather than mutating the passed-in JSON-like settings data structure. 5592 5593 (WebInspector.DataGrid.createSortableDataGrid): 5594 (WebInspector.DataGrid.prototype.get length): 5595 (WebInspector.DataGrid.prototype.updateLayout): 5596 (WebInspector.DataGrid.prototype.get scrollContainer): 5597 (WebInspector.DataGrid.prototype.isScrolledToLastRow): 5598 (WebInspector.DataGrid.prototype.scrollToLastRow): 5599 (WebInspector.DataGrid.prototype._positionResizerElements): 5600 (WebInspector.DataGrid.prototype.addCreationNode): 5601 (WebInspector.DataGrid.prototype.): 5602 (WebInspector.DataGrid.prototype.sortNodes): 5603 (WebInspector.DataGrid.prototype.dataGridNodeFromPoint): 5604 (WebInspector.DataGrid.prototype._clickInHeaderCell): 5605 (WebInspector.DataGrid.prototype.isColumnSortColumn): 5606 (WebInspector.DataGrid.prototype.headerTableHeader): 5607 (WebInspector.DataGrid.prototype._copyTextForDataGridNode): 5608 (WebInspector.DataGrid.prototype._resizerDragging): 5609 (WebInspector.DataGridNode.prototype.createCells): 5610 (WebInspector.DataGridNode.prototype.createCell.get var): 5611 (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier): 5612 (WebInspector.DataGridNode.prototype._attach): 5613 * UserInterface/TimelineDataGrid.js: 5614 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get scopeBar): 5615 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): 5616 56172014-02-07 Mihai Tica <mitica@adobe.com> 5618 5619 [CSS Background Blending] Unprefix the -webkit-background-blend-mode property 5620 5621 https://bugs.webkit.org/show_bug.cgi?id=128270 5622 5623 Reviewed by Dean Jackson. 5624 5625 * UserInterface/CSSKeywordCompletions.js: Refactor -webkit-background-blend-mode to background-blend-mode. 5626 56272014-02-06 Joseph Pecoraro <pecoraro@apple.com> 5628 5629 Web Inspector: Add Console support to JSContext Inspection 5630 https://bugs.webkit.org/show_bug.cgi?id=127941 5631 5632 Reviewed by Geoffrey Garen. 5633 5634 * UserInterface/InspectorJSBackendCommands.js: 5635 * UserInterface/InspectorWebBackendCommands.js: 5636 ConsoleAgent moved to JavaScript section. 5637 56382014-02-06 Andreas Kling <akling@apple.com> 5639 5640 Remove display:run-in support. 5641 <https://webkit.org/b/127874> 5642 <rdar://problem/15926949> 5643 5644 Rubber-stamped by Anders Carlsson. 5645 5646 * UserInterface/CSSKeywordCompletions.js: 5647 * UserInterface/External/CodeMirror/css.js: 5648 56492014-02-05 Brian Burg <bburg@apple.com> 5650 5651 Web Inspector: add probe manager and model objects to the frontend 5652 https://bugs.webkit.org/show_bug.cgi?id=127117 5653 5654 Reviewed by Timothy Hatcher. 5655 5656 Add the probe manager, and the following model objects: 5657 5658 - ProbeObject corresponds to a single probe breakpoint action. 5659 - ProbeSetObject contains all ProbeObjects for one Breakpoint. 5660 - ProbeSetDataFrame holds probe samples from multiple 5661 probes fired from the same breakpoint hit/debugger pause. 5662 - ProbeSetDataTable keeps track of multiple such data frames 5663 and manages probe sample lifetimes across page navigations. 5664 5665 The probe manager updates probe model objects whenever breakpoints 5666 are added, removed, or modified. 5667 5668 The inspector frontend now assigns breakpoint action identifiers, 5669 rather than the backend. This lets ProbeObjects keep stable 5670 identifiers that match the probe's samples, even when the underlying 5671 breakpoint is re-added with a different identifier (such as when 5672 editing probe expressions). 5673 5674 * UserInterface/Breakpoint.js: 5675 (WebInspector.Breakpoint.prototype.get probeActions): Added. 5676 (WebInspector.Breakpoint.prototype.createAction): 5677 (WebInspector.Breakpoint.prototype.removeAction): 5678 (WebInspector.Breakpoint.prototype.clearActions): Added. 5679 * UserInterface/BreakpointAction.js: 5680 (WebInspector.BreakpointAction): 5681 (WebInspector.BreakpointAction.prototype.get id): 5682 (WebInspector.BreakpointAction.prototype.get info): 5683 * UserInterface/DebuggerManager.js: 5684 (WebInspector.DebuggerManager.restoreBreakpointsSoon): 5685 (WebInspector.DebuggerManager): Restore saved breakpoints 5686 from cookies on the second run loop, so that all managers will 5687 be able to received breakpoint added events. 5688 (WebInspector.DebuggerManager.prototype.addBreakpoint): 5689 (WebInspector.DebuggerManager.prototype.removeBreakpoint): 5690 (WebInspector.DebuggerManager.prototype.get nextBreakpointActionIdentifier): 5691 The debugger manager assigns unique breakpoint action identifiers with this getter. 5692 5693 (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType): 5694 (WebInspector.DebuggerManager.prototype.didSetBreakpoint): 5695 (WebInspector.DebuggerManager.prototype._setBreakpoint): 5696 (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint): 5697 (WebInspector.DebuggerManager.prototype._removeBreakpoint): 5698 * UserInterface/DebuggerObserver.js: 5699 (WebInspector.DebuggerObserver.prototype.didSampleProbe): 5700 * UserInterface/InspectorJSBackendCommands.js: 5701 * UserInterface/Main.html: 5702 * UserInterface/Main.js: 5703 (WebInspector.loaded): 5704 * UserInterface/Probe.js: Added. 5705 (WebInspector.ProbeSample): 5706 (WebInspector.Probe): 5707 (WebInspector.Probe.prototype.get id): 5708 (WebInspector.Probe.prototype.get breakpoint): 5709 (WebInspector.Probe.prototype.get expression): 5710 (WebInspector.Probe.prototype.set expression): 5711 (WebInspector.Probe.prototype.get samples): 5712 (WebInspector.Probe.prototype.clearSamples): 5713 (WebInspector.Probe.prototype.addSample): 5714 * UserInterface/ProbeManager.js: Added. 5715 (WebInspector.ProbeManager): 5716 (WebInspector.ProbeManager.prototype.probeSetForBreakpoint): 5717 (WebInspector.ProbeManager.prototype._breakpointRemoved): 5718 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.get var): 5719 (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers): 5720 (WebInspector.ProbeManager.prototype._breakpointActionsChanged): 5721 * UserInterface/ProbeSet.js: Added. 5722 (WebInspector.ProbeSet): 5723 (WebInspector.ProbeSet.prototype.get breakpoint): 5724 (WebInspector.ProbeSet.prototype.get probes): 5725 (WebInspector.ProbeSet.prototype.get dataTable): 5726 (WebInspector.ProbeSet.prototype.clear): 5727 (WebInspector.ProbeSet.prototype.clearSamples): 5728 (WebInspector.ProbeSet.prototype.createProbe): 5729 (WebInspector.ProbeSet.prototype.removeProbe): 5730 (WebInspector.ProbeSet.prototype.willRemove): 5731 (WebInspector.ProbeSet.prototype._mainResourceChanged): 5732 (WebInspector.ProbeSet.prototype._createDataTable): 5733 (WebInspector.ProbeSet.prototype._sampleCollected): 5734 (WebInspector.ProbeSet.prototype._breakpointResolvedStateDidChange): 5735 * UserInterface/ProbeSetDataFrame.js: Added. 5736 (WebInspector.ProbeSetDataFrame): 5737 (WebInspector.ProbeSetDataFrame.compare): 5738 (WebInspector.ProbeSetDataFrame.prototype.get key): 5739 (WebInspector.ProbeSetDataFrame.prototype.get count): 5740 (WebInspector.ProbeSetDataFrame.prototype.get index): 5741 (WebInspector.ProbeSetDataFrame.prototype.get isSeparator): 5742 (WebInspector.ProbeSetDataFrame.prototype.set isSeparator): 5743 (WebInspector.ProbeSetDataFrame.prototype.addSampleForProbe): 5744 (WebInspector.ProbeSetDataFrame.prototype.missingKeys): 5745 (WebInspector.ProbeSetDataFrame.prototype.isComplete): 5746 (WebInspector.ProbeSetDataFrame.prototype.fillMissingValues): 5747 * UserInterface/ProbeSetDataTable.js: Added. 5748 (WebInspector.ProbeSetDataTable): 5749 (WebInspector.ProbeSetDataTable.prototype.get frames): 5750 (WebInspector.ProbeSetDataTable.prototype.get separators): 5751 (WebInspector.ProbeSetDataTable.prototype.willRemove): 5752 (WebInspector.ProbeSetDataTable.prototype.mainResourceChanged): 5753 (WebInspector.ProbeSetDataTable.prototype.addSampleForProbe): 5754 (WebInspector.ProbeSetDataTable.prototype.addProbe): 5755 (WebInspector.ProbeSetDataTable.prototype.removeProbe): 5756 (WebInspector.ProbeSetDataTable.prototype.createFrame): 5757 (WebInspector.ProbeSetDataTable.prototype.addFrame): 5758 (WebInspector.ProbeSetDataTable.prototype.addSeparator): 5759 57602014-02-05 Zan Dobersek <zdobersek@igalia.com> 5761 5762 [GTK] Avoid no-op regenerations of GResourceBundle.xml, GResourceBundle.c 5763 https://bugs.webkit.org/show_bug.cgi?id=128192 5764 5765 Reviewed by Carlos Garcia Campos. 5766 5767 When doing incremental builds, GResourceBundle.xml and GResourceBundle.c can be 5768 generated when the dependencies are newer than the products, but the generation 5769 doesn't necessarily produce a new or different product. This results in constant 5770 regenerations for these two build targets. Touch the products at the end of 5771 generation to avoid this looping. 5772 5773 * GNUmakefile.am: 5774 57752014-01-30 Timothy Hatcher <timothy@apple.com> 5776 5777 Show profile data in the discrete Scripts timeline view. 5778 5779 https://bugs.webkit.org/show_bug.cgi?id=127900 5780 5781 Reviewed by Joseph Pecoraro. 5782 5783 * Localizations/en.lproj/localizedStrings.js: 5784 * UserInterface/DataGrid.js: 5785 (WebInspector.DataGridNode.prototype.refreshIfNeeded): 5786 (WebInspector.DataGridNode.prototype.needsRefresh): 5787 (WebInspector.DataGridNode.prototype.set data): 5788 (WebInspector.DataGridNode.prototype.set revealed): 5789 (WebInspector.DataGridNode.prototype.refresh): 5790 * UserInterface/LayoutTimelineDataGrid.js: 5791 (WebInspector.LayoutTimelineDataGrid): 5792 * UserInterface/LayoutTimelineDataGridNode.js: 5793 (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): 5794 * UserInterface/Main.html: 5795 * UserInterface/NavigationSidebarPanel.js: 5796 (WebInspector.NavigationSidebarPanel.prototype._updateFilter): 5797 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): 5798 (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): 5799 * UserInterface/ProfileNodeDataGridNode.js: Added. 5800 (WebInspector.ProfileNodeDataGridNode): 5801 (WebInspector.ProfileNodeDataGridNode.prototype.get profileNode): 5802 (WebInspector.ProfileNodeDataGridNode.prototype.get records): 5803 (WebInspector.ProfileNodeDataGridNode.prototype.get baseStartTime): 5804 (WebInspector.ProfileNodeDataGridNode.prototype.get rangeStartTime): 5805 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): 5806 (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime): 5807 (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): 5808 (WebInspector.ProfileNodeDataGridNode.prototype.get data): 5809 (WebInspector.ProfileNodeDataGridNode.prototype.refresh): 5810 (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent): 5811 * UserInterface/ProfileNodeTreeElement.js: Added. 5812 (WebInspector.ProfileNodeTreeElement): 5813 (WebInspector.ProfileNodeTreeElement.prototype.get profileNode): 5814 (WebInspector.ProfileNodeTreeElement.prototype.get filterableData): 5815 (WebInspector.ProfileNodeTreeElement.prototype.onattach): 5816 (WebInspector.ProfileNodeTreeElement.prototype.onpopulate): 5817 * UserInterface/ResourceTimelineDataGridNode.js: 5818 (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): 5819 * UserInterface/ScriptTimelineDataGrid.js: 5820 (WebInspector.ScriptTimelineDataGrid): 5821 * UserInterface/ScriptTimelineDataGridNode.js: 5822 (WebInspector.ScriptTimelineDataGridNode): 5823 (WebInspector.ScriptTimelineDataGridNode.prototype.get baseStartTime): 5824 (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeStartTime): 5825 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): 5826 (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeEndTime): 5827 (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): 5828 (WebInspector.ScriptTimelineDataGridNode.prototype.get data): 5829 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): 5830 * UserInterface/ScriptTimelineRecord.js: 5831 (WebInspector.ScriptTimelineRecord): 5832 (WebInspector.ScriptTimelineRecord.prototype.get profile): 5833 * UserInterface/ScriptTimelineView.js: 5834 (WebInspector.ScriptTimelineView.prototype.updateLayout): 5835 (WebInspector.ScriptTimelineView.prototype.get selectionPathComponents): 5836 (WebInspector.ScriptTimelineView.prototype.dataGridNodeForTreeElement): 5837 (WebInspector.ScriptTimelineView.prototype.populateProfileNodeTreeElement): 5838 (WebInspector.ScriptTimelineView.prototype._processPendingRecords): 5839 (WebInspector.ScriptTimelineView.prototype._treeElementSelected): 5840 * UserInterface/TimelineContentView.js: 5841 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): 5842 * UserInterface/TimelineDataGrid.js: 5843 (WebInspector.TimelineDataGrid): 5844 (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder): 5845 (WebInspector.TimelineDataGrid.prototype._sort): 5846 * UserInterface/TimelineDataGridNode.js: 5847 (WebInspector.TimelineDataGridNode): 5848 (WebInspector.TimelineDataGridNode.prototype.collapse): 5849 (WebInspector.TimelineDataGridNode.prototype.expand): 5850 * UserInterface/TimelineRecord.js: 5851 * UserInterface/TreeOutlineDataGridSynchronizer.js: 5852 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get delegate): 5853 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement): 5854 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded): 5855 58562014-01-30 Timothy Hatcher <timothy@apple.com> 5857 5858 Add the model objects for the new Web Inspector profile data. 5859 5860 https://bugs.webkit.org/show_bug.cgi?id=127899 5861 5862 Reviewed by Joseph Pecoraro. 5863 5864 * UserInterface/Main.html: 5865 * UserInterface/Profile.js: Added. 5866 (WebInspector.Profile): 5867 (WebInspector.Profile.prototype.get idleTime): 5868 (WebInspector.Profile.prototype.get topDownRootNodes): 5869 (WebInspector.Profile.prototype.get bottomUpRootNodes): 5870 * UserInterface/ProfileNode.js: Added. 5871 (WebInspector.ProfileNode): 5872 (WebInspector.ProfileNode.prototype.get id): 5873 (WebInspector.ProfileNode.prototype.get type): 5874 (WebInspector.ProfileNode.prototype.get functionName): 5875 (WebInspector.ProfileNode.prototype.get sourceCodeLocation): 5876 (WebInspector.ProfileNode.prototype.get startTime): 5877 (WebInspector.ProfileNode.prototype.get endTime): 5878 (WebInspector.ProfileNode.prototype.get selfTime): 5879 (WebInspector.ProfileNode.prototype.get totalTime): 5880 (WebInspector.ProfileNode.prototype.get calls): 5881 (WebInspector.ProfileNode.prototype.get previousSibling): 5882 (WebInspector.ProfileNode.prototype.get nextSibling): 5883 (WebInspector.ProfileNode.prototype.get parentNode): 5884 (WebInspector.ProfileNode.prototype.get childNodes): 5885 (WebInspector.ProfileNode.prototype.totalTimeInRange): 5886 (WebInspector.ProfileNode.prototype.computeCallInfoForTimeRange): 5887 (WebInspector.ProfileNode.prototype.traverseNextProfileNode): 5888 (WebInspector.ProfileNode.prototype.saveIdentityToCookie): 5889 (WebInspector.ProfileNode.prototype.establishRelationships): 5890 * UserInterface/ProfileNodeCall.js: Added. 5891 (WebInspector.ProfileNodeCall): 5892 (WebInspector.ProfileNodeCall.prototype.get startTime): 5893 (WebInspector.ProfileNodeCall.prototype.get totalTime): 5894 (WebInspector.ProfileNodeCall.prototype.get endTime): 5895 (WebInspector.ProfileNodeCall.prototype.establishRelationships): 5896 * UserInterface/TimelineManager.js: 5897 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 5898 (WebInspector.TimelineManager.prototype.eventRecorded): 5899 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): 5900 (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): 5901 (WebInspector.TimelineManager.prototype._profileFromPayload): 5902 59032014-01-26 Timothy Hatcher <timothy@apple.com> 5904 5905 Prefix existing Web Inspector profiler classes with "Legacy". 5906 5907 Remove a dependency on ProfileView for showTimeAsPercent and selection as a drive-by. 5908 Also remove the unfinished Canvas profiler classes, they will need redone for the Timeline view. 5909 5910 https://bugs.webkit.org/show_bug.cgi?id=127655 5911 5912 Reviewed by Joseph Pecoraro. 5913 5914 * UserInterface/CanvasDataGridNode.js: Removed. 5915 * UserInterface/CanvasObserver.js: Removed. 5916 * UserInterface/CanvasProfileObject.js: Removed. 5917 * UserInterface/CanvasProfileType.js: Removed. 5918 * UserInterface/CanvasProfileView.js: Removed. 5919 * UserInterface/ConsoleObserver.js: 5920 (WebInspector.ConsoleObserver.prototype.messageAdded): 5921 * UserInterface/ContentView.js: 5922 (WebInspector.ContentView): 5923 (WebInspector.ContentView.isViewable): 5924 * UserInterface/InspectorFrontendAPI.js: 5925 (InspectorFrontendAPI.isProfilingJavaScript): 5926 (InspectorFrontendAPI.startProfilingJavaScript): 5927 (InspectorFrontendAPI.stopProfilingJavaScript): 5928 * UserInterface/LegacyBottomUpProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/BottomUpProfileDataGridTree.js. 5929 * UserInterface/LegacyJavaScriptProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileObject.js. 5930 * UserInterface/LegacyJavaScriptProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileType.js. 5931 * UserInterface/LegacyJavaScriptProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.css. 5932 * UserInterface/LegacyJavaScriptProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.js. 5933 * UserInterface/LegacyProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileDataGridTree.js. 5934 * UserInterface/LegacyProfileManager.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileManager.js. 5935 * UserInterface/LegacyProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileObject.js. 5936 * UserInterface/LegacyProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileType.js. 5937 * UserInterface/LegacyProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.css. 5938 * UserInterface/LegacyProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.js. 5939 * UserInterface/LegacyProfilerObserver.js: Renamed from Source/WebInspectorUI/UserInterface/ProfilerObserver.js. 5940 * UserInterface/LegacyTopDownProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/TopDownProfileDataGridTree.js. 5941 * UserInterface/Main.html: 5942 * UserInterface/Main.js: 5943 (WebInspector.loaded): 5944 (WebInspector.openURL): 5945 59462014-01-30 Diego Pino Garcia <dpino@igalia.com> 5947 5948 Web Inspector: [REGRESSION(r163086)] Missing localized string 'Hide console (%s)' 5949 https://bugs.webkit.org/show_bug.cgi?id=127951 5950 5951 Reviewed by Timothy Hatcher. 5952 5953 * Localizations/en.lproj/localizedStrings.js: 5954 Add 'Hide console (%s)'. 5955 59562014-01-30 Diego Pino Garcia <dpino@igalia.com> 5957 5958 Web Inspector: Implement open/close Console window shortcut 5959 https://bugs.webkit.org/show_bug.cgi?id=127896 5960 5961 Reviewed by Timothy Hatcher. 5962 5963 * UserInterface/KeyboardShortcut.js: 5964 (WebInspector.KeyboardShortcut.prototype.get displayName): 5965 Bug: Option symbol should be displayed as Alternative symbol (\u2387) 5966 in non Mac platforms. 5967 * UserInterface/Main.js: 5968 (WebInspector.contentLoaded): 5969 Create keyboard shortcut for toggling console window. 5970 59712014-01-29 Joseph Pecoraro <pecoraro@apple.com> 5972 5973 Web Inspector: Play Breakpoint Sound in Frontend 5974 https://bugs.webkit.org/show_bug.cgi?id=127885 5975 5976 Reviewed by Timothy Hatcher. 5977 5978 Beep in the frontend when a "sound" breakpoint action is triggered. 5979 5980 * UserInterface/DebuggerManager.js: 5981 (WebInspector.DebuggerManager.prototype.playBreakpointActionSound): 5982 * UserInterface/DebuggerObserver.js: 5983 (WebInspector.DebuggerObserver.prototype.resumed): 5984 (WebInspector.DebuggerObserver.prototype.playBreakpointActionSound): 5985 * UserInterface/InspectorJSBackendCommands.js: 5986 59872014-01-29 Diego Pino Garcia <dpino@igalia.com> 5988 5989 Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid 5990 https://bugs.webkit.org/show_bug.cgi?id=127816 5991 5992 Reviewed by Timothy Hatcher. 5993 5994 * UserInterface/DataGrid.js: 5995 (WebInspector.DataGrid.prototype.moveToNextIfNeeded): 5996 (WebInspector.DataGrid.prototype._editingCommitted): 5997 Change columnIdentifier values 0 and 1 to strings "0" and "1". 5998 59992014-01-28 Joseph Pecoraro <pecoraro@apple.com> 6000 6001 Unreviewed follow-up to r162965. Better coding style. 6002 6003 Timothy Hatcher pointed out a clearer style for classes 6004 on the <body> is to specify body.class. I agree. 6005 6006 * UserInterface/DashboardView.css: 6007 (body.javascript .toolbar .dashboard): 6008 (body.web .toolbar.collapsed .dashboard > .logs): 6009 (body.javascript .toolbar .dashboard > .resourcesCount): 6010 60112014-01-28 Joseph Pecoraro <pecoraro@apple.com> 6012 6013 Web Inspector: Tweak UI when debugging a JSContext 6014 https://bugs.webkit.org/show_bug.cgi?id=127799 6015 6016 Reviewed by Timothy Hatcher. 6017 6018 * UserInterface/DashboardView.css: 6019 (.toolbar.javascript .dashboard): 6020 (.toolbar.web.collapsed .dashboard > .logs): 6021 (.toolbar.javascript .dashboard > .resourcesCount): 6022 Adjust collapsed dashboard in web and javascript debugging modes. 6023 JavaScript debugging mode is always treated as collapsed. 6024 6025 * UserInterface/Main.js: 6026 (WebInspector.contentLoaded): 6027 Adjust what is created and shown when in javascript debugging mode. 6028 6029 * UserInterface/NavigationSidebarPanel.css: 6030 (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): 6031 * UserInterface/ResourceSidebarPanel.js: 6032 (WebInspector.ResourceSidebarPanel): 6033 (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): 6034 * UserInterface/TimelineSidebarPanel.css: 6035 (.sidebar > .panel.timeline > .status-bar): 6036 (.sidebar > .panel.timeline > .title-bar): 6037 When javascript debugging expect to put things at the root level, so hide 6038 disclosure buttons and adjust the style so resources look nice here. 6039 60402014-01-28 Diego Pino Garcia <dpino@igalia.com> 6041 6042 Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell 6043 https://bugs.webkit.org/show_bug.cgi?id=127613 6044 6045 Reviewed by Timothy Hatcher. 6046 6047 * UserInterface/DOMStorageContentView.js: 6048 (WebInspector.DOMStorageContentView.prototype._editingCallback): 6049 * UserInterface/DataGrid.js: 6050 (WebInspector.DataGrid): 6051 (WebInspector.DataGrid.prototype._keyDown): 6052 (WebInspector.DataGrid.prototype._contextMenuInDataTable): 6053 (WebInspector.DataGridNode.prototype.createCell): 6054 60552014-01-27 Joseph Pecoraro <pecoraro@apple.com> 6056 6057 Web Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspection working 6058 https://bugs.webkit.org/show_bug.cgi?id=127712 6059 6060 Reviewed by Timothy Hatcher. 6061 6062 Feature check protocol generated interfaces (e.g. FooAgent and registerFooObserver). 6063 Also drive by handle a possible exception if a SourceCode's URL is null, which is possible. 6064 6065 * UserInterface/ApplicationCacheManager.js: 6066 (WebInspector.ApplicationCacheManager): 6067 (WebInspector.ApplicationCacheManager.prototype.initialize): 6068 * UserInterface/CSSCompletions.js: 6069 (WebInspector.CSSCompletions.requestCSSNameCompletions): 6070 * UserInterface/CSSStyleManager.js: 6071 (WebInspector.CSSStyleManager): 6072 (WebInspector.CSSStyleManager.prototype.canForcePseudoClasses): 6073 * UserInterface/DebuggerManager.js: 6074 * UserInterface/FrameResourceManager.js: 6075 (WebInspector.FrameResourceManager): 6076 (WebInspector.FrameResourceManager.prototype.initialize): 6077 * UserInterface/Main.js: 6078 (WebInspector.loaded): 6079 * UserInterface/ProfileManager.js: 6080 (WebInspector.ProfileManager): 6081 * UserInterface/StorageManager.js: 6082 (WebInspector.StorageManager): 6083 Type check generated interfaces. 6084 6085 (WebInspector.DebuggerManager): 6086 (WebInspector.DebuggerManager.prototype.debuggerDidPause): 6087 Null check a SourceCode URL, which can be null for a Script with no URL. 6088 60892014-01-25 Timothy Hatcher <timothy@apple.com> 6090 6091 Remove dead code from the JSC profiler. 6092 6093 https://bugs.webkit.org/show_bug.cgi?id=127643 6094 6095 Reviewed by Mark Lam. 6096 6097 * Versions/Inspector-iOS-7.0.json: Remove visible from CPUProfileNode. 6098 60992014-01-25 Joseph Pecoraro <pecoraro@apple.com> 6100 6101 Remove FIXME in CSSKeywordCompletions.js about "inherit" keyword 6102 https://bugs.webkit.org/show_bug.cgi?id=127638 6103 6104 Reviewed by Timothy Hatcher. 6105 6106 * UserInterface/CSSKeywordCompletions.js: 6107 (WebInspector.CSSKeywordCompletions.forProperty): 6108 Replace FIXME with a descriptive comment about why the code is what it is. 6109 61102014-01-25 Diego Pino Garcia <dpino@igalia.com> 6111 6112 Web Inspector: Position the completion suggestions popup below if there is room 6113 https://bugs.webkit.org/show_bug.cgi?id=127615 6114 6115 Reviewed by Joseph Pecoraro. 6116 6117 * UserInterface/CompletionSuggestionsView.js: 6118 (WebInspector.CompletionSuggestionsView.prototype.show): 6119 61202014-01-23 Timothy Hatcher <timothy@apple.com> 6121 6122 Refactor TimelineRecordBar combining logic into a helper function. 6123 6124 https://bugs.webkit.org/show_bug.cgi?id=127530 6125 6126 Reviewed by Joseph Pecoraro. 6127 6128 * UserInterface/LayoutTimelineOverviewGraph.js: 6129 (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar): 6130 (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): 6131 Use TimelineRecordBar.createCombinedBars. 6132 6133 * UserInterface/NetworkTimelineOverviewGraph.css: 6134 (.timeline-overview-graph.network): 6135 (.timeline-overview-graph.network > .graph-row > .timeline-record-bar): 6136 Cleaned up since we are using TimelineRecordBar. 6137 6138 * UserInterface/NetworkTimelineOverviewGraph.js: 6139 (WebInspector.NetworkTimelineOverviewGraph.prototype.reset): 6140 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): 6141 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): 6142 Use TimelineRecordBar.createCombinedBars. 6143 6144 * UserInterface/ScriptTimelineOverviewGraph.js: 6145 (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar): 6146 (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): 6147 Use TimelineRecordBar.createCombinedBars. 6148 6149 * UserInterface/TimelineDataGridNode.js: 6150 (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar): 6151 (WebInspector.TimelineDataGridNode.prototype.refreshGraph): 6152 Use TimelineRecordBar.createCombinedBars. 6153 6154 * UserInterface/TimelineRecordBar.css: 6155 (.timeline-record-bar.unfinished > .segment): 6156 (.timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): 6157 (:focus .selected .timeline-record-bar > .segment.inactive): 6158 Improved selected appearance and don't assume .segment.inactive exists. 6159 6160 * UserInterface/TimelineRecordBar.js: 6161 (WebInspector.TimelineRecordBar): 6162 (WebInspector.TimelineRecordBar.createCombinedBars.compareByActiveStartTime): Added. 6163 (WebInspector.TimelineRecordBar.createCombinedBars): Added. 6164 (WebInspector.TimelineRecordBar.prototype.get renderMode): Added. 6165 (WebInspector.TimelineRecordBar.prototype.set renderMode): Added. 6166 (WebInspector.TimelineRecordBar.prototype.set records): 6167 (WebInspector.TimelineRecordBar.prototype.refresh): 6168 Lazily create DOM elements. Support rendering one or both segments. Doing this lets 6169 combined inactive segments sit behind multiple active segments. 6170 61712014-01-22 Timothy Hatcher <timothy@apple.com> 6172 6173 Improve collapsing of TimelineDataGridNode graphs up to ancestors. 6174 6175 https://bugs.webkit.org/show_bug.cgi?id=127440 6176 6177 Reviewed by Joseph Pecoraro. 6178 6179 * UserInterface/TimelineDataGridNode.js: 6180 (WebInspector.TimelineDataGridNode.prototype.collapse): 6181 (WebInspector.TimelineDataGridNode.prototype.createCellContent): 6182 (WebInspector.TimelineDataGridNode.prototype.refresh): 6183 (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh): 6184 Notify the next visible ancestor it needs to refresh. Use needsGraphRefresh so ancestors 6185 are notified instead of directly calling refreshGraph in some places. 6186 61872014-01-22 Timothy Hatcher <timothy@apple.com> 6188 6189 Don't include a hidden Timeline selection in the navigation path components. 6190 6191 https://bugs.webkit.org/show_bug.cgi?id=127443 6192 6193 Reviewed by Joseph Pecoraro. 6194 6195 * UserInterface/GeneralTreeElementPathComponent.js: 6196 (WebInspector.GeneralTreeElementPathComponent.prototype.get previousSibling): 6197 (WebInspector.GeneralTreeElementPathComponent.prototype.get nextSibling): 6198 Skip hidden siblings. 6199 6200 * UserInterface/OverviewTimelineView.js: 6201 (WebInspector.OverviewTimelineView.prototype.updateLayout): 6202 (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents): 6203 Don't include hidden selection and dispatch SelectionPathComponentsDidChange event if hidden changes. 6204 6205 * UserInterface/TimelineContentView.js: 6206 (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): 6207 Dispatch SelectionPathComponentsDidChange event if hidden changes on the selected tree element. 6208 6209 * UserInterface/TimelineView.js: 6210 (WebInspector.TimelineView.prototype.get selectionPathComponents): 6211 Don't include hidden selection. 6212 62132014-01-22 Timothy Hatcher <timothy@apple.com> 6214 6215 Support collapsing call site records into the resource timeline. 6216 6217 Also fix some filtering and graph issues. 6218 6219 https://bugs.webkit.org/show_bug.cgi?id=127440 6220 6221 Reviewed by Joseph Pecoraro. 6222 6223 * UserInterface/NavigationSidebarPanel.js: 6224 (WebInspector.NavigationSidebarPanel.prototype.updateFilter): 6225 (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): 6226 (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible): 6227 (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement): 6228 (WebInspector.NavigationSidebarPanel.prototype._updateFilter): 6229 Tweak how filtering happens so custom filters never expand to reveal and auto expanded 6230 tree elements will auto-collapse again later even with custom filters. 6231 6232 * UserInterface/OverviewTimelineView.css: 6233 (.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment): 6234 (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment): 6235 (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment): 6236 Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded. 6237 6238 * UserInterface/OverviewTimelineView.js: 6239 (WebInspector.OverviewTimelineView.prototype.updateLayout): 6240 (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): 6241 Update the filter when current time changes and only auto expand the main resource. 6242 6243 * UserInterface/ResourceTimelineDataGridNode.js: 6244 (WebInspector.ResourceTimelineDataGridNode): 6245 (WebInspector.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated): 6246 Don't schedule a refresh of the graph if the record isn't visible. 6247 6248 * UserInterface/SourceCodeTimelineTimelineDataGridNode.js: 6249 (WebInspector.SourceCodeTimelineTimelineDataGridNode): 6250 (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._timelineRecordAdded): 6251 Don't schedule a refresh of the graph if the record isn't visible. 6252 6253 * UserInterface/TimelineContentView.js: 6254 (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): 6255 Remove the boolean for updateFilter. 6256 6257 * UserInterface/TimelineDataGrid.js: 6258 (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): 6259 (WebInspector.TimelineDataGrid.prototype._sort): 6260 Keep the hidden state in-sync between node and element. 6261 6262 * UserInterface/TimelineDataGridNode.js: 6263 (WebInspector.TimelineDataGridNode.prototype.collapse): 6264 (WebInspector.TimelineDataGridNode.prototype.expand): 6265 (WebInspector.TimelineDataGridNode.prototype.appendChild): 6266 (WebInspector.TimelineDataGridNode.prototype.insertChild): 6267 (WebInspector.TimelineDataGridNode.prototype.removeChild): 6268 (WebInspector.TimelineDataGridNode.prototype.removeChildren): 6269 (WebInspector.TimelineDataGridNode.prototype.removeChildrenRecursive): 6270 (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBarsForRecords): 6271 (WebInspector.TimelineDataGridNode.prototype.refreshGraph.else.collectRecordsByType.get if): 6272 (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh): 6273 (WebInspector.TimelineDataGridNode.prototype.isRecordVisible): 6274 Support drawing the children records on the parent graph. 6275 6276 * UserInterface/TimelineRecordBar.css: 6277 (.timeline-record-bar.unfinished > .segment): 6278 (:focus .selected .timeline-record-bar > .segment): 6279 (:focus .selected .timeline-record-bar > .segment.inactive): 6280 (:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): 6281 Tweaked styles to look better when selected. 6282 6283 * UserInterface/TimelineRecordBar.js: 6284 (WebInspector.TimelineRecordBar.recordsCannotBeCombined): 6285 (WebInspector.TimelineRecordBar.prototype.set records): 6286 (WebInspector.TimelineRecordBar.prototype.refresh): 6287 Drive-by fixes for some bug with bars being reused. 6288 62892014-01-21 Timothy Hatcher <timothy@apple.com> 6290 6291 Remember the Timeline Overview zoom and selection between sessions. 6292 6293 https://bugs.webkit.org/show_bug.cgi?id=127369 6294 6295 Reviewed by Joseph Pecoraro. 6296 6297 * UserInterface/TimelineOverview.js: 6298 (WebInspector.TimelineOverview): 6299 (WebInspector.TimelineOverview.prototype.set secondsPerPixel): 6300 (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged): 6301 63022014-01-21 Timothy Hatcher <timothy@apple.com> 6303 6304 Show the Resource and Record selection path in the navigation bar for Timeline views. 6305 6306 https://bugs.webkit.org/show_bug.cgi?id=127367 6307 6308 Reviewed by Joseph Pecoraro. 6309 6310 * UserInterface/LayoutTimelineView.js: 6311 (WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected): 6312 (WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected): 6313 * UserInterface/NetworkTimelineView.js: 6314 (WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected): 6315 (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected): 6316 * UserInterface/OverviewTimelineView.js: 6317 (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents): 6318 (WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected): 6319 (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected): 6320 * UserInterface/ScriptTimelineView.js: 6321 (WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected): 6322 (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected): 6323 * UserInterface/TimelineContentView.js: 6324 (WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange): 6325 (WebInspector.TimelineContentView.prototype._showTimelineView): 6326 * UserInterface/TimelineDataGrid.js: 6327 (WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode): 6328 (WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement): 6329 * UserInterface/TimelineView.js: 6330 (WebInspector.TimelineView.prototype.get selectionPathComponents): 6331 (WebInspector.TimelineView.prototype.treeElementPathComponentSelected): 6332 63332014-01-20 Timothy Hatcher <timothy@apple.com> 6334 6335 Add the recording button back to the Timelines sidebar. 6336 6337 https://bugs.webkit.org/show_bug.cgi?id=127314 6338 6339 Reviewed by Joseph Pecoraro. 6340 6341 * Localizations/en.lproj/localizedStrings.js: Updated. 6342 6343 * UserInterface/TimelineContentView.js: 6344 (WebInspector.TimelineContentView.prototype.get navigationItems): 6345 (WebInspector.TimelineContentView.prototype._update): 6346 (WebInspector.TimelineContentView.prototype._updateTimes): 6347 (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime): 6348 (WebInspector.TimelineContentView.prototype._recordingTimesUpdated): 6349 (WebInspector.TimelineContentView.prototype._clearTimeline): 6350 (WebInspector.TimelineContentView.prototype._recordingReset): 6351 Add a clear button and reset the time ruler and views when the recording resets. 6352 6353 * UserInterface/TimelineSidebarPanel.css: 6354 (.sidebar > .panel.timeline > .status-bar): 6355 (.sidebar > .panel.timeline > .status-bar > .record-glyph): 6356 (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording): 6357 (.sidebar > .panel.timeline > .status-bar > .record-glyph:hover): 6358 (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording:hover): 6359 (.sidebar > .panel.timeline > .status-bar > .record-glyph.forced): 6360 (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording.forced): 6361 (.sidebar > .panel.timeline > .status-bar > .record-status): 6362 Add styles for the recording button and status message. 6363 6364 * UserInterface/TimelineSidebarPanel.js: 6365 (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange): 6366 (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): 6367 (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): 6368 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver): 6369 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut): 6370 (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): 6371 Add support for the recording button and status message. 6372 63732014-01-20 Timothy Hatcher <timothy@apple.com> 6374 6375 Make the TimelineRecordTreeElement location subtitle live. 6376 6377 https://bugs.webkit.org/show_bug.cgi?id=127270 6378 6379 Reviewed by Joseph Pecoraro. 6380 6381 * Localizations/en.lproj/localizedStrings.js: Updated. 6382 6383 * UserInterface/SourceCodeLocation.js: 6384 (WebInspector.SourceCodeLocation.prototype.originalLocationString): 6385 (WebInspector.SourceCodeLocation.prototype.formattedLocationString): 6386 (WebInspector.SourceCodeLocation.prototype.displayLocationString): 6387 (WebInspector.SourceCodeLocation.prototype.updateDisplayString): 6388 (WebInspector.SourceCodeLocation.prototype._locationString): 6389 Support for a new nameStyle enum and a prefix for the location string. 6390 Passing the prefix here lets it be italicized with the line number. 6391 Support column number for SourceCode's without a URL too. 6392 6393 * UserInterface/TimelineRecordTreeElement.js: 6394 (WebInspector.TimelineRecordTreeElement): 6395 (WebInspector.TimelineRecordTreeElement.prototype.onattach): 6396 Create a subtitle span to update the location inside. Update the tooltip on attach. 6397 63982014-01-19 Timothy Hatcher <timothy@apple.com> 6399 6400 Generate better display names for timer and event Timeline records. 6401 6402 Also support AnimationFrameRequested and AnimationFrameCanceled. 6403 6404 https://bugs.webkit.org/show_bug.cgi?id=127258 6405 6406 Reviewed by Joseph Pecoraro. 6407 6408 * Localizations/en.lproj/localizedStrings.js: Updated. 6409 6410 * UserInterface/LayoutTimelineRecord.js: 6411 (WebInspector.LayoutTimelineRecord.EventType.displayName): 6412 Generate past tense names that better match other names. 6413 6414 * UserInterface/ScriptTimelineDataGridNode.js: 6415 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): 6416 Pass the details to displayName. 6417 6418 * UserInterface/ScriptTimelineRecord.js: 6419 (WebInspector.ScriptTimelineRecord.EventType.displayName): 6420 Generate better names for timer and event records. Also add missing animation frame types. 6421 6422 * UserInterface/ScriptTimelineView.js: 6423 (WebInspector.ScriptTimelineView.prototype._processPendingRecords): 6424 Pass true to WebInspector.TimelineRecordTreeElement to include timer identifiers in the title. 6425 6426 * UserInterface/SourceCodeTimelineTreeElement.js: 6427 (WebInspector.SourceCodeTimelineTreeElement): 6428 Pass includeTimerIdentifierInMainTitle through to TimelineRecordTreeElement. 6429 6430 * UserInterface/TimelineManager.js: 6431 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 6432 Include AnimationFrameRequested and AnimationFrameCanceled. 6433 6434 * UserInterface/TimelineRecordTreeElement.js: 6435 (WebInspector.TimelineRecordTreeElement): 6436 Use displayName functions instead and support includeTimerIdentifierInMainTitle. 6437 64382014-01-19 Timothy Hatcher <timothy@apple.com> 6439 6440 Implement basic versions of the TimelineOverview graphs. 6441 6442 https://bugs.webkit.org/show_bug.cgi?id=127184 6443 6444 Reviewed by Joseph Pecoraro. 6445 6446 * UserInterface/LayoutTimelineOverviewGraph.css: Added. 6447 (.timeline-overview-graph.layout > .timeline-record-bar): 6448 (.timeline-overview-graph.layout > .timeline-record-bar > .segment): 6449 6450 * UserInterface/LayoutTimelineOverviewGraph.js: Added. 6451 (WebInspector.LayoutTimelineOverviewGraph.prototype.reset): 6452 (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): 6453 (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded): 6454 6455 * UserInterface/Main.html: Added new files. 6456 6457 * UserInterface/NetworkTimelineOverviewGraph.css: Added. 6458 (.timeline-overview-graph.network): 6459 (.timeline-overview-graph.network > .graph-row): 6460 (.timeline-overview-graph.network > .graph-row > .bar): 6461 (.timeline-overview-graph.network > .graph-row > .bar.inactive): 6462 (.timeline-overview-graph.network > .graph-row > .bar.unfinished): 6463 (.timeline-overview-graph.network > .graph-row > .bar:not(.inactive)): 6464 (.timeline-overview-graph.network:nth-child(even) > .graph-row > .bar:not(.inactive)): 6465 6466 * UserInterface/NetworkTimelineOverviewGraph.js: Added. 6467 (WebInspector.NetworkTimelineOverviewGraph.prototype.reset): 6468 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.updateElementPosition): 6469 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): 6470 (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): 6471 (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime): 6472 (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.insertObjectIntoSortedArray): 6473 (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded): 6474 6475 * UserInterface/ScriptTimelineOverviewGraph.css: Added. 6476 (.timeline-overview-graph.script > .timeline-record-bar): 6477 (.timeline-overview-graph.script > .timeline-record-bar > .segment): 6478 6479 * UserInterface/ScriptTimelineOverviewGraph.js: Added. 6480 (WebInspector.ScriptTimelineOverviewGraph.prototype.reset): 6481 (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): 6482 (WebInspector.ScriptTimelineOverviewGraph.prototype._scriptTimelineRecordAdded): 6483 6484 * UserInterface/TimelineContentView.js: 6485 (WebInspector.TimelineContentView.prototype._showTimelineView): 6486 (WebInspector.TimelineContentView.prototype._update): 6487 (WebInspector.TimelineContentView.prototype._recordingReset): 6488 Create and keep the graphs informed. 6489 6490 * UserInterface/TimelineDataGridNode.js: 6491 (WebInspector.TimelineDataGridNode): 6492 (WebInspector.TimelineDataGridNode.prototype.refreshGraph): 6493 Combine records that might overlap. 6494 6495 * UserInterface/TimelineOverview.css: 6496 (.timeline-overview > .graphs-container): 6497 (.timeline-overview > .graphs-container > .timeline-overview-graph): 6498 (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)): 6499 (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)): 6500 Add the graph rows with alternating stripe. 6501 6502 * UserInterface/TimelineOverview.js: 6503 (WebInspector.TimelineOverview): 6504 (WebInspector.TimelineOverview.prototype.set startTime): 6505 (WebInspector.TimelineOverview.prototype.get currentTime): 6506 (WebInspector.TimelineOverview.prototype.set currentTime): 6507 (WebInspector.TimelineOverview.prototype.updateLayout): 6508 (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded): 6509 Track currentTime in a member variable and let TimelineOverview manage the current time marker. 6510 6511 * UserInterface/TimelineOverviewGraph.js: Added. 6512 (WebInspector.TimelineOverviewGraph): 6513 (WebInspector.TimelineOverviewGraph.prototype.get zeroTime): 6514 (WebInspector.TimelineOverviewGraph.prototype.set zeroTime): 6515 (WebInspector.TimelineOverviewGraph.prototype.get startTime): 6516 (WebInspector.TimelineOverviewGraph.prototype.set startTime): 6517 (WebInspector.TimelineOverviewGraph.prototype.get endTime): 6518 (WebInspector.TimelineOverviewGraph.prototype.set endTime): 6519 (WebInspector.TimelineOverviewGraph.prototype.get currentTime): 6520 (WebInspector.TimelineOverviewGraph.prototype.set currentTime): 6521 (WebInspector.TimelineOverviewGraph.prototype.reset): 6522 (WebInspector.TimelineOverviewGraph.prototype.updateLayout): 6523 (WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded): 6524 (WebInspector.TimelineOverviewGraph.prototype.needsLayout): 6525 6526 * UserInterface/TimelineRecordBar.css: 6527 (.timeline-record-bar > .segment): 6528 (.timeline-record-bar.unfinished > .segment): 6529 (.timeline-record-bar > .segment.inactive + .segment): 6530 (.timeline-record-bar.timeline-record-type-network > .segment.inactive): 6531 6532 * UserInterface/TimelineRecordBar.js: 6533 (WebInspector.TimelineRecordBar): 6534 (WebInspector.TimelineRecordBar.recordsCannotBeCombined): 6535 (WebInspector.TimelineRecordBar.prototype.get records): 6536 (WebInspector.TimelineRecordBar.prototype.set records): 6537 (WebInspector.TimelineRecordBar.prototype.refresh): 6538 Make TimelineRecordBar support multiple records. 6539 6540 * UserInterface/TimelineRuler.css: 6541 (.timeline-ruler > .markers): 6542 (.timeline-ruler > .selection-handle): 6543 (.timeline-ruler > .shaded-area): 6544 Add some z-index values to stay above graph elements. 6545 65462014-01-16 Timothy Hatcher <timothy@apple.com> 6547 6548 Clean up Timelines code by using ES6 features and less global access of TimelineRecording. 6549 Also don't recreate Timeline objects when TimelineRecording is reset, reset them instead. 6550 6551 https://bugs.webkit.org/show_bug.cgi?id=127157 6552 6553 Reviewed by Joseph Pecoraro. 6554 6555 * UserInterface/LayoutTimelineView.js: 6556 (WebInspector.LayoutTimelineView.prototype.reset): 6557 * UserInterface/NetworkTimeline.js: 6558 (WebInspector.NetworkTimeline): 6559 (WebInspector.NetworkTimeline.prototype.reset): 6560 * UserInterface/NetworkTimelineView.js: 6561 (WebInspector.NetworkTimelineView.prototype.reset): 6562 * UserInterface/OverviewTimelineView.js: 6563 (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded): 6564 * UserInterface/ScriptTimelineView.js: 6565 (WebInspector.ScriptTimelineView.prototype.reset): 6566 * UserInterface/Timeline.js: 6567 (WebInspector.Timeline): 6568 (WebInspector.Timeline.prototype.reset): 6569 * UserInterface/TimelineContentView.js: 6570 (WebInspector.TimelineContentView.set createPathComponent): 6571 (WebInspector.TimelineContentView.set var): 6572 (WebInspector.TimelineContentView.prototype.showOverviewTimelineView): 6573 (WebInspector.TimelineContentView.prototype.showTimelineView): 6574 (WebInspector.TimelineContentView.prototype._showTimelineView): 6575 (WebInspector.TimelineContentView.prototype._update): 6576 (WebInspector.TimelineContentView.prototype._recordingReset): 6577 * UserInterface/TimelineRecording.js: 6578 (WebInspector.TimelineRecording.prototype.reset): 6579 65802014-01-16 Timothy Hatcher <timothy@apple.com> 6581 6582 Improve WebInspector.TimelineOverview by not putting WebInspector.TimelineRuler in a scroll area. 6583 6584 https://bugs.webkit.org/show_bug.cgi?id=127145 6585 6586 Reviewed by Joseph Pecoraro. 6587 6588 * UserInterface/TimelineOverview.css: 6589 (.timeline-overview > .scroll-container): 6590 (.timeline-overview > .timeline-ruler): 6591 (.timeline-overview > .scroll-container > .scroll-width-sizer): 6592 * UserInterface/TimelineOverview.js: 6593 (WebInspector.TimelineOverview): 6594 (WebInspector.TimelineOverview.prototype.get startTime): 6595 (WebInspector.TimelineOverview.prototype.set startTime): 6596 (WebInspector.TimelineOverview.prototype.get secondsPerPixel): 6597 (WebInspector.TimelineOverview.prototype.set secondsPerPixel): 6598 (WebInspector.TimelineOverview.prototype.get scrollStartTime): 6599 (WebInspector.TimelineOverview.prototype.set scrollStartTime): 6600 (WebInspector.TimelineOverview.prototype.get visibleDuration): 6601 (WebInspector.TimelineOverview.prototype.revealMarker): 6602 (WebInspector.TimelineOverview.prototype.updateLayout): 6603 (WebInspector.TimelineOverview.prototype._handleScrollEvent): 6604 (WebInspector.TimelineOverview.prototype._handleWheelEvent): 6605 * UserInterface/TimelineRuler.js: 6606 (WebInspector.TimelineRuler.MinimumSelectionTimeRange): Reduce to 10ms now that super zoom has no performance impact. 6607 66082014-01-15 Timothy Hatcher <timothy@apple.com> 6609 6610 Implement the discrete Script and Layout timeline views. 6611 6612 https://bugs.webkit.org/show_bug.cgi?id=127063 6613 6614 Reviewed by Joseph Pecoraro. 6615 6616 * Localizations/en.lproj/localizedStrings.js: Updated. 6617 6618 * UserInterface/DataGrid.js: 6619 (WebInspector.DataGrid): Support hidden columns by default. 6620 (WebInspector.DataGrid.prototype.updateLayout): Set the column width to zero for hidden columns. 6621 6622 * UserInterface/LayoutTimelineDataGrid.js: 6623 (WebInspector.LayoutTimelineDataGrid): Pass the right parameters to the superclass. 6624 6625 * UserInterface/LayoutTimelineRecord.js: 6626 (WebInspector.LayoutTimelineRecord.prototype.saveIdentityToCookie): Added. 6627 6628 * UserInterface/LayoutTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js. 6629 (.timeline-view.layout > .data-grid): 6630 (.timeline-view.layout > .data-grid .eventType-column): 6631 (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): 6632 6633 * UserInterface/LayoutTimelineView.js: Added. 6634 (WebInspector.LayoutTimelineView): 6635 (WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel): 6636 (WebInspector.LayoutTimelineView.prototype.shown): 6637 (WebInspector.LayoutTimelineView.prototype.hidden): 6638 (WebInspector.LayoutTimelineView.prototype.updateLayout): 6639 (WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters): 6640 (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded): 6641 (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange): 6642 (WebInspector.LayoutTimelineView.prototype._treeElementSelected): 6643 6644 * UserInterface/Main.html: Added new files. 6645 6646 * UserInterface/ScriptTimelineDataGrid.js: 6647 (WebInspector.ScriptTimelineDataGrid): Pass the right parameters to the superclass. 6648 6649 * UserInterface/ScriptTimelineDataGridNode.js: 6650 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Fix up how we create the link. 6651 6652 * UserInterface/ScriptTimelineRecord.js: 6653 (WebInspector.ScriptTimelineRecord.prototype.saveIdentityToCookie): Added. 6654 6655 * UserInterface/ScriptTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js. 6656 (.timeline-view.script > .data-grid): 6657 (.timeline-view.script > .data-grid .eventType-column): 6658 (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): 6659 6660 * UserInterface/ScriptTimelineView.js: Added. 6661 (WebInspector.ScriptTimelineView): 6662 (WebInspector.ScriptTimelineView.prototype.get navigationSidebarTreeOutlineLabel): 6663 (WebInspector.ScriptTimelineView.prototype.shown): 6664 (WebInspector.ScriptTimelineView.prototype.hidden): 6665 (WebInspector.ScriptTimelineView.prototype.updateLayout): 6666 (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters): 6667 (WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordAdded): 6668 (WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange): 6669 (WebInspector.ScriptTimelineView.prototype._treeElementSelected): 6670 6671 * UserInterface/SourceCodeTimelineTreeElement.js: 6672 (WebInspector.SourceCodeTimelineTreeElement): 6673 Moved code to TimelineRecordTreeElement. Subclass from it. 6674 6675 * UserInterface/TimelineContentView.js: 6676 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): Support TimelineRecordTreeElement. 6677 (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): Update zeroTime for all views. 6678 6679 * UserInterface/TimelineDataGrid.css: 6680 (.data-grid.timeline td .icon): 6681 (.data-grid.timeline td .go-to-arrow): 6682 (.data-grid.timeline tr:hover .go-to-arrow): 6683 (.data-grid.timeline td .subtitle): 6684 (.data-grid.timeline td .subtitle::before): 6685 (.data-grid.timeline:focus tr.selected td .subtitle): 6686 6687 * UserInterface/TimelineRecord.js: 6688 (WebInspector.TimelineRecord.prototype.saveIdentityToCookie): Added. 6689 6690 * UserInterface/TimelineRecordTreeElement.js: Added. 6691 (WebInspector.TimelineRecordTreeElement): 6692 (WebInspector.TimelineRecordTreeElement.prototype.get record): 6693 (WebInspector.TimelineRecordTreeElement.prototype.get filterableData): 6694 Factored out from SourceCodeTimelineTreeElement. 6695 6696 * UserInterface/TimelineSidebarPanel.js: 6697 (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looslyCompareRepresentedObjects): 6698 (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): 6699 Find TreeElements via a loose lookup based on represented objects that might contain the represented object we are 6700 really looking for. 6701 67022014-01-14 Timothy Hatcher <timothy@apple.com> 6703 6704 Implement the discrete Network timeline view. 6705 6706 https://bugs.webkit.org/show_bug.cgi?id=127022 6707 6708 Reviewed by Joseph Pecoraro. 6709 6710 * UserInterface/DataGrid.js: 6711 (WebInspector.DataGrid): Align the labels of the column headers to match the data. 6712 (WebInspector.DataGridNode.prototype.get selectable): Prevent selection when hidden. 6713 6714 * UserInterface/DetailsSection.css: 6715 (.details-section > .header): Bump the font size to match data grid header sizes. 6716 6717 * UserInterface/Main.html: Add new files. 6718 6719 * UserInterface/NetworkTimelineView.css: Added. 6720 (.timeline-view.network > .data-grid): 6721 (.sidebar > .panel.timeline.timeline-content-view-showing > .content .item.resource .subtitle): 6722 Hide the domain subtitle when the content view is showing which also has the domain. 6723 6724 * UserInterface/NetworkTimelineView.js: Added. 6725 (WebInspector.NetworkTimelineView): 6726 (WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel): 6727 (WebInspector.NetworkTimelineView.prototype.shown): 6728 (WebInspector.NetworkTimelineView.prototype.hidden): 6729 (WebInspector.NetworkTimelineView.prototype.updateLayout): 6730 (WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters): 6731 (WebInspector.NetworkTimelineView.prototype._networkTimelineRecordAdded): 6732 (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange): 6733 (WebInspector.NetworkTimelineView.prototype._treeElementSelected): 6734 6735 * UserInterface/ResourceTimelineDataGridNode.js: 6736 (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh): 6737 Call dataGridNodeNeedsRefresh on the TimelineDataGrid so things can be batched with 6738 one request animation frame. 6739 6740 * UserInterface/TimelineContentView.js: 6741 (WebInspector.TimelineContentView): Create a NetworkTimelineView. 6742 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): 6743 6744 * UserInterface/TimelineDataGrid.css: 6745 (.data-grid.timeline table): 6746 (.data-grid.timeline th): 6747 (.data-grid.timeline th:not(:last-child)): 6748 (.data-grid.timeline th.sortable:active): 6749 (.data-grid.timeline th.sort-descending): 6750 (.data-grid.timeline .data-container): 6751 (.data-grid.timeline td): 6752 (.data-grid.timeline td:last-child): 6753 (.data-grid.timeline td:not(:last-child)): 6754 (.data-grid.timeline:focus tr.selected td:not(:last-child)): 6755 (.data-grid.timeline th.sort-descending > div:first-child): 6756 (.data-grid.timeline th.sort-descending > div:first-child::after): 6757 (.data-grid.timeline td.error): 6758 (.data-grid.timeline tr.selected td.error): 6759 (.data-grid.timeline > .navigation-bar-container): 6760 (.data-grid.timeline:hover > .navigation-bar-container): 6761 (.data-grid.timeline > .navigation-bar-container > .navigation-bar): 6762 6763 * UserInterface/TimelineDataGrid.js: 6764 (WebInspector.TimelineDataGrid): 6765 (WebInspector.TimelineDataGrid.createColumnScopeBar): 6766 (WebInspector.TimelineDataGrid.prototype.reset): 6767 (WebInspector.TimelineDataGrid.prototype.shown): 6768 (WebInspector.TimelineDataGrid.prototype.hidden): 6769 (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement): 6770 (WebInspector.TimelineDataGrid.prototype.updateLayout): 6771 (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): 6772 (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder): 6773 (WebInspector.TimelineDataGrid.prototype.shouldIgnoreSelectionEvent): 6774 (WebInspector.TimelineDataGrid.prototype.dataGridNodeNeedsRefresh): 6775 (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): 6776 (WebInspector.TimelineDataGrid.prototype._sort): 6777 (WebInspector.TimelineDataGrid.prototype._sortComparator): 6778 Add support for sorting, batch refresh and managing of a TreeOutlineDataGridSynchronizer. 6779 6780 * UserInterface/TimelineSidebarPanel.css: 6781 (.sidebar > .panel.timeline > .title-bar): Bump the font size to match data grid header sizes. 6782 6783 * UserInterface/TimelineView.js: 6784 (WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Added stub. 6785 6786 * UserInterface/TreeOutlineDataGridSynchronizer.js: 6787 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get treeOutline): 6788 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get dataGrid): 6789 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get enabled): 6790 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.set enabled): 6791 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.treeElementForDataGridNode): 6792 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement): 6793 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled): 6794 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled): 6795 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected): 6796 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded): 6797 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed): 6798 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected): 6799 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded): 6800 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved): 6801 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded): 6802 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed): 6803 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged): 6804 Added support for disabling the synchronizer when the client can do a better job. 6805 68062014-01-13 Timothy Hatcher <timothy@apple.com> 6807 6808 Filter the Timeline overview graph and sidebar based on the current time selection. 6809 6810 https://bugs.webkit.org/show_bug.cgi?id=126955 6811 6812 Reviewed by Joseph Pecoraro. 6813 6814 * UserInterface/NavigationSidebarPanel.js: 6815 (WebInspector.NavigationSidebarPanel.prototype.updateFilter): 6816 (WebInspector.NavigationSidebarPanel.prototype.hasCustomFilters): 6817 (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): 6818 (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): 6819 (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement): 6820 Add support for custom filters implemented by subclasses. 6821 6822 * UserInterface/TimelineContentView.js: 6823 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds): 6824 (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): 6825 (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): 6826 Filter known tree element types by time. 6827 6828 * UserInterface/TimelineSidebarPanel.css: 6829 (.sidebar > .panel.timeline > .empty-content-placeholder): 6830 Position the empty placeholder with the content. 6831 6832 * UserInterface/TimelineSidebarPanel.js: 6833 (WebInspector.TimelineSidebarPanel.prototype.hasCustomFilters): 6834 (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): 6835 Defer filtering to the TimelineContentView. 6836 68372014-01-13 Timothy Hatcher <timothy@apple.com> 6838 6839 Implement state cookie support for WebInspector.TimelineSidebarPanel. 6840 6841 https://bugs.webkit.org/show_bug.cgi?id=126921 6842 6843 Reviewed by Joseph Pecoraro. 6844 6845 * UserInterface/DebuggerSidebarPanel.js: 6846 (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): 6847 Drive-by fix to pass along relaxedMatchDelay to the superclass. 6848 6849 * UserInterface/Main.js: 6850 (WebInspector.loaded): 6851 (WebInspector._provisionalLoadStarted): 6852 Listen for ProvisionalLoadStarted instead of ProvisionalLoadCommitted to save the cookie 6853 before the TimelineRecording is reset and clears the UI. 6854 6855 * UserInterface/NavigationSidebarPanel.js: 6856 (WebInspector.NavigationSidebarPanel.prototype.get restoringState): Added. 6857 (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie): 6858 Delete _pendingViewStateCookie since this was the final attempt. 6859 (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie): 6860 (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): Block string represented objects. 6861 (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): 6862 6863 * UserInterface/OverviewTimelineView.js: 6864 (WebInspector.OverviewTimelineView.prototype._treeElementSelected): 6865 6866 * UserInterface/ResourceSidebarPanel.js: 6867 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): 6868 Drive-by fix to null check parentFrame since it can be null. Was causing an exception while working on this. 6869 6870 * UserInterface/SourceCodeTimeline.js: 6871 (WebInspector.SourceCodeTimeline): 6872 (WebInspector.SourceCodeTimeline.prototype.saveIdentityToCookie): 6873 6874 * UserInterface/TimelineSidebarPanel.js: 6875 (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView): 6876 (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie): 6877 (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): 6878 6879 * UserInterface/TreeOutline.js: 6880 (TreeOutline.prototype._forgetTreeElement): 6881 Drive-by fix to clear selectedTreeElement if it is removed from the tree. Was causing removed TreeElements to be 6882 saved as a cookie since it was still the selected item. 6883 68842014-01-11 Timothy Hatcher <timothy@apple.com> 6885 6886 Implement bar graph rendering for WebInspector.OverviewTimelineView. 6887 6888 https://bugs.webkit.org/show_bug.cgi?id=126831 6889 6890 Reviewed by Joseph Pecoraro. 6891 6892 * UserInterface/Main.html: Added new files. 6893 6894 * UserInterface/OverviewTimelineView.css: 6895 (.timeline-view.overview > .data-grid td.graph-column): 6896 (.timeline-view.overview > .data-grid td.graph-column > div): 6897 (.timeline-view.overview > .data-grid td.graph-column .timeline-record-bar): 6898 Position the bars in the DataGrid cells. 6899 6900 * UserInterface/OverviewTimelineView.js: 6901 (WebInspector.OverviewTimelineView.prototype.updateLayout): 6902 (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): 6903 (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded): 6904 Create the proper DataGridNodes for resources and source code timelines. 6905 6906 * UserInterface/ResourceTimelineDataGridNode.js: 6907 (WebInspector.ResourceTimelineDataGridNode): 6908 (WebInspector.ResourceTimelineDataGridNode.prototype.get records): 6909 (WebInspector.ResourceTimelineDataGridNode.prototype.get resource): 6910 (WebInspector.ResourceTimelineDataGridNode.prototype.get data): 6911 (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): 6912 (WebInspector.ResourceTimelineDataGridNode.prototype.refresh): 6913 (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh): 6914 (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): 6915 Simplify by deferring the graph logic to the new TimelineDataGridNode base class. 6916 6917 * UserInterface/SourceCodeTimelineTimelineDataGridNode.js: Added. 6918 (WebInspector.SourceCodeTimelineTimelineDataGridNode): 6919 (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get records): 6920 (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get sourceCodeTimeline): 6921 (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get data): 6922 6923 * UserInterface/TimelineDataGridNode.js: Added. 6924 (WebInspector.TimelineDataGridNode): 6925 (WebInspector.TimelineDataGridNode.prototype.get records): 6926 (WebInspector.TimelineDataGridNode.prototype.get data): 6927 (WebInspector.TimelineDataGridNode.prototype.createCellContent): 6928 (WebInspector.TimelineDataGridNode.prototype.refresh): 6929 (WebInspector.TimelineDataGridNode.prototype.refreshGraph): 6930 (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh): 6931 Handles the graph column and manages the records and their bars. 6932 6933 * UserInterface/TimelineRecordBar.css: Added. 6934 (.timeline-record-bar): 6935 (.timeline-record-bar > .segment): 6936 (.timeline-record-bar:not(.has-inactive-segment) > .segment): 6937 (.timeline-record-bar.unfinished > .segment): 6938 (.timeline-record-bar > .segment.inactive + .segment): 6939 (:focus .selected .timeline-record-bar > .segment): 6940 (.timeline-record-bar > .segment.inactive): 6941 (.timeline-record-bar.timeline-record-type-network > .segment): 6942 (.timeline-record-bar.timeline-record-type-layout > .segment): 6943 (.timeline-record-bar.timeline-record-type-script > .segment): 6944 6945 * UserInterface/TimelineRecordBar.js: Added. 6946 (WebInspector.TimelineRecordBar): 6947 (WebInspector.TimelineRecordBar.prototype.get element): 6948 (WebInspector.TimelineRecordBar.prototype.refresh): 6949 (WebInspector.TimelineRecordBar.prototype._updateElementPosition): 6950 69512014-01-08 Timothy Hatcher <timothy@apple.com> 6952 6953 Update the current WebInspector.TimelineView when time range changes. 6954 6955 https://bugs.webkit.org/show_bug.cgi?id=126667 6956 6957 Reviewed by Joseph Pecoraro. 6958 6959 * UserInterface/TimelineContentView.js: 6960 (WebInspector.TimelineContentView.prototype._showTimelineView): 6961 (WebInspector.TimelineContentView.prototype._update): 6962 (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime): 6963 (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime): 6964 (WebInspector.TimelineContentView.prototype._recordingStarted): 6965 (WebInspector.TimelineContentView.prototype._recordingStopped): 6966 (WebInspector.TimelineContentView.prototype._recordingReset): 6967 (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): 6968 * UserInterface/TimelineOverview.js: 6969 (WebInspector.TimelineOverview): 6970 (WebInspector.TimelineOverview.prototype.updateLayout): 6971 (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded): 6972 (WebInspector.TimelineOverview.prototype._updateElementWidth): 6973 (WebInspector.TimelineOverview.prototype._handleWheelEvent): 6974 (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged): 6975 * UserInterface/TimelineRuler.js: 6976 (WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded): 6977 * UserInterface/TimelineView.js: 6978 (WebInspector.TimelineView): 6979 (WebInspector.TimelineView.prototype.get zeroTime): 6980 (WebInspector.TimelineView.prototype.set zeroTime): 6981 (WebInspector.TimelineView.prototype.get startTime): 6982 (WebInspector.TimelineView.prototype.set startTime): 6983 (WebInspector.TimelineView.prototype.get endTime): 6984 (WebInspector.TimelineView.prototype.set endTime): 6985 (WebInspector.TimelineView.prototype.get currentTime): 6986 (WebInspector.TimelineView.prototype.set currentTime.checkIfLayoutIsNeeded): 6987 (WebInspector.TimelineView.prototype.set currentTime): 6988 (WebInspector.TimelineView.prototype.updateLayout): 6989 (WebInspector.TimelineView.prototype.updateLayoutIfNeeded): 6990 (WebInspector.TimelineView.prototype.needsLayout): 6991 69922013-12-19 Timothy Hatcher <timothy@apple.com> 6993 6994 Implement time range selection for TimelineOverview and TimelineRuler. 6995 6996 https://bugs.webkit.org/show_bug.cgi?id=126035 6997 6998 Reviewed by Joseph Pecoraro. 6999 7000 * UserInterface/TimelineContentView.js: 7001 (WebInspector.TimelineContentView.prototype._update): 7002 (WebInspector.TimelineContentView.prototype._recordingReset): 7003 Properly update start time and the selection start time on reset. 7004 7005 * UserInterface/TimelineOverview.js: 7006 (WebInspector.TimelineOverview): 7007 (WebInspector.TimelineOverview.prototype.get selectionStartTime): 7008 (WebInspector.TimelineOverview.prototype.set selectionStartTime): 7009 (WebInspector.TimelineOverview.prototype.get selectionDuration): 7010 (WebInspector.TimelineOverview.prototype.set selectionDuration): 7011 Added selection getters and setters. 7012 7013 * UserInterface/TimelineRuler.css: 7014 (.timeline-ruler.allows-time-range-selection): 7015 (.timeline-ruler > *): 7016 (.timeline-ruler > .header): 7017 (.timeline-ruler > .selection-drag): 7018 (.timeline-ruler > .selection-drag:active): 7019 (.timeline-ruler > .selection-handle): 7020 (.timeline-ruler > .selection-handle.left): 7021 (.timeline-ruler > .selection-handle.right): 7022 (.timeline-ruler > .shaded-area): 7023 (.timeline-ruler > .shaded-area.left): 7024 (.timeline-ruler > .shaded-area.right): 7025 Added styles for the selection elements and tweaked pointer-events to allow 7026 events on elements we expect. 7027 7028 * UserInterface/TimelineRuler.js: 7029 (WebInspector.TimelineRuler): 7030 (WebInspector.TimelineRuler.prototype.get allowsTimeRangeSelection): Added. 7031 (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): Added. 7032 (WebInspector.TimelineRuler.prototype.get selectionStartTime): Added. 7033 (WebInspector.TimelineRuler.prototype.set selectionStartTime): Added. 7034 (WebInspector.TimelineRuler.prototype.get selectionEndTime): Added. 7035 (WebInspector.TimelineRuler.prototype.set selectionEndTime): Added. 7036 (WebInspector.TimelineRuler.prototype.updateLayout): 7037 (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): 7038 (WebInspector.TimelineRuler.prototype._needsMarkerLayout): 7039 (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update): 7040 (WebInspector.TimelineRuler.prototype._needsSelectionLayout): 7041 (WebInspector.TimelineRuler.prototype._recalculate): 7042 (WebInspector.TimelineRuler.prototype._updatePositionOfElement): 7043 (WebInspector.TimelineRuler.prototype._updateMarkers): 7044 (WebInspector.TimelineRuler.prototype._updateSelection): Added. 7045 (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent): 7046 (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged): 7047 (WebInspector.TimelineRuler.prototype._handleMouseDown): Added. 7048 (WebInspector.TimelineRuler.prototype._handleMouseMove): Added. 7049 (WebInspector.TimelineRuler.prototype._handleMouseUp): Added. 7050 (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown): Added. 7051 (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): Added. 7052 (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp): Added. 7053 Create selection elements and handle mouse events for drag and move. 7054 70552013-12-17 Timothy Hatcher <timothy@apple.com> 7056 7057 Support scroll to zoom in TimelineOverview. 7058 7059 https://bugs.webkit.org/show_bug.cgi?id=125909 7060 7061 Reviewed by Joseph Pecoraro. 7062 7063 * UserInterface/TimelineOverview.js: 7064 (WebInspector.TimelineOverview): 7065 (WebInspector.TimelineOverview.prototype._handleWheelEvent): 7066 70672013-12-17 Timothy Hatcher <timothy@apple.com> 7068 7069 Add the start of the TimelineOverview class. 7070 7071 TimelineOverview currently has a time ruler and tracks the current recording time. 7072 7073 https://bugs.webkit.org/show_bug.cgi?id=125878 7074 7075 Reviewed by Joseph Pecoraro. 7076 7077 * UserInterface/Main.html: 7078 * UserInterface/TimelineContentView.css: 7079 (.content-view.timeline > .timeline-overview): 7080 * UserInterface/TimelineContentView.js: 7081 (WebInspector.TimelineContentView): 7082 (WebInspector.TimelineContentView.prototype.updateLayout): 7083 (WebInspector.TimelineContentView.prototype._update): 7084 (WebInspector.TimelineContentView.prototype._recordingStarted): 7085 (WebInspector.TimelineContentView.prototype._recordingStopped): 7086 (WebInspector.TimelineContentView.prototype._recordingReset): 7087 * UserInterface/TimelineManager.js: 7088 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 7089 (WebInspector.TimelineManager.prototype.eventRecorded): 7090 * UserInterface/TimelineMarker.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineEventMarker.js. 7091 (WebInspector.TimelineMarker): 7092 (WebInspector.TimelineMarker.prototype.get time): 7093 (WebInspector.TimelineMarker.prototype.set time): 7094 (WebInspector.TimelineMarker.prototype.get type): 7095 * UserInterface/TimelineOverview.css: Added. 7096 (.timeline-overview > .scroll-container): 7097 (.timeline-overview > .scroll-container > .timeline-ruler): 7098 * UserInterface/TimelineOverview.js: Added. 7099 (WebInspector.TimelineOverview): 7100 (WebInspector.TimelineOverview.prototype.get element): 7101 (WebInspector.TimelineOverview.prototype.get startTime): 7102 (WebInspector.TimelineOverview.prototype.set startTime): 7103 (WebInspector.TimelineOverview.prototype.get secondsPerPixel): 7104 (WebInspector.TimelineOverview.prototype.set secondsPerPixel): 7105 (WebInspector.TimelineOverview.prototype.get endTime): 7106 (WebInspector.TimelineOverview.prototype.set endTime): 7107 (WebInspector.TimelineOverview.prototype.addMarker): 7108 (WebInspector.TimelineOverview.prototype.revealMarker): 7109 (WebInspector.TimelineOverview.prototype.updateLayout): 7110 (WebInspector.TimelineOverview.prototype._updateElementWidth): 7111 (WebInspector.TimelineOverview.prototype._needsLayout): 7112 * UserInterface/TimelineRecording.js: 7113 (WebInspector.TimelineRecording.prototype.get startTime): 7114 (WebInspector.TimelineRecording.prototype.get endTime): 7115 (WebInspector.TimelineRecording.prototype.reset): 7116 * UserInterface/TimelineRuler.css: 7117 (.timeline-ruler > .markers): 7118 (.timeline-ruler > .markers > .marker): 7119 (.timeline-ruler > .markers > .marker.current-time): 7120 (.timeline-ruler > .markers > .marker.current-time::before): 7121 (.timeline-ruler > .markers > .marker.load-event): 7122 (.timeline-ruler > .markers > .marker.dom-content-event): 7123 (.timeline-ruler > .markers > .marker.timestamp): 7124 * UserInterface/TimelineRuler.js: 7125 (WebInspector.TimelineRuler): 7126 (WebInspector.TimelineRuler.prototype.updateLayout): 7127 (WebInspector.TimelineRuler.prototype._needsLayout): 7128 (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): 7129 (WebInspector.TimelineRuler.prototype._needsMarkerLayout): 7130 (WebInspector.TimelineRuler.prototype._recalculate): 7131 (WebInspector.TimelineRuler.prototype._updateLeftPositionOfElement): 7132 (WebInspector.TimelineRuler.prototype._updateMarkers): 7133 (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged): 7134 71352013-12-13 Timothy Hatcher <timothy@apple.com> 7136 7137 Clean up and refactor TimelineDecorations into TimelineRuler. 7138 7139 https://bugs.webkit.org/show_bug.cgi?id=125709 7140 7141 Reviewed by Joseph Pecoraro. 7142 7143 * UserInterface/Main.html: 7144 * UserInterface/OverviewTimelineView.css: 7145 (.timeline-view.overview > .timeline-ruler): 7146 (.timeline-view.overview > .timeline-ruler > .header): 7147 (.timeline-view.overview > .timeline-ruler > .event-markers): 7148 Updated class names and border sides. 7149 7150 * UserInterface/OverviewTimelineView.js: 7151 (WebInspector.OverviewTimelineView): 7152 (WebInspector.OverviewTimelineView.prototype.updateLayout): 7153 Call updateLayout on the TimelineRuler. 7154 7155 * UserInterface/TimelineRuler.css: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.css. 7156 (.timeline-ruler): 7157 (.timeline-ruler > .header): 7158 (.timeline-ruler > .header > .divider): 7159 (.timeline-ruler > .header > .divider > .label): 7160 (.timeline-ruler > .event-markers): 7161 (.timeline-ruler > .event-markers > .event-marker-tooltip): 7162 (.timeline-ruler > .event-markers > .event-marker): 7163 (.timeline-ruler > .event-markers > .event-marker.load-event): 7164 (.timeline-ruler > .event-markers > .event-marker.dom-content-event): 7165 (.timeline-ruler > .event-markers > .event-marker.timestamp): 7166 Updated class names and border sides. 7167 7168 * UserInterface/TimelineRuler.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.js. 7169 (WebInspector.TimelineRuler): 7170 (WebInspector.TimelineRuler.prototype.get element): 7171 (WebInspector.TimelineRuler.prototype.get headerElement): 7172 (WebInspector.TimelineRuler.prototype.get allowsClippedLabels): 7173 (WebInspector.TimelineRuler.prototype.set allowsClippedLabels): 7174 (WebInspector.TimelineRuler.prototype.get zeroTime): 7175 (WebInspector.TimelineRuler.prototype.set zeroTime): 7176 (WebInspector.TimelineRuler.prototype.get startTime): 7177 (WebInspector.TimelineRuler.prototype.set startTime): 7178 (WebInspector.TimelineRuler.prototype.get duration): 7179 (WebInspector.TimelineRuler.prototype.set duration): 7180 (WebInspector.TimelineRuler.prototype.get endTime): 7181 (WebInspector.TimelineRuler.prototype.set endTime): 7182 (WebInspector.TimelineRuler.prototype.get secondsPerPixel): 7183 (WebInspector.TimelineRuler.prototype.set secondsPerPixel): 7184 (WebInspector.TimelineRuler.prototype.updateLayout.removeDividerAndSelectNext): 7185 (WebInspector.TimelineRuler.prototype.updateLayout): 7186 (WebInspector.TimelineRuler.prototype._needsLayout): 7187 (WebInspector.TimelineRuler.prototype._recalculate): 7188 Refactor so the times are stored on TimelineRuler and not passed in each time an update is needed. 7189 Support dividers that don't always start at the zero position, allowing a sliding time ruler. 7190 Support for a non-pinned ruler where the end time is not fixed and the scale is specified in 7191 seconds-per-pixel. 7192 71932014-01-08 Timothy Hatcher <timothy@apple.com> 7194 7195 Improve scroll performance of WebInspector.TreeOutlineDataGridSynchronizer. 7196 7197 https://bugs.webkit.org/show_bug.cgi?id=126660 7198 7199 Reviewed by Joseph Pecoraro. 7200 7201 * UserInterface/TreeOutlineDataGridSynchronizer.js: 7202 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled): 7203 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled): 7204 Ignore scroll events triggered by our internal use of setting scrollTop. 7205 72062013-11-15 Timothy Hatcher <timothy@apple.com> 7207 7208 Add a synchronized DataGrid to the OverviewTimelineView. 7209 7210 The DataGrid is synchronized with the sidebar TreeOutline to appear as one when the view 7211 and sidebar are both showing. The two scroll, expand and collapse in sync when the view 7212 is showing. When the view is not showing the sidebar can scroll independently. 7213 7214 https://bugs.webkit.org/show_bug.cgi?id=124429 7215 7216 Reviewed by Joseph Pecoraro. 7217 7218 * UserInterface/DataGrid.js: 7219 (WebInspector.DataGrid): 7220 (WebInspector.DataGrid.createSortableDataGrid): 7221 (WebInspector.DataGrid.prototype._copyTextForDataGridNode): 7222 (WebInspector.DataGridNode.prototype.createCellContent): 7223 Handle undefined/null cells better by substituting empty strings. 7224 7225 (WebInspector.DataGridNode.prototype.collapse): 7226 (WebInspector.DataGridNode.prototype.expand): 7227 Fire events on the DataGrid for expand and collapse. 7228 7229 * UserInterface/Main.html: Include TreeOutlineDataGridSynchronizer.js. 7230 7231 * UserInterface/NavigationSidebarPanel.css: 7232 (.sidebar > .panel.navigation > .content): Shorten by 1px to match the content view height. 7233 Needed to keep scrolling in sync. The clipping looks better too. 7234 7235 * UserInterface/OverviewTimelineView.css: 7236 (.timeline-view.overview > .data-grid): 7237 (.timeline-view.overview > .data-grid table.header): 7238 (.timeline-view.overview > .data-grid .data-container): 7239 Style the DataGrid to to not have a header. 7240 7241 * UserInterface/OverviewTimelineView.js: 7242 (WebInspector.OverviewTimelineView): 7243 (WebInspector.OverviewTimelineView.prototype.shown): 7244 (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): 7245 (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded): 7246 Create the DataGrid and some placeholder nodes. Hook up TreeOutlineDataGridSynchronizer. 7247 7248 * UserInterface/TimelineContentView.css: 7249 (.content-view.timeline > .view-container > .timeline-view > .data-grid td): 7250 (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data): 7251 Style the DataGrid to match the height of TreeElements in the sidebar. 7252 7253 * UserInterface/TimelineSidebarPanel.css: 7254 (.sidebar > .panel.timeline.timeline-content-view-showing > .content): 7255 Hide the scrollbar off the right when the view is showing. The view will show the scrollbar. 7256 7257 * UserInterface/TimelineSidebarPanel.js: 7258 (WebInspector.TimelineSidebarPanel): 7259 (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected): 7260 (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange): 7261 7262 * UserInterface/TreeOutline.js: 7263 (TreeOutline.prototype.removeChildAtIndex): 7264 (TreeOutline.prototype.removeChildren): 7265 (TreeOutline.prototype.removeChildrenRecursive): 7266 (TreeElement.prototype.set hidden): 7267 Add event callbacks for onhidden and onremove. 7268 7269 * UserInterface/TreeOutlineDataGridSynchronizer.js: Added. 7270 (WebInspector.TreeOutlineDataGridSynchronizer): 7271 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.associate): 7272 (WebInspector.TreeOutlineDataGridSynchronizer.prototype.synchronize): 7273 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled): 7274 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled): 7275 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected): 7276 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded): 7277 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed): 7278 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected): 7279 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded): 7280 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved): 7281 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded): 7282 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed): 7283 (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged): 7284 72852013-11-07 Timothy Hatcher <timothy@apple.com> 7286 7287 Start fleshing out the Overview Timeline view. 7288 7289 This gets the overview populating in the Timeline sidebar. The graph side is still empty. 7290 7291 https://bugs.webkit.org/show_bug.cgi?id=124005 7292 7293 Reviewed by Joseph Pecoraro. 7294 7295 * Localizations/en.lproj/localizedStrings.js: Updated. 7296 * UserInterface/Frame.js: 7297 (WebInspector.Frame.prototype.addResource): 7298 * UserInterface/Images/TimelineRecordAnimation.svg: Added. 7299 * UserInterface/Images/TimelineRecordEvent.svg: Added. 7300 * UserInterface/Images/TimelineRecordLayout.svg: Added. 7301 * UserInterface/Images/TimelineRecordPaint.svg: Added. 7302 * UserInterface/Images/TimelineRecordScriptEvaluated.svg: Added. 7303 * UserInterface/Images/TimelineRecordStyle.svg: Added. 7304 * UserInterface/Images/TimelineRecordTimer.svg: Added. 7305 * UserInterface/Main.html: 7306 * UserInterface/OverviewTimelineView.js: Added. 7307 (WebInspector.OverviewTimelineView): 7308 (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel): 7309 (WebInspector.OverviewTimelineView.prototype._childFrameWasAdded): 7310 (WebInspector.OverviewTimelineView.prototype._mainResourceDidChange): 7311 (WebInspector.OverviewTimelineView.prototype._provisionalResourceWasAdded): 7312 (WebInspector.OverviewTimelineView.prototype._resourceWasAdded): 7313 (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): 7314 (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime): 7315 (WebInspector.OverviewTimelineView.prototype._insertTreeElement): 7316 (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): 7317 (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded): 7318 (WebInspector.OverviewTimelineView.prototype._treeElementSelected): 7319 * UserInterface/SourceCodeTimelineTreeElement.js: Added. 7320 (WebInspector.SourceCodeTimelineTreeElement): 7321 (WebInspector.SourceCodeTimelineTreeElement.prototype.get sourceCodeTimeline): 7322 * UserInterface/TimelineContentView.js: 7323 (WebInspector.TimelineContentView.createPathComponent): 7324 (WebInspector.TimelineContentView): 7325 (WebInspector.TimelineContentView.prototype.showOverviewTimelineView): 7326 (WebInspector.TimelineContentView.prototype.showTimelineView): 7327 (WebInspector.TimelineContentView.prototype.get supportsSplitContentBrowser): 7328 (WebInspector.TimelineContentView.prototype.get selectionPathComponents): 7329 (WebInspector.TimelineContentView.prototype._pathComponentSelected): 7330 (WebInspector.TimelineContentView.prototype._showTimelineView): 7331 (WebInspector.TimelineContentView.prototype._recordingReset): 7332 * UserInterface/TimelineIcons.css: 7333 (.style-record .icon): Added. 7334 (.layout-record .icon): Added. 7335 (.paint-record .icon): Added. 7336 (.evaluated-record .icon): Added. 7337 (.event-record .icon): Added. 7338 (.timer-record .icon): Added. 7339 (.animation-record .icon): Added. 7340 * UserInterface/TimelineView.css: Added. 7341 (.timeline-view): 7342 * UserInterface/TimelineView.js: Added. 7343 (WebInspector.TimelineView): 7344 (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline): 7345 (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel): 7346 (WebInspector.TimelineView.prototype.reset): 7347 (WebInspector.TimelineView.prototype.shown): 7348 (WebInspector.TimelineView.prototype.hidden): 7349 73502013-11-07 Timothy Hatcher <timothy@apple.com> 7351 7352 Start fleshing out the new TimelineSidebarPanel and TimelineContentView. 7353 7354 https://bugs.webkit.org/show_bug.cgi?id=124003 7355 7356 Reviewed by Joseph Pecoraro. 7357 7358 * UserInterface/ContentView.js: 7359 (WebInspector.ContentView): 7360 (WebInspector.ContentView.isViewable): 7361 * UserInterface/FrameContentView.js: 7362 * UserInterface/Images/CloseTimeline.png: Added. 7363 * UserInterface/Images/CloseTimeline@2x.png: Added. 7364 * UserInterface/Images/ColorsLarge.png: Added. 7365 * UserInterface/Images/ColorsLarge@2x.png: Added. 7366 * UserInterface/Images/NetworkLarge.png: Added. 7367 * UserInterface/Images/NetworkLarge@2x.png: Added. 7368 * UserInterface/Images/ScriptLarge.png: Added. 7369 * UserInterface/Images/ScriptLarge@2x.png: Added. 7370 * UserInterface/Main.html: 7371 * UserInterface/Main.js: 7372 (WebInspector.sidebarPanelForRepresentedObject): 7373 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): 7374 * UserInterface/NavigationSidebarPanel.js: 7375 (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView): 7376 * UserInterface/ResourceClusterContentView.js: 7377 * UserInterface/TimelineContentView.css: Added. 7378 (.content-view.timeline > .view-container): 7379 * UserInterface/TimelineContentView.js: Added. 7380 (WebInspector.TimelineContentView): 7381 * UserInterface/TimelineIcons.css: Renamed from Source/WebInspectorUI/UserInterface/InstrumentIcons.css. 7382 (.network-icon.large .icon): Added. 7383 (.colors-icon.large .icon): Added. 7384 (.script-icon.large .icon): Added. 7385 * UserInterface/TimelineSidebarPanel.css: 7386 (.sidebar > .panel.timeline > .navigation-bar): 7387 (.sidebar > .panel.timeline > .title-bar): 7388 (.sidebar > .panel.timeline > .title-bar.timelines): 7389 (.sidebar > .panel.timeline > .title-bar.timeline-events): 7390 (.sidebar > .panel.timeline > .timelines-content): 7391 (.sidebar > .panel.timeline > .timelines-content .close-button): 7392 (.sidebar > .panel.timeline > .timelines-content li.item.selected .close-button): 7393 (.sidebar > .panel.timeline > .timelines-content .close-button:active): 7394 (.sidebar > .panel.timeline > .content): 7395 * UserInterface/TimelineSidebarPanel.js: 7396 (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): 7397 (WebInspector.TimelineSidebarPanel): 7398 (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView): 7399 (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): 7400 (WebInspector.TimelineSidebarPanel.prototype.get contentTreeOutlineLabel): 7401 (WebInspector.TimelineSidebarPanel.prototype.set contentTreeOutlineLabel): 7402 (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview): 7403 (WebInspector.TimelineSidebarPanel.prototype.showTimelineView): 7404 (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected): 7405 74062014-01-08 Timothy Hatcher <timothy@apple.com> 7407 7408 Correctly track time bounds of WebInspector.Timeline and WebInspector.TimelineRecording. 7409 7410 The startTime and endTime were not correct when Network timeline needed to be taken into 7411 account (due to its dynamic loading nature.) This creates a network Timeline for the purposes 7412 of tracking the ResourceTimelineRecords and getting accurate start and end times. 7413 7414 Also changes the way TimelineRecord tracks the inactive portion of time, needed for later 7415 work on the timeline graphs. 7416 7417 https://bugs.webkit.org/show_bug.cgi?id=126676 7418 7419 Reviewed by Joseph Pecoraro. 7420 7421 * UserInterface/ResourceTimelineRecord.js: 7422 (WebInspector.ResourceTimelineRecord.prototype.get updatesDynamically): 7423 (WebInspector.ResourceTimelineRecord.prototype.get usesActiveStartTime): 7424 (WebInspector.ResourceTimelineRecord.prototype.get startTime): 7425 (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime): 7426 (WebInspector.ResourceTimelineRecord.prototype.get endTime): 7427 * UserInterface/Timeline.js: 7428 (WebInspector.Timeline): 7429 (WebInspector.Timeline.prototype.get startTime): 7430 (WebInspector.Timeline.prototype.get endTime): 7431 (WebInspector.Timeline.prototype.addRecord): 7432 (WebInspector.Timeline.prototype._updateTimesIfNeeded): 7433 (WebInspector.Timeline.prototype._recordUpdated): 7434 * UserInterface/TimelineRecord.js: 7435 (WebInspector.TimelineRecord.prototype.get startTime): 7436 (WebInspector.TimelineRecord.prototype.get activeStartTime): 7437 (WebInspector.TimelineRecord.prototype.get endTime): 7438 (WebInspector.TimelineRecord.prototype.get inactiveDuration): 7439 (WebInspector.TimelineRecord.prototype.get activeDuration): 7440 (WebInspector.TimelineRecord.prototype.get updatesDynamically): 7441 (WebInspector.TimelineRecord.prototype.get usesActiveStartTime): 7442 * UserInterface/TimelineRecording.js: 7443 (WebInspector.TimelineRecording.prototype._timelineTimesUpdated): 7444 74452013-10-25 Timothy Hatcher <timothy@apple.com> 7446 7447 Implement TimelineRecording and per-call-site timelines. 7448 7449 Keep track of timeline records per global timeline and per source code location. 7450 This will be used to display them in the UI in later patches. 7451 7452 https://bugs.webkit.org/show_bug.cgi?id=123367 7453 7454 Reviewed by Joseph Pecoraro. 7455 7456 * UserInterface/Main.html: 7457 * UserInterface/SourceCodeTimeline.js: Added. 7458 (WebInspector.SourceCodeTimeline): 7459 (WebInspector.SourceCodeTimeline.prototype.get sourceCode): 7460 (WebInspector.SourceCodeTimeline.prototype.get sourceCodeLocation): 7461 (WebInspector.SourceCodeTimeline.prototype.get recordType): 7462 (WebInspector.SourceCodeTimeline.prototype.get recordEventType): 7463 * UserInterface/Timeline.js: Added. 7464 (WebInspector.Timeline): 7465 (WebInspector.Timeline.prototype.get records): 7466 (WebInspector.Timeline.prototype.addRecord): 7467 * UserInterface/TimelineRecording.js: 7468 (WebInspector.TimelineRecording): 7469 (WebInspector.TimelineRecording.prototype.get timelines): Added. 7470 (WebInspector.TimelineRecording.prototype.sourceCodeTimelinesForSourceCode): Added. 7471 (WebInspector.TimelineRecording.prototype.addEventMarker): Implemented. 7472 (WebInspector.TimelineRecording.prototype.addRecord): Implemented. 7473 (WebInspector.TimelineRecording.prototype._keyForRecord): Added. 7474 74752013-10-25 Timothy Hatcher <timothy@apple.com> 7476 7477 Add support for multiple Timeline recordings. 7478 7479 We also don't explicitly add ResourceTimelineRecords anymore. These will be tracked automatically in a later patch. 7480 7481 https://bugs.webkit.org/show_bug.cgi?id=123366 7482 7483 Reviewed by Joseph Pecoraro. 7484 7485 * UserInterface/DashboardManager.js: 7486 (WebInspector.DashboardManager.prototype._mainResourceDidChange): Check for currentRecording. 7487 * UserInterface/InspectorFrontendAPI.js: 7488 (InspectorFrontendAPI.isTimelineProfilingEnabled): Check for currentRecording. 7489 * UserInterface/Main.html: 7490 * UserInterface/TimelineManager.js: 7491 (WebInspector.TimelineManager): 7492 (WebInspector.TimelineManager.prototype.get currentRecording): Added. 7493 (WebInspector.TimelineManager.prototype.startRecording): Make a new recording and push it onto the recording array. 7494 Add the current recording to the event. 7495 (WebInspector.TimelineManager.prototype.stopRecording): Add the current recording to the event. 7496 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check for currentRecording. Add the markers 7497 to the current recording. 7498 (WebInspector.TimelineManager.prototype._addRecord): Add the record to the current recording. 7499 (WebInspector.TimelineManager.prototype._startAutoRecording): Clean up. Don't add ResourceTimelineRecord. Clear recordings. 7500 (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Check for _currentRecording. 7501 (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Ditto. 7502 (WebInspector.TimelineManager.prototype._mainResourceDidChange): Don't add ResourceTimelineRecord anymore. 7503 (WebInspector.TimelineManager.prototype._resourceWasAdded): Removed. 7504 * UserInterface/TimelineRecording.js: Added. 7505 (WebInspector.TimelineRecording): Added. 7506 (WebInspector.TimelineRecording.prototype.addEventMarker): Added. 7507 (WebInspector.TimelineRecording.prototype.addRecord): Added. 7508 75092013-10-25 Timothy Hatcher <timothy@apple.com> 7510 7511 Track callFrames and sourceCodeLocation per TimelineRecord. 7512 7513 https://bugs.webkit.org/show_bug.cgi?id=123359 7514 7515 Reviewed by Joseph Pecoraro. 7516 7517 * UserInterface/LayoutTimelineRecord.js: 7518 (WebInspector.LayoutTimelineRecord): Pass callFrames and sourceCodeLocation to superclass. 7519 * UserInterface/ScriptTimelineRecord.js: 7520 (WebInspector.ScriptTimelineRecord): Pass callFrames and sourceCodeLocation to superclass. 7521 * UserInterface/TimelineManager.js: 7522 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Add "Payload" suffix to better track what is a protocol object. 7523 Pass the callFrames and sourceCodeLocation to all the new TimelineRecords. 7524 (WebInspector.TimelineManager.prototype.eventRecorded): Add "Payload" suffix. 7525 * UserInterface/TimelineRecord.js: 7526 (WebInspector.TimelineRecord): 7527 (WebInspector.TimelineRecord.prototype.get callFrames): Added. 7528 (WebInspector.TimelineRecord.prototype.get initiatorCallFrame): Added. 7529 (WebInspector.TimelineRecord.prototype.get sourceCodeLocation): Added. 7530 75312013-10-25 Timothy Hatcher <timothy@apple.com> 7532 7533 Change how the load and content ready event timestamps are tracked. 7534 7535 https://bugs.webkit.org/show_bug.cgi?id=123356 7536 7537 Reviewed by Joseph Pecoraro. 7538 7539 * UserInterface/DashboardManager.js: 7540 (WebInspector.DashboardManager.prototype._updateTime): Use the timestamps on the main frame. 7541 * UserInterface/Frame.js: 7542 (WebInspector.Frame): 7543 (WebInspector.Frame.prototype.get domContentReadyEventTimestamp): Added. 7544 (WebInspector.Frame.prototype.get loadEventTimestamp): Added. 7545 (WebInspector.Frame.prototype.markDOMContentReadyEvent): Added. 7546 (WebInspector.Frame.prototype.markLoadEvent): Added. 7547 * UserInterface/TimelineManager.js: 7548 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Use markLoadEvent and markDOMContentReadyEvent. 7549 Do it for all frames, not just the main frame. 7550 (WebInspector.TimelineManager.prototype.pageDidLoad): Call markLoadEvent on the Frame. 7551 75522013-10-25 Timothy Hatcher <timothy@apple.com> 7553 7554 Remove a lot of the current Timelines code to make room for a new implementation. 7555 7556 https://bugs.webkit.org/show_bug.cgi?id=123368 7557 7558 Reviewed by Joseph Pecoraro. 7559 7560 * Localizations/en.lproj/localizedStrings.js: 7561 * UserInterface/ContentView.js: 7562 (WebInspector.ContentView): 7563 (WebInspector.ContentView.isViewable): 7564 * UserInterface/DashboardView.js: 7565 (WebInspector.DashboardView.prototype._networkItemWasClicked): 7566 * UserInterface/InspectorFrontendAPI.js: 7567 (InspectorFrontendAPI.setTimelineProfilingEnabled): 7568 (InspectorFrontendAPI.stopProfilingJavaScript): 7569 * UserInterface/InstrumentSidebarPanel.js: Removed. 7570 * UserInterface/Main.html: 7571 * UserInterface/Main.js: 7572 (WebInspector.contentLoaded): 7573 (WebInspector.sidebarPanelForRepresentedObject): 7574 (WebInspector.openURL): 7575 * UserInterface/Object.js: 7576 (WebInspector.Object.addEventListener): 7577 * UserInterface/TimelineManager.js: 7578 (WebInspector.TimelineManager): 7579 (WebInspector.TimelineManager.prototype.startRecording): 7580 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 7581 (WebInspector.TimelineManager.prototype.eventRecorded): 7582 (WebInspector.TimelineManager.prototype.objectForCookie): 7583 (WebInspector.TimelineManager.prototype._addRecord): 7584 * UserInterface/TimelinesObject.js: Removed. 7585 * UserInterface/TimelineOverview.css: Removed. 7586 * UserInterface/TimelineOverview.js: Removed. 7587 * UserInterface/TimelineSidebarPanel.css: Added. 7588 * UserInterface/TimelineSidebarPanel.js: Added. 7589 (WebInspector.TimelineSidebarPanel): 7590 * UserInterface/TimelinesContentView.css: Removed. 7591 * UserInterface/TimelinesContentView.js: Removed. 7592 75932014-01-20 Timothy Hatcher <timothy@apple.com> 7594 7595 Fix jumping to a text position when showing a resource. 7596 7597 https://bugs.webkit.org/show_bug.cgi?id=127271 7598 7599 Reviewed by Joseph Pecoraro. 7600 7601 * UserInterface/FrameContentView.js: 7602 (WebInspector.FrameContentView.prototype.showSourceCode): Just use showResponse's arguments 7603 which already does the same logic to call revealPosition. 7604 * UserInterface/ResourceClusterContentView.js: 7605 (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): This was the bug. 7606 lineNumber and columnNumber need honored here. They were only honored by FrameContentView. 7607 * UserInterface/ResourceSidebarPanel.js: 7608 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Use showContentViewForRepresentedObject 7609 which also accepts a cookie and handles creating the content view for us. 7610 76112014-01-16 Brian Burg <bburg@apple.com> 7612 7613 Web Inspector: add more context to Object.addEventListener assertions 7614 https://bugs.webkit.org/show_bug.cgi?id=127125 7615 7616 Reviewed by Joseph Pecoraro. 7617 7618 Log invalid event type and listener parameters, and log the other 7619 parameters so the callsite is easier to figure out. 7620 7621 * UserInterface/Object.js: 7622 (WebInspector.Object.addEventListener): 7623 76242014-01-16 Brian Burg <bburg@apple.com> 7625 7626 Web Inspector: CallFrame is missing saveIdentityToCookie, or should be excluded 7627 https://bugs.webkit.org/show_bug.cgi?id=126791 7628 7629 Reviewed by Timothy Hatcher. 7630 7631 * UserInterface/CallFrame.js: Add a dummy saveIdentityToCookie() implementation. 7632 76332014-01-16 Brian Burg <bburg@apple.com> 7634 7635 Web Inspector: add probe breakpoint action to popup breakpoint editor 7636 https://bugs.webkit.org/show_bug.cgi?id=126931 7637 7638 Reviewed by Timothy Hatcher. 7639 7640 Add probes to the breakpoint action dropdown. 7641 Reuse the "evaluate JavaScript" input UI. 7642 7643 * Localizations/en.lproj/localizedStrings.js: 7644 * UserInterface/BreakpointAction.js: 7645 * UserInterface/BreakpointActionView.js: 7646 (WebInspector.BreakpointActionView.displayStringForType): 7647 (WebInspector.BreakpointActionView.prototype._updateBody.switch.break): 7648 76492014-01-15 Brian Burg <bburg@apple.com> 7650 7651 Web Inspector: capture probe samples on the backend 7652 https://bugs.webkit.org/show_bug.cgi?id=126668 7653 7654 Reviewed by Joseph Pecoraro. 7655 7656 * UserInterface/InspectorJSBackendCommands.js: Add probe enumeration value. 7657 76582014-01-15 Andreas Kling <akling@apple.com> 7659 7660 Remove the CSS selector profiler. 7661 <https://webkit.org/b/127039> 7662 7663 Purge selector profiler code from the new Web Inspector UI. 7664 7665 Reviewed by Sam Weinig. 7666 7667 * Localizations/en.lproj/localizedStrings.js: 7668 * UserInterface/CSSSelectorProfileObject.js: Removed. 7669 * UserInterface/CSSSelectorProfileType.js: Removed. 7670 * UserInterface/CSSSelectorProfileView.js: Removed. 7671 * UserInterface/ContentView.js: 7672 (WebInspector.ContentView): 7673 (WebInspector.ContentView.isViewable): 7674 * UserInterface/InspectorWebBackendCommands.js: 7675 * UserInterface/InstrumentSidebarPanel.js: 7676 (WebInspector.InstrumentSidebarPanel): 7677 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver): 7678 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): 7679 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): 7680 (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): 7681 (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared): 7682 * UserInterface/Main.html: 7683 * UserInterface/ProfileManager.js: 7684 (WebInspector.ProfileManager): 7685 (WebInspector.ProfileManager.prototype.initialize): 7686 (WebInspector.ProfileManager.prototype._checkForInterruptions): 7687 (WebInspector.ProfileManager.prototype._attemptToResumeProfiling): 7688 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 7689 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 7690 76912014-01-13 Timothy Hatcher <timothy@apple.com> 7692 7693 Snap time dividers to nearest numbers instead of just dividing the time span into max density slices. 7694 7695 https://bugs.webkit.org/show_bug.cgi?id=125081 7696 7697 Reviewed by Joseph Pecoraro. 7698 7699 * UserInterface/TimelineDecorations.js: 7700 (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): Snap the time slice to a nearest number. 7701 (WebInspector.TimelineDecorations.prototype.updateEventMarkers): Rename boundarySpan to timeSpan. 7702 77032014-01-10 Joseph Pecoraro <pecoraro@apple.com> 7704 7705 Web Inspector: Remove unimplemented or static ScriptDebugServer features 7706 https://bugs.webkit.org/show_bug.cgi?id=126784 7707 7708 Reviewed by Timothy Hatcher. 7709 7710 * UserInterface/InspectorJSBackendCommands.js: 7711 * UserInterface/InspectorWebBackendCommands.js: 7712 * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: 7713 * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: 7714 * Versions/Inspector-iOS-6.0.json: 7715 * Versions/Inspector-iOS-7.0.json: 7716 77172014-01-10 Timothy Hatcher <timothy@apple.com> 7718 7719 Web Inspector: support negative numbers in secondsToString and bytesToString. 7720 7721 https://bugs.webkit.org/show_bug.cgi?id=125708 7722 7723 Reviewed by Joseph Pecoraro. 7724 7725 * UserInterface/Utilities.js: 7726 (Number.secondsToString): Use Math.abs in the size checks. 7727 (Number.bytesToString): Ditto. 7728 77292014-01-10 Brian Burg <bburg@apple.com> 7730 7731 Web Inspector: cycle clicked breakpoints between enabled, auto-continue, and disabled 7732 https://bugs.webkit.org/show_bug.cgi?id=126669 7733 7734 Reviewed by Joseph Pecoraro. 7735 7736 It's time-consuming to change a breakpoint's auto-continue setting through the 7737 breakpoint editor popup. This patch enables the user to toggle between enabled, 7738 auto-continue, and disabled by clicking on the breakpoint wedge in the sidebar 7739 tree and in the source text editor gutter. The auto-continue option is only 7740 cycled when the breakpoint has associated actions. 7741 7742 Clean up the breakpoint editor dialog so it hides irrelevant options when 7743 no breakpoint actions have been added. 7744 7745 Automatically unset auto-continue when the last breakpoint action is removed. 7746 7747 Rename the delegate textEditorBreakpointToggled to textEditorBreakpointClicked, since 7748 the behavior of the click depends on breakpoint state not available in the text editor. 7749 7750 * Localizations/en.lproj/localizedStrings.js: 7751 * UserInterface/Breakpoint.js: 7752 (WebInspector.Breakpoint.prototype.cycleToNextMode): Added. 7753 (WebInspector.Breakpoint.prototype.toggleAutoContinue): Added. 7754 (WebInspector.Breakpoint.prototype.appendContextMenuItems): Add auto-continue options. 7755 (WebInspector.Breakpoint.prototype.removeAction): 7756 7757 (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): 7758 (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): 7759 (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): 7760 (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): 7761 (WebInspector.Breakpoint.prototype.willDismissPopover): 7762 * UserInterface/BreakpointTreeElement.css: 7763 (.item.breakpoint .status > .status-image.auto-continue): 7764 (.item.breakpoint .status > .status-image.disabled): 7765 * UserInterface/BreakpointTreeElement.js: 7766 (WebInspector.BreakpointTreeElement): 7767 (WebInspector.BreakpointTreeElement.prototype.onenter): 7768 (WebInspector.BreakpointTreeElement.prototype.onspace): 7769 (WebInspector.BreakpointTreeElement.prototype._updateStatus): 7770 (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): 7771 (WebInspector.BreakpointTreeElement.prototype._statusImageElementClicked): 7772 * UserInterface/SourceCodeTextEditor.js: 7773 (WebInspector.SourceCodeTextEditor): 7774 (WebInspector.SourceCodeTextEditor.prototype.close): 7775 (WebInspector.SourceCodeTextEditor.prototype._breakpointInfoForBreakpoint): 7776 (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointClicked): 7777 * UserInterface/TextEditor.css: 7778 (.text-editor > .CodeMirror .breakpoint-auto-continue:not(.breakpoint-disabled) .CodeMirror-linenumber::before): 7779 * UserInterface/TextEditor.js: 7780 (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine.updateStyles): 7781 (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine): 7782 (WebInspector.TextEditor.prototype.updateStyles): 7783 (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn): 7784 (WebInspector.TextEditor.prototype._documentMouseUp): 7785 77862014-01-10 Timothy Hatcher <timothy@apple.com> 7787 7788 Clean up some areas of TreeOutline. 7789 7790 https://bugs.webkit.org/show_bug.cgi?id=123924 7791 7792 Reviewed by Joseph Pecoraro. 7793 7794 * UserInterface/TreeOutline.js: 7795 (TreeOutline.prototype.appendChild): Don't force create _childrenListNode, it will be created 7796 when the tree element is expanded. Only attach if _childrenListNode already exists. 7797 (TreeOutline.prototype.insertChild): Ditto. 7798 (TreeOutline.prototype.getCachedTreeElement): Check the value of __treeElementIdentifier 7799 not just the existence of the property. It should never be null/undefined/0, but be safe. 7800 (TreeOutline.prototype.findTreeElement): Null check isAncestor, it isn't required. 7801 78022014-01-10 Timothy Hatcher <timothy@apple.com> 7803 7804 Fix an exception in WebInspector.Color. 7805 7806 https://bugs.webkit.org/show_bug.cgi?id=126765 7807 7808 Reviewed by Joseph Pecoraro. 7809 7810 * UserInterface/Color.js: 7811 (WebInspector.Color.fromString): Check hasOwnPrperty before using the nickname color array. 7812 (WebInspector.Color.prototype._toNicknameString): Ditto. 7813 78142014-01-10 Joseph Pecoraro <pecoraro@apple.com> 7815 7816 [CSS Blending] Log blending as a layer creation reason in the WI 7817 https://bugs.webkit.org/show_bug.cgi?id=126159 7818 7819 Reviewed by Timothy Hatcher. 7820 7821 * Localizations/en.lproj/localizedStrings.js: 7822 * UserInterface/LayerTreeSidebarPanel.js: 7823 (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons): 7824 78252014-01-10 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 7826 7827 Add missing function stub in InspectorFrontendHostStub.js 7828 https://bugs.webkit.org/show_bug.cgi?id=126745 7829 7830 Reviewed by Timothy Hatcher. 7831 7832 * UserInterface/InspectorFrontendHostStub.js: 7833 (.WebInspector.InspectorFrontendHostStub.prototype.debuggableType): 7834 The function debuggableType() was added to InspectorFrontendHost.idl and InspectorFrontendHost.cpp 7835 in r160887, but not to InspectorFrontendHostStub.js. 7836 78372014-01-09 Seokju Kwon <seokju@webkit.org> 7838 7839 Web Inspector: Remove unused overriding protocols. 7840 https://bugs.webkit.org/show_bug.cgi?id=126630 7841 7842 Reviewed by Timothy Hatcher. 7843 7844 Update InspectorWebBackendCommands.js after removing unused overriding protocols. 7845 7846 * UserInterface/InspectorWebBackendCommands.js: 7847 * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: 7848 * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: 7849 * Versions/Inspector-iOS-6.0.json: 7850 * Versions/Inspector-iOS-7.0.json: 7851 78522014-01-07 Joseph Pecoraro <pecoraro@apple.com> 7853 7854 Web Inspector: Typo "clipboarPrefixString" 7855 https://bugs.webkit.org/show_bug.cgi?id=126595 7856 7857 Reviewed by Sam Weinig. 7858 7859 * UserInterface/ConsoleCommandResult.js: 7860 (WebInspector.ConsoleCommandResult.prototype.toMessageElement): 7861 (WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString): 7862 * UserInterface/ConsoleMessageImpl.js: 7863 (WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString): 7864 (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): 7865 78662014-01-06 Seokju Kwon <seokju@webkit.org> 7867 7868 Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol 7869 https://bugs.webkit.org/show_bug.cgi?id=126149 7870 7871 Reviewed by Joseph Pecoraro. 7872 7873 * UserInterface/InspectorWebBackendCommands.js: Remove unused codes. 7874 * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Ditto. 7875 * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Ditto. 7876 * Versions/Inspector-iOS-6.0.json: Ditto. 7877 * Versions/Inspector-iOS-7.0.json: Ditto. 7878 78792014-01-06 Seokju Kwon <seokju@webkit.org> 7880 7881 Web Inspector: Remove support for FileSystem in Frontend. 7882 https://bugs.webkit.org/show_bug.cgi?id=126369 7883 7884 Reviewed by Joseph Pecoraro. 7885 7886 Update InspectorWebBackendCommands after removing 'FileSystem' domain. 7887 7888 * UserInterface/InspectorWebBackendCommands.js: 7889 * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: 7890 * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: 7891 * Versions/Inspector-iOS-6.0.json: 7892 * Versions/Inspector-iOS-7.0.json: 7893 78942014-01-06 Seokju Kwon <seokju@webkit.org> 7895 7896 Web Inspector: Get rid of DOM.setFileInputFiles from Protocol 7897 https://bugs.webkit.org/show_bug.cgi?id=126312 7898 7899 Reviewed by Joseph Pecoraro. 7900 7901 Update InspectorWebBackendCommands.js after removing DOM.setFileInputFiles. 7902 7903 * UserInterface/InspectorWebBackendCommands.js: 7904 79052013-12-22 Martin Robinson <mrobinson@igalia.com> 7906 7907 [GTK][CMake] Integrate GResource for inspector files (and others?) 7908 https://bugs.webkit.org/show_bug.cgi?id=125569 7909 7910 Reviewed by Gustavo Noronha Silva. 7911 7912 * GNUmakefile.am: Use the new generation script instead of generating with 7913 shell scripting in the makefile. 7914 79152013-12-19 Joseph Pecoraro <pecoraro@apple.com> 7916 7917 Web Inspector: Frontend Error when selecting Database folder in Resources Sidebar 7918 https://bugs.webkit.org/show_bug.cgi?id=126029 7919 7920 Reviewed by Timothy Hatcher. 7921 7922 Treat the DatabaseHostTreeElement tree element like a folder. It pretty much 7923 is a folder, but inherits from StorageTreeElement to share some code there. 7924 7925 * UserInterface/ResourceSidebarPanel.js: 7926 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): 7927 79282013-12-19 Joseph Pecoraro <pecoraro@apple.com> 7929 7930 Web Inspector: Uncaught Exception: NavigationSidebarPanel.js: TypeError: undefined is not a function 7931 https://bugs.webkit.org/show_bug.cgi?id=126018 7932 7933 Reviewed by Timothy Hatcher. 7934 7935 ERROR: TypeError: undefined is not a function (evaluating 'representedObject.saveIdentityToCookie(candidateObjectCookie)') 7936 7937 There are some TreeElements (Folders, and the special Databases Folder) 7938 which do not have a represented object, and would throw an exception 7939 when trying to use saveIdentityToCookie. 7940 7941 We should always provide a saveIdentityToCookie when possible. So just 7942 blacklist the tree element types we know do not have representedObjects, 7943 and where we don't want to save identity. This will continue to throw 7944 exceptions in the future for tree elements that don't have the save 7945 function implemented, but should. 7946 7947 Note that even if a TreeElement is constructed with a null represented 7948 object, it becomes an empty object (representedObject || {}). 7949 7950 * UserInterface/NavigationSidebarPanel.js: 7951 (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): 7952 (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): 7953 (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie): 7954 (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): 7955 79562013-12-19 Joseph Pecoraro <pecoraro@apple.com> 7957 7958 Web Inspector: Add InspectorFrontendHost.debuggableType to let the frontend know it's backend is JavaScript or Web 7959 https://bugs.webkit.org/show_bug.cgi?id=126016 7960 7961 Reviewed by Timothy Hatcher. 7962 7963 * UserInterface/LoadInspectorBackendCommands.js: 7964 If the debuggable target is "web" load both JS and Web backend commands. 7965 Otherwise, we only load the default, js backend commands. 7966 79672013-12-16 Alex Christensen <achristensen@webkit.org> 7968 7969 Fixed Win64 build on VS2013. 7970 https://bugs.webkit.org/show_bug.cgi?id=125753 7971 7972 Reviewed by Brent Fulgham. 7973 7974 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 7975 Added 64-bit configuration. 7976 79772013-12-13 Joseph Pecoraro <pecoraro@apple.com> 7978 7979 Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore 7980 https://bugs.webkit.org/show_bug.cgi?id=125707 7981 7982 Reviewed by Timothy Hatcher. 7983 7984 * UserInterface/InspectorJSBackendCommands.js: 7985 * UserInterface/InspectorWebBackendCommands.js: 7986 Regenerate now that domains have moved around. 7987 79882013-12-13 Joseph Pecoraro <pecoraro@apple.com> 7989 7990 Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()') 7991 https://bugs.webkit.org/show_bug.cgi?id=125724 7992 7993 Reviewed by Darin Adler. 7994 7995 * UserInterface/CSSStyleDeclarationTextEditor.js: 7996 (WebInspector.CSSStyleDeclarationTextEditor.prototype.): 7997 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 7998 The callback changed to returning WebInspector.TextMarkers, however 7999 this class expected a raw CodeMirror marker. Since this class knows 8000 about CodeMirror and expects to access these markers later go 8001 directly to the CodeMirror marker. 8002 80032013-12-13 Joseph Pecoraro <pecoraro@apple.com> 8004 8005 Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain 8006 https://bugs.webkit.org/show_bug.cgi?id=125595 8007 8008 Reviewed by Timothy Hatcher. 8009 8010 * Scripts/copy-user-interface-resources.sh: 8011 Copy all the different backend commands files. 8012 8013 * Scripts/update-InspectorBackendCommands.rb: 8014 Update with respect to new script location and new file names. 8015 8016 * WebInspectorUI.xcodeproj/project.pbxproj: 8017 Remove Inputs and Outputs of build phase, which were wrong. 8018 Now this build phase always runs, and not by accident. 8019 8020 * UserInterface/InspectorJSBackendCommands.js: Added. 8021 * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js. 8022 * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js. 8023 * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js. 8024 * UserInterface/LoadInspectorBackendCommands.js: 8025 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 8026 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 8027 80282013-12-13 Antoine Quint <graouts@apple.com> 8029 8030 Web Inspector: provide an abstraction for CodeMirror's TextMarker 8031 https://bugs.webkit.org/show_bug.cgi?id=125695 8032 8033 Reviewed by Timothy Hatcher. 8034 8035 Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge 8036 to return information related to text markers to objects that should have no direct knowledge 8037 of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the 8038 last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix 8039 https://webkit.org/b/124364. 8040 8041 * UserInterface/CodeMirrorAdditions.js: 8042 Stop using __markedColor to identify a color marker and instead use the type on the matching 8043 WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type 8044 WebInspector.TextMarker.Type.Color in createColorMarkers(). 8045 8046 * UserInterface/CodeMirrorColorEditingController.js: 8047 (WebInspector.CodeMirrorColorEditingController): 8048 Use a WebInspector.TextRange to track the edited range and obtain it directly from the 8049 WebInspector.TextMaker used to instantiate the object. We also use the new "text" public 8050 property to create the color. 8051 8052 (WebInspector.CodeMirrorColorEditingController.prototype.set color): 8053 Simply assing the serialized color to the new "text" public property. 8054 8055 (WebInspector.CodeMirrorColorEditingController.prototype.get text): 8056 (WebInspector.CodeMirrorColorEditingController.prototype.set text): 8057 New public property to set get and set the text for the edited range, automatically updating 8058 the range upon setting to a new text. 8059 8060 (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu): 8061 Obtain the bounds directly from the WebInspector.TextMarker object. 8062 8063 * UserInterface/CodeMirrorTokenTrackingController.js: 8064 (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo): 8065 Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror 8066 TextMarker from that object to check if it's contained within the text markers at the 8067 hovered position. 8068 8069 * UserInterface/Main.html: 8070 Add the new TextMarker class source. 8071 8072 * UserInterface/SourceCodeTextEditor.js: 8073 (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers): 8074 Use the WebInspector.TextMarker type to identify a given text marker is marking a color. 8075 8076 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate): 8077 Use the renamed markersAtPosition() method from TextEditor. 8078 8079 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): 8080 Use the WebInspector.TextMarker type to identify a given text marker is marking a color. 8081 8082 (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing): 8083 Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range, 8084 update to use a WebInspector.TextRange API to get the range's start line. 8085 8086 * UserInterface/TextEditor.js: 8087 (WebInspector.TextEditor.prototype.get markers): 8088 Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects. 8089 8090 (WebInspector.TextEditor.prototype.markersAtPosition): 8091 Rename method to a better name instead of using the CodeMirror-influenced name. Also, return 8092 WebInspector.TextMarker objects instead of CodeMirror TextRange objects. 8093 8094 * UserInterface/TextMarker.js: Added. 8095 (WebInspector.TextMarker): 8096 Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type. 8097 8098 (WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker): 8099 Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror 8100 TextMarker, or create a new WebInspector.TextMarker. 8101 8102 (WebInspector.TextMarker.prototype.get codeMirrorTextMarker): 8103 Public property to access the CodeMirror TextMarker objects for classes that have direct 8104 knowledge of CodeMirror. 8105 8106 (WebInspector.TextMarker.prototype.get type): 8107 Public property to access the type used to create this text marker. 8108 8109 (WebInspector.TextMarker.prototype.get range): 8110 (WebInspector.TextMarker.prototype.get bounds): 8111 Public properties allowing easy access to generally useful information related to marked text. 8112 8113 (WebInspector.TextMarker.prototype.clear): 8114 Wrapper for the CodeMirror TextMarker clear() method. 8115 81162013-12-13 Brent Fulgham <bfulgham@apple.com> 8117 8118 [Win] Switch WebKit solution to Visual Studio 2013 8119 https://bugs.webkit.org/show_bug.cgi?id=125192 8120 8121 Reviewed by Anders Carlsson. 8122 8123 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013 8124 81252013-12-12 Laszlo Vidacs <lac@inf.u-szeged.hu> 8126 8127 Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of 8128 https://bugs.webkit.org/show_bug.cgi?id=122868 8129 8130 Reviewed by Timothy Hatcher. 8131 8132 Update to CodeMirror 3.20 including javascript ES6 updates. 8133 8134 * Tools/PrettyPrinting/codemirror.css: 8135 * Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py 8136 * Tools/PrettyPrinting/css.js: 8137 * Tools/PrettyPrinting/javascript.js: 8138 * UserInterface/External/CodeMirror/codemirror.css: 8139 * UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py 8140 * UserInterface/External/CodeMirror/coffeescript.js: 8141 * UserInterface/External/CodeMirror/css.js: 8142 * UserInterface/External/CodeMirror/htmlmixed.js: 8143 * UserInterface/External/CodeMirror/javascript.js: 8144 * UserInterface/External/CodeMirror/less.js: 8145 * UserInterface/External/CodeMirror/matchbrackets.js: 8146 * UserInterface/External/CodeMirror/placeholder.js: 8147 * UserInterface/External/CodeMirror/runmode.js: 8148 * UserInterface/External/CodeMirror/searchcursor.js: 8149 * UserInterface/External/CodeMirror/sql.js: 8150 * UserInterface/External/CodeMirror/xml.js: 8151 81522013-12-12 Antoine Quint <graouts@apple.com> 8153 8154 Web Inspector: allow editing of colors in CSS resources 8155 https://bugs.webkit.org/show_bug.cgi?id=124364 8156 8157 Reviewed by Timothy Hatcher. 8158 8159 Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu 8160 allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color. 8161 8162 * UserInterface/CSSStyleDeclarationTextEditor.js: 8163 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 8164 Remove the code that goes through the lines of the CodeMirror editor to look for 8165 color strings and replace it with a call to the .createColorMarkers() CodeMirror 8166 extension in which the code was refactored. The callback passed to 8167 .createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation 8168 of color swatches to show the popover, keeping the existing behavior of the Styles 8169 sidebar panel. 8170 8171 * UserInterface/CodeMirrorAdditions.js: 8172 Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which 8173 was previously defined on the CodeMirrorTokenTrackingController but was also needed 8174 in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above. 8175 8176 * UserInterface/CodeMirrorColorEditingController.js: Added. 8177 (WebInspector.CodeMirrorColorEditingController): 8178 New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror 8179 TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This 8180 controller automatically gets the color set by the user using the ColorPicker and updates 8181 the CodeMirror text editor with the new value. When the user presses the Esc. key while the 8182 popover is shown, it's automatically dismissed and the original color is reset in the editor. 8183 8184 (WebInspector.CodeMirrorColorEditingController.prototype.get marker): 8185 (WebInspector.CodeMirrorColorEditingController.prototype.get range): 8186 (WebInspector.CodeMirrorColorEditingController.prototype.get delegate): 8187 (WebInspector.CodeMirrorColorEditingController.prototype.set delegate): 8188 Getters and setters for public properties. 8189 8190 (WebInspector.CodeMirrorColorEditingController.prototype.get color): 8191 (WebInspector.CodeMirrorColorEditingController.prototype.set color): 8192 Get and set the color for the edited color marker, replacing the text in the marker's range 8193 upon setting. 8194 8195 (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu): 8196 Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed 8197 in the constructor. This method is called from SourceCodeTextEditor when the 8198 CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is 8199 hovered and that token is a color. 8200 8201 (WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu): 8202 Public API allowing for the HoverMenu to be dismissed. This method is called when the 8203 CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being 8204 hovered as well as when we identify that editing of the color has completed. 8205 8206 (WebInspector.CodeMirrorColorEditingController.prototype.handleEvent): 8207 Event handler for the "keydown" event that are being listened to when the HoverMenu 8208 is activated such that the Esc. key can be used to dimiss the popover and reset the 8209 original color before any edits. 8210 8211 (WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed): 8212 Implementation of the HoverMenu delegation method used to show a Popover containing a 8213 ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember 8214 the color set on the marker so that it may be restored when Esc. is pressed and used to 8215 set the original state of the ColorPicker. The delegation method 8216 colorEditingControllerDidStartEditing() is also called at this point, which the 8217 SourceCodeTextEditor implements. 8218 8219 (WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover): 8220 Implementation of the Popover delegation method used to identify that color editing has 8221 completed. The delegation method colorEditingControllerDidFinishEditing() is called 8222 at this point, which the SourceCodeTextEditor implements. 8223 8224 (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged): 8225 Apply the color set in the color picker to the CodeMirror text editor. 8226 8227 * UserInterface/CodeMirrorTokenTrackingController.js: 8228 Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is 8229 the default, incurring no specific token handling behavior. The second mode is "MarkedTokens" 8230 which identifies hover of a token contained in a CodeMirror TextMarker range. The new 8231 "MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being 8232 hovered to display a HoverMenu. 8233 8234 (WebInspector.CodeMirrorTokenTrackingController): 8235 (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode): 8236 Make "None" the new default mode for CodeMirrorTokenTrackingController. 8237 8238 (WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker): 8239 (WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker): 8240 (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo): 8241 Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController, 8242 whether the "hoveredMarker" is still being hovered when there is no token at the current 8243 mouse position. We can then determine when we're mousing out of the "hoveredMarker" and 8244 notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate 8245 method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController. 8246 8247 (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken): 8248 Add support for the new "MarkedTokens" mode. 8249 8250 (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken): 8251 For the moment, use the same behavior as the existing "MarkedTokens" mode. 8252 8253 * UserInterface/Color.js: 8254 (WebInspector.Color): 8255 Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property 8256 is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a 8257 valid color still. 8258 8259 (WebInspector.Color.prototype.copy): 8260 New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController 8261 to duplicate the edited color in case we need to revert it. 8262 8263 * UserInterface/HoverMenu.js: 8264 (WebInspector.HoverMenu.prototype._handleClickEvent): 8265 Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback. 8266 8267 * UserInterface/Images/ColorIcon.png: Added. 8268 * UserInterface/Images/ColorIcon@2x.png: Added. 8269 New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController. 8270 8271 * UserInterface/Main.html: 8272 Link to the new CodeMirrorColorEditingController.js file. 8273 8274 * UserInterface/SourceCodeTextEditor.css: 8275 (.hover-menu.color): 8276 (.hover-menu.color > img): 8277 Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset. 8278 8279 * UserInterface/SourceCodeTextEditor.js: 8280 (WebInspector.SourceCodeTextEditor): 8281 Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling 8282 of CodeMirror content changes should be disabled. 8283 8284 (WebInspector.SourceCodeTextEditor.prototype.close): 8285 Adopt the new ._updateTokenTrackingControllerState() method to update the state of the 8286 CodeMirrorTokenTrackingController. 8287 8288 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange): 8289 Override the new TextEditor public API called when content in the CodeMirror text editor is changed. 8290 We use this method to process any newly added line to create any newly added color marker. 8291 8292 (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): 8293 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause): 8294 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): 8295 (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded): 8296 Adopt the new ._updateTokenTrackingControllerState() method to update the state of the 8297 CodeMirrorTokenTrackingController. 8298 8299 (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState): 8300 New method acting as the only point where we check the state of the text editor and set the right 8301 mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens" 8302 mode when we have color markers, as determined by ._hasColorMarkers(). 8303 8304 (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers): 8305 Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color. 8306 8307 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): 8308 Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled" 8309 ivar to identify we're in the "NonSymbolTokens" mode. 8310 8311 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate): 8312 Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code 8313 and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token 8314 is part of a color TextMarker range. 8315 8316 (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker): 8317 Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the 8318 CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker 8319 for which the CodeMirrorColorEditingController was created. 8320 8321 (WebInspector.SourceCodeTextEditor.prototype._showPopover): 8322 Adopt the new TextEditor boundsForRange() method. 8323 8324 (WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers): 8325 Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided 8326 line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState() 8327 so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first 8328 time for this text editor. 8329 8330 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): 8331 Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check 8332 if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController 8333 to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check 8334 whether the hovered marker still contains a valid color, clearing the marker in case it was edited to 8335 no longer contain a color. 8336 8337 (WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController): 8338 Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state. 8339 8340 (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing): 8341 Implement this CodeMirrorColorEditingController delegation method to temporarily disable the 8342 CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove 8343 the TextMarker for the edited color and instruct that content changes should be ignored 8344 such that we act on the complete set of color edits upon completion. 8345 8346 (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing): 8347 Update color markers for the edited line such that any color edits are correctly updated for 8348 the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the 8349 appropriate mode depending on whether color TextMarkers are indeed available, resetting states 8350 that may have been altered by colorEditingControllerDidStartEditing(). 8351 8352 * UserInterface/TextEditor.js: 8353 (WebInspector.TextEditor.prototype.contentDidChange): 8354 New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing 8355 the list of TextRanges affected by the content change, both in the context of the old content and new content. 8356 8357 (WebInspector.TextEditor.prototype.boundsForRange): 8358 (WebInspector.TextEditor.prototype.get markers): 8359 (WebInspector.TextEditor.prototype.findMarkersAtPosition): 8360 (WebInspector.TextEditor.prototype.createColorMarkers): 8361 (WebInspector.TextEditor.prototype.colorEditingControllerForMarker): 8362 New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor. 8363 8364 (WebInspector.TextEditor.prototype._contentChanged): 8365 Call the new contentDidChange() method. 8366 83672013-12-05 Seokju Kwon <seokju@webkit.org> 8368 8369 Web Inspector: Remove 'cookiesString' output from Page.getCookies 8370 https://bugs.webkit.org/show_bug.cgi?id=125268 8371 8372 Reviewed by Timothy Hatcher. 8373 8374 Remove 'cookiesString' output from Page.getCookies protocol. 8375 It is no longer meaningful because it is an unused parameter. 8376 8377 * UserInterface/CookieStorageContentView.js: 8378 (WebInspector.CookieStorageContentView.prototype.update): 8379 * UserInterface/InspectorBackendCommands.js: 8380 83812013-12-05 Brian J. Burg <burg@cs.washington.edu> 8382 8383 Web Inspector: expose node and frame snapshot capabilities. 8384 https://bugs.webkit.org/show_bug.cgi?id=124326 8385 8386 Reviewed by Joseph Pecoraro. 8387 8388 Add method signatures for snapshotNode() and snapshotRect(). 8389 Remove method signature for unimplemented Page.captureScreenshot. 8390 8391 * UserInterface/InspectorBackendCommands.js: 8392 83932013-12-05 Alexandru Chiculita <achicu@adobe.com> 8394 8395 Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow 8396 https://bugs.webkit.org/show_bug.cgi?id=124614 8397 8398 Reviewed by Timothy Hatcher. 8399 8400 Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used 8401 to retrieve an object with the following structure: 8402 { 8403 "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>, 8404 "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of 8405 the node or a parent of the node>, 8406 "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ] 8407 } 8408 8409 Also, used this method to display a two new sections in the Computed Styles panel. 8410 1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow". 8411 2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions. 8412 8413 The sections are only visible when there's content to display. 8414 8415 Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the 8416 ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted. 8417 8418 Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I 8419 will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class. 8420 8421 * Localizations/en.lproj/localizedStrings.js: 8422 * UserInterface/ComputedStyleDetailsPanel.css: Added. 8423 (.details-section > .content > .group > .row.simple.content-flow-link > .label): 8424 (.details-section > .content > .group > .row.simple.content-flow-link > .value): 8425 (.details-section > .content > .group > .row.simple.content-flow-link > .value > div): 8426 (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon): 8427 (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span): 8428 (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow): 8429 (.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow): 8430 * UserInterface/ComputedStyleDetailsPanel.js: 8431 (WebInspector.ComputedStyleDetailsPanel): 8432 (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow): 8433 (WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow): 8434 (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow): 8435 (WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow): 8436 (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions): 8437 (WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions): 8438 (WebInspector.ComputedStyleDetailsPanel.prototype.refresh): 8439 (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged): 8440 (WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails): 8441 (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady): 8442 (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails): 8443 (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked): 8444 (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked): 8445 * UserInterface/DOMTreeDataGrid.css: Added. 8446 (.dom-tree-data-grid .data-grid): 8447 (.dom-tree-data-grid .data-grid table.data): 8448 (.dom-tree-data-grid .data-container): 8449 (.dom-tree-data-grid .data-container tr): 8450 (.dom-tree-data-grid .data-container td > div): 8451 (.dom-tree-data-grid .data-container .name-column): 8452 (.dom-tree-data-grid .data-container .name-column .icon): 8453 (.dom-tree-data-grid .data-container .name-column .label): 8454 (.dom-tree-data-grid .data-container tr:hover .name-column .label): 8455 (.dom-tree-data-grid .data-container .go-to-arrow): 8456 (.dom-tree-data-grid .data-container tr:hover .go-to-arrow): 8457 (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)): 8458 (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)): 8459 * UserInterface/DOMTreeDataGrid.js: Added. 8460 (WebInspector.DOMTreeDataGrid): 8461 (WebInspector.DOMTreeDataGrid.prototype._onmousemove): 8462 (WebInspector.DOMTreeDataGrid.prototype._onmouseout): 8463 * UserInterface/DOMTreeDataGridNode.js: Added. 8464 (WebInspector.DOMTreeDataGridNode): 8465 (WebInspector.DOMTreeDataGridNode.prototype.get domNode): 8466 (WebInspector.DOMTreeDataGridNode.prototype.createCellContent): 8467 (WebInspector.DOMTreeDataGridNode.prototype._updateNodeName): 8468 (WebInspector.DOMTreeDataGridNode.prototype._makeNameCell): 8469 (WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData): 8470 (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked): 8471 * UserInterface/DOMTreeManager.js: 8472 (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement): 8473 (WebInspector.DOMTreeManager.prototype.nodeRequested): 8474 (WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes): 8475 (WebInspector.DOMTreeManager.prototype.domNodeResolved): 8476 (WebInspector.DOMTreeManager.prototype.regionNodesAvailable): 8477 (WebInspector.DOMTreeManager.prototype.get if): 8478 (WebInspector.DOMTreeManager.prototype.get var): 8479 (WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty): 8480 (WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName): 8481 (WebInspector.DOMTreeManager.prototype.): 8482 * UserInterface/DataGrid.css: 8483 (.data-grid.no-header > table.header): 8484 (.data-grid.no-header .data-container): 8485 * UserInterface/DetailsSection.js: 8486 (WebInspector.DetailsSection): 8487 * UserInterface/InspectorBackend.js: 8488 (InspectorBackendClass.prototype._wrap): 8489 * UserInterface/Main.html: 8490 * UserInterface/ResourceSidebarPanel.js: 8491 (WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree): 8492 * UserInterface/RuntimeManager.js: 8493 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): 8494 (WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject): 8495 84962013-12-04 Antoine Quint <graouts@apple.com> 8497 8498 Web Inspector: ColorWheel uses old Color constructor 8499 https://bugs.webkit.org/show_bug.cgi?id=125260 8500 8501 Reviewed by Joseph Pecoraro. 8502 8503 Update to new WebInspector.Color constructor signature and use a clear color. 8504 8505 * UserInterface/ColorWheel.js: 8506 (WebInspector.ColorWheel.prototype.get tintedColor): 8507 (WebInspector.ColorWheel.prototype.get rawColor): 8508 85092013-12-04 Antoine Quint <graouts@apple.com> 8510 8511 Web Inspector: color picker doesn't work with "blue" 8512 https://bugs.webkit.org/show_bug.cgi?id=125262 8513 8514 Reviewed by Joseph Pecoraro. 8515 8516 Under certain circumstances rounding issues would have us compare 8517 two equal numbers that differ by 0.00000001 and sometime trip this 8518 if statement and yield a null color. We now add a little fudge to 8519 the test and also return a clear color rather than null to match what 8520 we do in the getters for "tintedColor" and "rawColor". 8521 8522 * UserInterface/ColorWheel.js: 8523 (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness): 8524 85252013-12-04 Antoine Quint <graouts@apple.com> 8526 8527 Web Inspector: use only two decimals for opacity in rgba/hsla colors 8528 https://bugs.webkit.org/show_bug.cgi?id=125261 8529 8530 Reviewed by Joseph Pecoraro. 8531 8532 * UserInterface/ColorPicker.js: 8533 (WebInspector.ColorPicker.prototype._updateColor): 8534 85352013-12-04 Antoine Quint <graouts@apple.com> 8536 8537 Web Inspector: "data detectors" menu on hover for actionable tokens 8538 https://bugs.webkit.org/show_bug.cgi?id=124363 8539 8540 Reviewed by Timothy Hatcher. 8541 8542 Add a new WebInspector.HoverMenu class to display an overlay menu that is presented 8543 with respect to a target frame that it draws itself around adding a customizable 8544 action button to its right. The menu uses fade animations as it's presented and 8545 dismissed and a single delegation method is fired when the button is pressed. Finally, 8546 just like a popover, it automatically dismisses itself upon scrolling anywhere 8547 outside of its bounds. 8548 8549 * UserInterface/HoverMenu.css: Added. 8550 * UserInterface/HoverMenu.js: Added. 8551 (WebInspector.HoverMenu): 8552 (WebInspector.HoverMenu.prototype.get element): 8553 (WebInspector.HoverMenu.prototype.dismiss): 8554 (WebInspector.HoverMenu.prototype.handleEvent): 8555 (WebInspector.HoverMenu.prototype._handleClickEvent): 8556 * UserInterface/Images/HoverMenuButton.png: Added. 8557 * UserInterface/Images/HoverMenuButton@2x.png: Added. 8558 * UserInterface/Main.html: 8559 85602013-12-04 Antoine Quint <graouts@apple.com> 8561 8562 Web Inspector: edited color should serialize back to original format when possible 8563 https://bugs.webkit.org/show_bug.cgi?id=125244 8564 8565 Reviewed by Joseph Pecoraro. 8566 8567 Profoundly reworked WebInspector.Color to be more efficient and more flexible when 8568 serializing the color to the various supported formats. 8569 8570 * UserInterface/CSSStyleDeclarationTextEditor.js: 8571 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 8572 Use new WebInspector.Color.fromString() factory and check for a null return value 8573 rather than an exception to identify invalid color tokens. 8574 8575 * UserInterface/Color.js: 8576 (WebInspector.Color): 8577 Rewrote WebInspector.Color such that it would have, at all times, a canonical 8578 representation in terms of either RGBA or HSLA depending on the format used to 8579 create the color. The new constructor parameters lets the user pass a format 8580 and the RGBA or HSLA components, allowing to bypass the string-only creation 8581 system which was sub-optimal for the new color picker. Additionally, the toString() 8582 method now can provide the most accurate serialization of the color based on the 8583 provided format with a fallback mechanism to RGB/RGBA in cases where the desired 8584 format would incur a loss of fidelity. Finally, simplified the API to only feature 8585 essential features. 8586 8587 (WebInspector.Color.fromString): 8588 New factory method used to create a color from a string. 8589 8590 * UserInterface/ColorPicker.js: 8591 (WebInspector.ColorPicker.prototype.set color): 8592 Keep track of the original color format so that we can use it as the preferred format 8593 when serializing the updated color in _updateColor(). 8594 8595 (WebInspector.ColorPicker.prototype._updateColor): 8596 Use the original color format as the prefered formation for color serialization. Also, 8597 use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory. 8598 8599 (WebInspector.ColorPicker.prototype._updateSliders): 8600 Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory. 8601 8602 * UserInterface/ColorWheel.js: 8603 (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness): 8604 Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory. 8605 86062013-12-03 Seokju Kwon <seokju@webkit.org> 8607 8608 Web Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js 8609 https://bugs.webkit.org/show_bug.cgi?id=125204 8610 8611 Reviewed by Timothy Hatcher. 8612 8613 '_attachedWindowHeight' property is not used anywhere, so remove it. 8614 8615 * UserInterface/InspectorFrontendHostStub.js: 8616 (.WebInspector.InspectorFrontendHostStub): 8617 86182013-12-03 Brian J. Burg <burg@cs.washington.edu> 8619 8620 Web Inspector: restore navigation panel state across reloads and reopens 8621 https://bugs.webkit.org/show_bug.cgi?id=122125 8622 8623 Reviewed by Timothy Hatcher. 8624 8625 The previous strategy for restoring content views after inspector 8626 re-open did not consider the active sidebar and its selection, and 8627 tried to recreate the appropriate selection from the saved content 8628 view. However, doesn't work for tree elements in the sidebar panel 8629 that don't change views when selected, such as script breakpoints, 8630 special breakpoints, call stack, timeline sections, etc. 8631 8632 This patch implements a new strategy that saves the navigation 8633 sidebar panel's view state by serializing the identity of the 8634 selected element's represented object. Relevant represented 8635 object classes implement the saveIdentityToCookie() method. Each 8636 represented object class also adds a TypeIdentifier property to 8637 its constructor, to aid inexact matching based on represented 8638 object type, rather than its complete identity. 8639 8640 When restoring, the navigation sidebar attempts to match added 8641 tree elements against the pending cookie, and selects the element 8642 if it matches. A represented object matches if its serialized 8643 identity matches the previously saved serialized identity. 8644 8645 The inspector view state is now only saved on the page hide event 8646 (for saving across reopen) and when the main frame commits its 8647 provisional load (for saving across same-page reloads). It 8648 consolidates similar view state settings into a single setting. 8649 8650 * UserInterface/ApplicationCacheFrame.js: 8651 (WebInspector.ApplicationCacheFrame): Add cookie keys and type identifier. 8652 (WebInspector.ApplicationCacheFrame.prototype.saveIdentityToCookie): Added. 8653 * UserInterface/ApplicationCacheManager.js: remove objectForCookie(). 8654 * UserInterface/Breakpoint.js: 8655 (WebInspector.Breakpoint): Add cookie keys and type identifier. 8656 (WebInspector.Breakpoint.prototype.saveIdentityToCookie): 8657 * UserInterface/CookieStorageObject.js: 8658 (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie): Added. 8659 * UserInterface/DOMStorageObject.js: 8660 (WebInspector.DOMStorageObject): Add cookie keys and type identifier. 8661 (WebInspector.DOMStorageObject.prototype.saveIdentityToCookie): Added. 8662 * UserInterface/DatabaseObject.js: 8663 (WebInspector.DatabaseObject): Add cookie keys and type identifier. 8664 (WebInspector.DatabaseObject.prototype.saveIdentityToCookie): Added. 8665 * UserInterface/DatabaseTableObject.js: 8666 (WebInspector.DatabaseTableObject): Add cookie keys and type identifier. 8667 (WebInspector.DatabaseTableObject.prototype.saveIdentityToCookie): Added. 8668 * UserInterface/DebuggerSidebarPanel.js: 8669 (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie): Added. 8670 (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): Added. 8671 * UserInterface/Frame.js: 8672 (WebInspector.Frame): Add cookie keys and type identifier. 8673 (WebInspector.Frame.prototype.saveIdentityToCookie): Added. 8674 * UserInterface/FrameResourceManager.js: remove objectForCookie(). 8675 * UserInterface/InstrumentSidebarPanel.js: 8676 (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType): 8677 Return the shown timeline, if any. 8678 8679 (WebInspector.InstrumentSidebarPanel.prototype.saveStateToCookie): Added. 8680 (WebInspector.InstrumentSidebarPanel.prototype.restoreStateFromCookie): Added. 8681 (WebInspector.InstrumentSidebarPanel.prototype.showProfile): 8682 Return the shown profile, if any. 8683 8684 * UserInterface/Main.js: 8685 (WebInspector): Added cookie keys for the selected sidebar and 8686 typeidentifier of the sidebar's selected tree element. 8687 8688 (WebInspector.contentLoaded): Remove callbacks for 8689 resolveAndShowPendingContentViewCookie(). Consolidate all saved 8690 inspector view state into one Setting. Move special-cased 8691 restoring of the console to the restoration method. Move saving 8692 of last opened navigation panel to the saving method. 8693 8694 (WebInspector._mainResourceDidChange): Try to restore saved view 8695 state when the main resource changes. 8696 8697 (WebInspector._provisionalLoadCommitted): Update the saved view 8698 state when the navigation commits. This is the last chance to save 8699 it before the main resource changes and the navigation panel view 8700 state is discarded and rebuilt. 8701 8702 (WebInspector._pageHidden): Update the saved view state when the 8703 inspector page is hidden, but before state is discarded. 8704 8705 (WebInspector._navigationSidebarPanelSelected): Don't save last 8706 navigation sidebar panel. 8707 (WebInspector._updateCookieForInspectorViewState): Renamed from 8708 _updateCurrentContentViewCookie. It delegates view state 8709 serialization to the currently open navigation sidebar, rather 8710 than the current content view. 8711 8712 (WebInspector._contentBrowserRepresentedObjectsDidChange): Don't 8713 spuriously serialize the current view state cookie on every 8714 ContentView change. 8715 8716 (WebInspector._restoreInspectorViewStateFromCookie): Renamed from 8717 _showContentViewForCookie. It now restores a specific navigation 8718 panel and delegates remaining view state restoration to the panel 8719 itself. Last-resort selection of any tree element with the same 8720 type identifier was moved to the navigation panel's restore method. 8721 8722 * UserInterface/NavigationSidebarPanel.js: 8723 (WebInspector.NavigationSidebarPanel): 8724 (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): 8725 (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): 8726 Save references to all created TreeOutlines in a Set, so we can 8727 restore any tree's selection. 8728 8729 (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): 8730 Added. Find the selected tree element from all tree outlines and 8731 ask it to serialize its identity. 8732 8733 (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie): 8734 Added. Eagerly search existing tree elements for a matching 8735 representedObject. If none exists, save the pending cookie and 8736 schedule last-resort matching using the provided timeout interval. 8737 8738 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): 8739 Check if the added tree element matches a pending view state 8740 cookie, if one exists. 8741 8742 (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie): 8743 Added. Check if the tree element's representedObject matches the 8744 pending view state cookie. 8745 8746 (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): 8747 Added. For each provided tree element, check if the tree 8748 element's represented object produces the same serialized identity 8749 as the pending view state cookie that we are trying to resolve. 8750 If a match is found (possibly by relaxing to matching anything 8751 with the same type), select the tree element and clear both the 8752 pending view state cookie and last-resort selection timer. 8753 8754 * UserInterface/Resource.js: 8755 (WebInspector.Resource): Add cookie keys and type identifier. 8756 (WebInspector.Resource.prototype.saveIdentityToCookie): Added. 8757 8758 * UserInterface/ResourceClusterContentView.js: 8759 (WebInspector.ResourceClusterContentView.prototype.saveToCookie): 8760 (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): 8761 Since identity state is serialized by the representedObject, these 8762 methods only need to save view-specific state, such as the visible 8763 subview. Remove extraneous state. 8764 8765 * UserInterface/Script.js: 8766 (WebInspector.Script): Add cookie keys and type identifier. 8767 (WebInspector.Script.prototype.saveIdentityToCookie): Added. 8768 * UserInterface/StorageManager.js: remove objectForCookie(). 8769 * UserInterface/TimelineManager.js: remove objectForCookie(). 8770 * UserInterface/TimelinesContentView.js: 8771 (WebInspector.TimelinesContentView.prototype.saveToCookie): 8772 (WebInspector.TimelinesContentView.prototype.restoreFromCookie): 8773 Since identity state is serialized by the representedObject, these 8774 methods only need to save view-specific state, such as the visible 8775 subview. Remove extraneous state. 8776 8777 * UserInterface/TreeOutline.js: Add TreeOutline.prototype.constructor 8778 so other code can assume the constructor property exists. 8779 87802013-12-02 Antoine Quint <graouts@apple.com> 8781 8782 Web Inspector: popover can overlap target frame 8783 https://bugs.webkit.org/show_bug.cgi?id=125069 8784 8785 Reviewed by Joseph Pecoraro. 8786 8787 Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only 8788 offset the frame of the popover in the y-axis if the target edge is on the x-axis, and 8789 vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded 8790 the anchor point. We now always draw the background which is a lot safer and guarantees 8791 we'll always draw an adequate frame and anchor point. 8792 8793 * UserInterface/Popover.js: 8794 (WebInspector.Popover.prototype._update): 8795 (WebInspector.Popover.prototype._bestMetricsForEdge): 8796 87972013-12-02 Antoine Quint <graouts@apple.com> 8798 8799 Web Inspector: add a method to add padding around a WebInspector.Rect 8800 https://bugs.webkit.org/show_bug.cgi?id=125072 8801 8802 Reviewed by Joseph Pecoraro. 8803 8804 Add a new WebInspector.Rect.prototype.pad() method which does not alter 8805 the rectangle it's called and returns a new rect much like .inset(). I've 8806 checked all call sites and there was no reuse of the rectangle that was 8807 padded so this patch won't have any side effects. 8808 8809 * UserInterface/Breakpoint.js: 8810 (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): 8811 * UserInterface/CSSStyleDeclarationTextEditor.js: 8812 * UserInterface/Geometry.js: 8813 (WebInspector.Rect.prototype.pad): 8814 * UserInterface/LayerTreeSidebarPanel.js: 8815 (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode): 8816 * UserInterface/SourceCodeTextEditor.js: 8817 (WebInspector.SourceCodeTextEditor.prototype._showPopover): 8818 * UserInterface/TimelineDataGrid.js: 8819 (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode): 8820 88212013-11-26 Antoine Quint <graouts@apple.com> 8822 8823 Web Inspector: Allow showing a context menu on all mouse events. 8824 https://bugs.webkit.org/show_bug.cgi?id=124747 8825 8826 Reviewed by Joseph Pecoraro. 8827 8828 Automatically dispatch a contextmenu event in case WebInspector.ContextMenu.prototype.show() 8829 is called outside of a contextmenu event handler and would therefore not show the expected 8830 context menu (except in the Remote Web Inspector where this already works). 8831 8832 * UserInterface/ContextMenu.js: 8833 (WebInspector.ContextMenu.prototype.show): 8834 Check whether the event is a contextmenu event, and if not, add an event listener for a manually 8835 dispatched contextmenu event such that we may then call InspectorFrontendHost.showContextMenu() 8836 in a contextmenu event handler. 8837 8838 (WebInspector.ContextMenu.prototype.handleEvent): 8839 Call InspectorFrontendHost.showContextMenu() now that we received the manually dispatched 8840 contextmenu event. 8841 88422013-11-25 Alexandru Chiculita <achicu@adobe.com> 8843 8844 Web Inspector: [CSS Regions] A page with many flows should collapse the resources tree 8845 https://bugs.webkit.org/show_bug.cgi?id=122926 8846 8847 Reviewed by Timothy Hatcher. 8848 8849 Refactored the code in FrameTreeElement._shouldGroupIntoFolders to make it easy to track 8850 more types of resources. Added the content flows as another type of resource that would trigger the 8851 collapsing. 8852 8853 * UserInterface/DOMTreeManager.js: 8854 (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): Added code to remove the content nodes from 8855 a flow that has been removed. 8856 * UserInterface/FrameTreeElement.js: 8857 (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory): 8858 (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType): 8859 (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): 8860 88612013-11-25 Dan Bernstein <mitz@apple.com> 8862 8863 Set the svn:ignore property on the Xcode project to ignore the workspace and user data. 8864 8865 * WebInspectorUI.xcodeproj: Added property svn:ignore. 8866 88672013-11-21 Mark Rowe <mrowe@apple.com> 8868 8869 <https://webkit.org/b/124702> Stop overriding VALID_ARCHS. 8870 8871 All modern versions of Xcode set it appropriately for our needs. 8872 8873 Reviewed by Alexey Proskuryakov. 8874 8875 * Configurations/Base.xcconfig: 8876 88772013-11-19 Antoine Quint <graouts@apple.com> 8878 8879 Web Inspector: layer info sidebar should convert to MB for very large layers 8880 https://bugs.webkit.org/show_bug.cgi?id=124570 8881 8882 Reviewed by Timothy Hatcher. 8883 8884 Setting higherResolution to true (its default value if omitted) when calling 8885 Number.bytesToString() would always result in a KB-formatted string instead 8886 since it didn't check for a < 1024 value as well. 8887 8888 * UserInterface/Utilities.js: 8889 (Number.bytesToString): 8890 88912013-11-19 Antoine Quint <graouts@apple.com> 8892 8893 Remove some unused utilities from Utilities.js 8894 https://bugs.webkit.org/show_bug.cgi?id=124590 8895 8896 Reviewed by Darin Adler. 8897 8898 Remove some methods and properties that were no longer used through the codebase. 8899 8900 * UserInterface/Utilities.js: 8901 89022013-11-18 Alexandru Chiculita <achicu@adobe.com> 8903 8904 Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch 8905 https://bugs.webkit.org/show_bug.cgi?id=124544 8906 8907 Reviewed by Joseph Pecoraro. 8908 8909 Added the new DOM.performSearch "nodeIds" parameter and made the two implementations 8910 of DOMTreeContentView provide the right context node ids. 8911 8912 DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView 8913 is passing the list of content nodes. 8914 8915 Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility. 8916 8917 * UserInterface/ContentFlowDOMTreeContentView.js: 8918 (WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes): 8919 * UserInterface/DOMTreeContentView.js: 8920 (WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady): 8921 (WebInspector.DOMTreeContentView.prototype.performSearch): 8922 (WebInspector.DOMTreeContentView.prototype.getSearchContextNodes): 8923 * UserInterface/FrameDOMTreeContentView.js: 8924 (WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes): 8925 * UserInterface/InspectorBackendCommands.js: 8926 89272013-11-18 Joseph Pecoraro <pecoraro@apple.com> 8928 8929 Web Inspector: Update localizedStrings, remove stale string 8930 https://bugs.webkit.org/show_bug.cgi?id=124543 8931 8932 Reviewed by Jessie Berlin. 8933 8934 Remove stale localized strings after r124543 remove the old color picker. 8935 8936 * Localizations/en.lproj/localizedStrings.js: 8937 89382013-11-15 Antoine Quint <graouts@apple.com> 8939 8940 Web Inspector: New color picker 8941 https://bugs.webkit.org/show_bug.cgi?id=124354 8942 8943 Reviewed by Timothy Hatcher. 8944 8945 Beginning of a new color picker. The focus of this new picker is to let you pick from 8946 a color wheel as the primary mean of color picking, with additional slider controls for 8947 the brightness and the opacity, better matching the default OS X color picker. This is the 8948 basis for a color picker that will evolve to support the following: 8949 8950 - editable CSS value label (http://webkit.org/b/124356) 8951 - picking a color anywhere on screen (http://webkit.org/b/124357) 8952 - swatches based on other colors in page (http://webkit.org/b/124358) 8953 8954 Note also that the color wheel has not been tested on Retina displays 8955 (see http://webkit.org/b/124355). 8956 8957 * UserInterface/CSSColorPicker.css: Removed. 8958 * UserInterface/CSSColorPicker.js: Removed. 8959 Previous color picker, now removed in favor of the new ColorPicker class. 8960 8961 * UserInterface/CSSStyleDeclarationTextEditor.js: 8962 Adopt new class name for the color picker, add a little padding to the popover 8963 target frame and set the base color after the picker has been presented. 8964 8965 * UserInterface/Color.js: 8966 (WebInspector.Color.prototype._hslToRGB): 8967 Simplified math. 8968 8969 (WebInspector.Color.rgb2hsv): 8970 (WebInspector.Color.hsv2rgb): 8971 New utilities to deal with HSV colors used in the ColorWheel. 8972 8973 * UserInterface/ColorPicker.css: Added. 8974 8975 * UserInterface/ColorPicker.js: Added. 8976 (WebInspector.ColorPicker): 8977 (WebInspector.ColorPicker.prototype.get element): 8978 (WebInspector.ColorPicker.prototype.set brightness): 8979 (WebInspector.ColorPicker.prototype.set opacity): 8980 (WebInspector.ColorPicker.prototype.get color): 8981 8982 (WebInspector.ColorPicker.prototype.set color): 8983 We set the _dontUpdateColor flag here such that we don't attempt to 8984 notify about a color change at this point in case the selected color 8985 is too saturated to be represented accurately on the color wheel and 8986 we would end up changing the color by virtue of presenting the popover. 8987 8988 (WebInspector.ColorPicker.prototype.colorWheelColorDidChange): 8989 (WebInspector.ColorPicker.prototype.sliderValueDidChange): 8990 (WebInspector.ColorPicker.prototype._updateColor): 8991 (WebInspector.ColorPicker.prototype._updateSliders): 8992 8993 * UserInterface/ColorWheel.css: Added. 8994 8995 * UserInterface/ColorWheel.js: Added. 8996 The ColorWheel makes use of three different <canvas> elements to draw itself. 8997 The "raw" canvas is used to draw the raw, un-tinted color wheel with poor 8998 aliasing. The "raw" canvas is only drawn when the dimension is changed. 8999 The "tinted" canvas is used to draw the "raw" canvas with a black overlay 9000 based on the brightness set on the wheel. The "final" canvas, the only <canvas> 9001 element attached to the DOM, is used to draw the "tinted" canvas into a circle 9002 clip of a slightly narrower radius so that the drawn image is visually more pleasing 9003 and can be displayed above virtually any background color. 9004 9005 We use color math to generate the color wheel, courtesy of Dean Jackson, and also to 9006 figure out where to position the crosshair for the provided base color as well as 9007 the opposite operation where we get the color under the mouse pointer. 9008 9009 The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel), 9010 the colors themselves being retrieved via the public properties tintedColor and rawColor. 9011 9012 (WebInspector.ColorWheel): 9013 (WebInspector.ColorWheel.prototype.set dimension): 9014 (WebInspector.ColorWheel.prototype.get element): 9015 (WebInspector.ColorWheel.prototype.get brightness): 9016 (WebInspector.ColorWheel.prototype.set brightness): 9017 (WebInspector.ColorWheel.prototype.get tintedColor): 9018 (WebInspector.ColorWheel.prototype.set tintedColor): 9019 (WebInspector.ColorWheel.prototype.get rawColor): 9020 (WebInspector.ColorWheel.prototype.handleEvent): 9021 (WebInspector.ColorWheel.prototype._handleMousedown): 9022 (WebInspector.ColorWheel.prototype._handleMousemove): 9023 (WebInspector.ColorWheel.prototype._handleMouseup): 9024 (WebInspector.ColorWheel.prototype._pointInCircleForEvent): 9025 (WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint): 9026 (WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference): 9027 (WebInspector.ColorWheel.prototype._updateColorForMouseEvent): 9028 (WebInspector.ColorWheel.prototype._setCrosshairPosition): 9029 (WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness): 9030 (WebInspector.ColorWheel.prototype._drawRawCanvas): 9031 (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness): 9032 (WebInspector.ColorWheel.prototype._drawTintedCanvas): 9033 (WebInspector.ColorWheel.prototype._draw): 9034 9035 * UserInterface/Images/SliderThumb.png: Added. 9036 * UserInterface/Images/SliderThumb@2x.png: Added. 9037 * UserInterface/Images/SliderThumbPressed.png: Added. 9038 * UserInterface/Images/SliderThumbPressed@2x.png: Added. 9039 Supporting artwork for the new Slider class. 9040 9041 * UserInterface/Main.html: 9042 Remove the previous color picker class and add the new one, as well as the new Slider class. 9043 9044 * UserInterface/Slider.css: Added. 9045 9046 * UserInterface/Slider.js: Added. 9047 New slider to match the look of the sliders used in the native OS X color picker. The most 9048 interesting feature of these sliders is that they can be transformed using CSS in any way 9049 and will still operate correctly due to always converting the mouse coordinates in the page 9050 coordinate system to the coordinate system local to the backing element. For instance, the 9051 color picker uses two sliders transformed to be displayed vertically. 9052 9053 As it stands these slides only support values between 0 and 1 and fire a single delegate 9054 method call sliderValueDidChange(slider, newValue). 9055 9056 (WebInspector.Slider): 9057 (WebInspector.Slider.prototype.get element): 9058 (WebInspector.Slider.prototype.get value): 9059 (WebInspector.Slider.prototype.set value): 9060 (WebInspector.Slider.prototype.handleEvent): 9061 (WebInspector.Slider.prototype._handleMousedown): 9062 (WebInspector.Slider.prototype._handleMousemove): 9063 (WebInspector.Slider.prototype._handleMouseup): 9064 (WebInspector.Slider.prototype._localPointForEvent): 9065 (WebInspector.Slider.prototype.get _maxX): 9066 9067 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: 9068 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 9069 Update file names for the new color picker. 9070 90712013-11-14 Antoine Quint <graouts@apple.com> 9072 9073 Web Inspector: Popovers may shrink unnecessarily 9074 https://bugs.webkit.org/show_bug.cgi?id=124350 9075 9076 Reviewed by Timothy Hatcher. 9077 9078 Because we always get the intersection of the preferred frame and the container frame to 9079 ensure the popover fits within its container based on a preferred frame that would place 9080 the arrow within the center of the attachment edge, we get in situations where we may 9081 shrink the popover instead of shifting it to fit within the container frame. We now first 9082 shift the preferred frame before getting its intersection with the container frame to 9083 avoid such situations. 9084 9085 * UserInterface/Popover.js: 9086 (WebInspector.Popover.prototype._bestMetricsForEdge): 9087 90882013-11-13 Joseph Pecoraro <pecoraro@apple.com> 9089 9090 Web Inspector: Split Inspector.json into individual domain json files 9091 https://bugs.webkit.org/show_bug.cgi?id=124098 9092 9093 Reviewed by Timothy Hatcher. 9094 9095 Removed now stale comments referring to the combined Inspector.json. 9096 Make update-InspectorBackendCommands helper script generate a 9097 combined Inspector.json to still work for tip of tree. 9098 9099 * Scripts/update-InspectorBackendCommands.rb: 9100 * UserInterface/ApplicationCacheObserver.js: 9101 * UserInterface/CSSObserver.js: 9102 * UserInterface/CanvasObserver.js: 9103 * UserInterface/ConsoleObserver.js: 9104 * UserInterface/DOMObserver.js: 9105 * UserInterface/DOMStorageObserver.js: 9106 * UserInterface/DatabaseObserver.js: 9107 * UserInterface/DebuggerObserver.js: 9108 * UserInterface/InspectorBackendCommands.js: 9109 * UserInterface/InspectorObserver.js: 9110 * UserInterface/LayerTreeObserver.js: 9111 * UserInterface/NetworkObserver.js: 9112 * UserInterface/PageObserver.js: 9113 * UserInterface/ProfilerObserver.js: 9114 * UserInterface/Resource.js: 9115 * UserInterface/RuntimeObserver.js: 9116 * UserInterface/TimelineObserver.js: 9117 91182013-11-12 Alexandru Chiculita <achicu@adobe.com> 9119 9120 Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline 9121 https://bugs.webkit.org/show_bug.cgi?id=124230 9122 9123 Reviewed by Timothy Hatcher. 9124 9125 Changed ContentFlowTreeContentView to use one DOMTreeOutline by just 9126 populating it with root DOMTreeElements directly. That is very 9127 similar to how DOMTreeOutline works when omitRootDOMNode is used. 9128 9129 Now that ContentFlowTreeContentView has only one DOMTreeOutline, 9130 it makes sense to change its base class to be DOMTreeContentView instead. 9131 Also, with that I've changed its name to ContentFlowDOMTreeContentView. 9132 9133 I had to move all the DOMTree document loading code from DOMTreeContentView to a 9134 new class called FrameDOMTreeContentView. This is used to display the DOM of the 9135 frame objects. FrameDOMTreeContentView is also inheriting from DOMTreeContentView. 9136 9137 Issues that are fixed as a side effect: 9138 - Selection path components are now displaying all the sibling elements for contentFlow.contentNodes 9139 (those are the nodes that have "-webkit-flow-into" set directly). 9140 - Keyboard navigation works for the contentFlow.contentNodes. 9141 - Search is implemented in DOMTreeContentView, so that code now works for flows too. 9142 The DOMAgents's search API will use all the Documents to lookup for nodes, so it might 9143 find DOM nodes that are not part of the flow. This is in line with the behavior for the 9144 frames. 9145 9146 * UserInterface/ContentFlowDOMTreeContentView.js: Renamed from ContentFlowTreeContentView 9147 to better reflect the inheritance from DOMTreeContentView. 9148 (WebInspector.ContentFlowDOMTreeContentView): 9149 (WebInspector.ContentFlowDOMTreeContentView.prototype.closed): 9150 (WebInspector.ContentFlowDOMTreeContentView.prototype._createContentTrees): 9151 (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasAdded): 9152 (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasRemoved): 9153 * UserInterface/ContentView.js: 9154 (WebInspector.ContentView): 9155 * UserInterface/DOMTreeContentView.js: 9156 (WebInspector.DOMTreeContentView): 9157 (WebInspector.DOMTreeContentView.prototype.closed): 9158 (WebInspector.DOMTreeContentView.prototype.): 9159 (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate): 9160 (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): 9161 * UserInterface/FrameDOMTreeContentView.js: Added. 9162 (WebInspector.FrameDOMTreeContentView): 9163 (WebInspector.FrameDOMTreeContentView.prototype.get domTree): 9164 (WebInspector.FrameDOMTreeContentView.prototype.closed): 9165 (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable): 9166 (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeInvalidated): 9167 (WebInspector.FrameDOMTreeContentView.prototype._requestRootDOMNode): 9168 * UserInterface/Main.html: 9169 91702013-11-08 Joseph Pecoraro <pecoraro@apple.com> 9171 9172 Web Inspector: remove -webkit-min and -webkit-max from CSS completions 9173 https://bugs.webkit.org/show_bug.cgi?id=124072 9174 9175 Reviewed by Timothy Hatcher. 9176 9177 -webkit-min and -webkit-max are not implemented in WebCore, despite mentions of it. 9178 9179 * UserInterface/CSSKeywordCompletions.js: 9180 91812013-11-07 Alexandru Chiculita <achicu@adobe.com> 9182 9183 Web Inspector: CSS Regions: Use a Map object to store the ContentFlows 9184 https://bugs.webkit.org/show_bug.cgi?id=124015 9185 9186 Reviewed by Joseph Pecoraro. 9187 9188 Changed the Object hashmap to a Map based hashmap when storing the flows in DOMTreeManager. 9189 9190 * UserInterface/DOMTreeManager.js: 9191 (WebInspector.DOMTreeManager): 9192 (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection): 9193 (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): 9194 (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents): 9195 91962013-11-07 Timothy Hatcher <timothy@apple.com> 9197 9198 Fix up some sidebar switching details to make selections persist better. 9199 9200 Translate represented objects between sidebars so the same item can be reselected 9201 as you switch between frames and main reources. Also fix some null checks that are 9202 needed on selectedSidebarPanel. 9203 9204 https://bugs.webkit.org/show_bug.cgi?id=124001 9205 9206 Reviewed by Joseph Pecoraro. 9207 9208 * UserInterface/DebuggerSidebarPanel.js: 9209 (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Added. Translate a Frame 9210 representedObject into a main resource representedObject. 9211 * UserInterface/Main.js: 9212 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Null check selectedSidebarPanel. 9213 (WebInspector._updateNavigationSidebarForCurrentContentView): Fix a logic error to match other code. 9214 allowedNavigationSidebarPanels.length needs to have a length before using contains. 9215 (WebInspector._contentBrowserCurrentContentViewDidChange): Null check selectedSidebarPanel. 9216 * UserInterface/ResourceSidebarPanel.js: 9217 (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Translate a main resource 9218 representedObject into a Frame representedObject. 9219 92202013-11-07 Alexandru Chiculita <achicu@adobe.com> 9221 9222 Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId 9223 https://bugs.webkit.org/show_bug.cgi?id=123577 9224 9225 Reviewed by Timothy Hatcher. 9226 9227 Fixed the content node removal from the content flow. 9228 9229 * UserInterface/ContentFlowTreeContentView.js: 9230 * UserInterface/DOMTreeManager.js: 9231 (WebInspector.DOMTreeManager): 9232 (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): Registered all the content nodes 9233 in the _contentNodesToFlowsMap. 9234 (WebInspector.DOMTreeManager.prototype._unbind): Added call to _removeContentNodeFromFlowIfNeeded. 9235 (WebInspector.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Called from _unbind to check 9236 and remove a node from it's parent content flow if needed. 9237 (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement): 9238 92392013-11-06 Timothy Hatcher <timothy@apple.com> 9240 9241 Properly null check positionToReveal in ResourceSidebarPanel.prototype.showSourceCode. 9242 9243 https://bugs.webkit.org/show_bug.cgi?id=123921 9244 9245 Reviewed by Joseph Pecoraro. 9246 9247 * UserInterface/ResourceSidebarPanel.js: 9248 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): 9249 92502013-11-06 Timothy Hatcher <timothy@apple.com> 9251 9252 Fix the display of query parameters when the value is missing. 9253 9254 https://bugs.webkit.org/show_bug.cgi?id=123920 9255 9256 Reviewed by Joseph Pecoraro. 9257 9258 * UserInterface/ResourceDetailsSidebarPanel.js: 9259 (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): 9260 92612013-11-06 Alexandru Chiculita <achicu@adobe.com> 9262 9263 Web Inspector: CSS Regions: When a flow is clicked the content of flow needs to be displayed 9264 https://bugs.webkit.org/show_bug.cgi?id=122927 9265 9266 Reviewed by Joseph Pecoraro. 9267 9268 ContentFlowTreeContentView is now used to display the content nodes of a ContentFlow. It is 9269 very similar to the DOMTreeContentView class, but can handle multiple root nodes. 9270 9271 * UserInterface/ContentFlowTreeContentView.js: Added. 9272 (WebInspector.ContentFlowTreeContentView): 9273 (WebInspector.ContentFlowTreeContentView.prototype.get selectionPathComponents): 9274 (WebInspector.ContentFlowTreeContentView.prototype.updateLayout): 9275 (WebInspector.ContentFlowTreeContentView.prototype.shown): 9276 (WebInspector.ContentFlowTreeContentView.prototype.hidden): 9277 (WebInspector.ContentFlowTreeContentView.prototype.closed): 9278 (WebInspector.ContentFlowTreeContentView.prototype._selectedNodeDidChange): 9279 (WebInspector.ContentFlowTreeContentView.prototype._pathComponentSelected): 9280 (WebInspector.ContentFlowTreeContentView.prototype._createContentNodeTree): 9281 (WebInspector.ContentFlowTreeContentView.prototype._createContentTrees): 9282 (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasAdded): 9283 (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasRemoved): 9284 * UserInterface/ContentView.js: 9285 (WebInspector.ContentView): 9286 (WebInspector.ContentView.isViewable): 9287 * UserInterface/DOMTreeElement.js: 9288 (WebInspector.DOMTreeElement.prototype.ondeselect): We need to remove the selected "dom node" 9289 so that the element is not going to stay selected after the we move to a different DOM tree. 9290 * UserInterface/DOMTreeOutline.js: 9291 (WebInspector.DOMTreeOutline.prototype.selectDOMNode): 9292 * UserInterface/Main.html: 9293 * UserInterface/Main.js: 9294 (WebInspector.sidebarPanelForRepresentedObject): 9295 * UserInterface/ResourceSidebarPanel.js: 9296 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): 9297 92982013-11-01 Antoine Quint <graouts@apple.com> 9299 9300 Remove custom Function.prototype.bind() in favor of native version 9301 https://bugs.webkit.org/show_bug.cgi?id=123608 9302 9303 Reviewed by Joseph Pecoraro. 9304 9305 * UserInterface/Utilities.js: 9306 93072013-11-01 Antoine Quint <graouts@apple.com> 9308 9309 Error trying to serialize a color created without an alpha component to RGBA or HSLA 9310 https://bugs.webkit.org/show_bug.cgi?id=123623 9311 9312 Reviewed by Joseph Pecoraro. 9313 9314 Check whether we have .rgba and .hsla ivars before trying to retrieve them to serialize 9315 the color to RGBA or HSLA format. 9316 9317 * UserInterface/Color.js: 9318 (WebInspector.Color.prototype.toString): 9319 93202013-11-01 Antoine Quint <graouts@apple.com> 9321 9322 Remove custom Element.prototype.remove() in favor of native version 9323 https://bugs.webkit.org/show_bug.cgi?id=123607 9324 9325 Reviewed by Timothy Hatcher. 9326 9327 * UserInterface/Utilities.js: 9328 93292013-10-31 Joseph Pecoraro <pecoraro@apple.com> 9330 9331 Web Inspector: Breakpoints in auto-formatted JavaScript editors are not working 9332 https://bugs.webkit.org/show_bug.cgi?id=123589 9333 9334 Reviewed by Timothy Hatcher. 9335 9336 The internal this._ignoreCodeMirrorContentDidChangeEvent flag was being used 9337 in two places that could be nested, meaning the flag was deleted while it 9338 was still expected to be set. Change it instead to a counter, to handle nesting. 9339 9340 * UserInterface/TextEditor.js: 9341 (WebInspector.TextEditor): 9342 (WebInspector.TextEditor.prototype.set string): 9343 (WebInspector.TextEditor.prototype.set formatted): 9344 (WebInspector.TextEditor.prototype._contentChanged): 9345 93462013-10-31 Joseph Pecoraro <pecoraro@apple.com> 9347 9348 Web Inspector: Remove stale optional native memory instrumentation protocol params 9349 https://bugs.webkit.org/show_bug.cgi?id=123552 9350 9351 Reviewed by Timothy Hatcher. 9352 9353 * UserInterface/InspectorBackendCommands.js: 9354 93552013-10-30 Joseph Pecoraro <pecoraro@apple.com> 9356 9357 Web Inspector: Fix PrettyPrinting Tool Load from Saved URL 9358 9359 Reviewed by Timothy Hatcher. 9360 9361 * Tools/PrettyPrinting/index.html: 9362 93632013-10-28 Alexandru Chiculita <achicu@adobe.com> 9364 9365 Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal 9366 https://bugs.webkit.org/show_bug.cgi?id=123424 9367 9368 Reviewed by Timothy Hatcher. 9369 9370 Exposed the new CSS Agent events to the ContentFlow class that will now maintain 9371 a list of nodes in the "contentNodes" property. 9372 9373 * UserInterface/CSSObserver.js: 9374 (WebInspector.CSSObserver.prototype.regionOversetChanged): 9375 (WebInspector.CSSObserver.prototype.registeredNamedFlowContentElement): 9376 (WebInspector.CSSObserver.prototype.unregisteredNamedFlowContentElement): 9377 * UserInterface/ContentFlow.js: 9378 (WebInspector.ContentFlow): 9379 (WebInspector.ContentFlow.prototype.set overset): 9380 (WebInspector.ContentFlow.prototype.get contentNodes): 9381 (WebInspector.ContentFlow.prototype.insertContentNodeBefore): 9382 (WebInspector.ContentFlow.prototype.appendContentNode): 9383 (WebInspector.ContentFlow.prototype.removeContentNode): 9384 * UserInterface/DOMTreeManager.js: 9385 (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): 9386 (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload): 9387 (WebInspector.DOMTreeManager.prototype.regionOversetChanged): 9388 (WebInspector.DOMTreeManager.prototype.registeredNamedFlowContentElement): 9389 (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement): 9390 * UserInterface/InspectorBackendCommands.js: 9391 93922013-10-25 Joseph Pecoraro <pecoraro@apple.com> 9393 9394 Web Inspector: PrettyPrinting tool should have save button 9395 https://bugs.webkit.org/show_bug.cgi?id=123371 9396 9397 Reviewed by Timothy Hatcher. 9398 9399 Add buttons to save as a URL to share or to save/clear to 9400 localStorage for easier reloads testing local changes. 9401 9402 * Tools/PrettyPrinting/index.html: 9403 94042013-10-25 Joseph Pecoraro <pecoraro@apple.com> 9405 9406 Web Inspector: Command+Click on url(…) should go to image not source line 9407 https://bugs.webkit.org/show_bug.cgi?id=123362 9408 9409 Reviewed by Timothy Hatcher. 9410 9411 CodeMirror changed "url" from being type "variable-2" to "string-2". 9412 9413 * UserInterface/CodeMirrorAdditions.js: 9414 94152013-10-25 Jessie Berlin <jberlin@apple.com> 9416 9417 Ran update-localizable-strings after changes made in r157947. 9418 9419 Rubber-stamped by Timothy Hatcher. 9420 9421 * Localizations/en.lproj/localizedStrings.js: 9422 94232013-10-24 Mark Rowe <mrowe@apple.com> 9424 9425 Remove references to OS X 10.7 from Xcode configuration settings. 9426 9427 Now that we're not building for OS X 10.7 they're no longer needed. 9428 9429 Reviewed by Anders Carlsson. 9430 9431 * Configurations/Base.xcconfig: 9432 * Configurations/DebugRelease.xcconfig: 9433 * Configurations/Version.xcconfig: 9434 94352013-10-24 Mark Rowe <mrowe@apple.com> 9436 9437 <rdar://problem/15312643> Prepare for the mysterious future. 9438 9439 Reviewed by David Kilzer. 9440 9441 * Configurations/Base.xcconfig: 9442 * Configurations/DebugRelease.xcconfig: 9443 * Configurations/Version.xcconfig: 9444 94452013-10-24 Timothy Hatcher <timothy@apple.com> 9446 9447 Allow editing CSS resources after they have been pretty printed. 9448 9449 https://bugs.webkit.org/show_bug.cgi?id=123297 9450 9451 Reviewed by Joseph Pecoraro. 9452 9453 * UserInterface/TextEditor.js: 9454 (WebInspector.TextEditor): Remove the need for _readOnly. 9455 (WebInspector.TextEditor.prototype.set readOnly): Set CodeMirror readOnly directly. 9456 (WebInspector.TextEditor.prototype.set formatted): Don't call _updateCodeMirrorReadOnly. 9457 (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly): Removed. 9458 (WebInspector.TextEditor.prototype._contentChanged): Clear _formatted and _formatterSourceMap 9459 on edit and notify the delegate and fire the FormattingDidChange event. 9460 94612013-10-24 Timothy Hatcher <timothy@apple.com> 9462 9463 Adjust the precision of byte strings in Web Inspector. 9464 9465 https://bugs.webkit.org/show_bug.cgi?id=123281 9466 9467 Reviewed by Joseph Pecoraro. 9468 9469 * UserInterface/Utilities.js: 9470 (Number.bytesToString): More precision for MB and less precision for 10..1023 KB. 9471 94722013-10-24 Alexandru Chiculita <achicu@adobe.com> 9473 9474 Web Inspector: Add a way to test the Manager and model classes 9475 https://bugs.webkit.org/show_bug.cgi?id=123223 9476 9477 Reviewed by Timothy Hatcher. 9478 9479 Moved some global functions out of Main.js, so that they can be used in the 9480 layout tests without including Main.js. 9481 9482 * UserInterface/Main.html: Referenced the new JS files. 9483 * UserInterface/Main.js: 9484 * UserInterface/MessageDispatcher.js: Added. 9485 (WebInspector.dispatchNextQueuedMessageFromBackend): 9486 (WebInspector.dispatchMessageFromBackend): 9487 * UserInterface/URLUtilities.js: Added. 9488 (removeURLFragment): 9489 (relativePath): 9490 (parseURL): 9491 (absoluteURL): 9492 (parseLocationQueryParameters): 9493 (parseQueryString): 9494 (WebInspector.displayNameForURL): 9495 (WebInspector.displayNameForHost): 9496 * UserInterface/Utilities.js: 9497 94982013-10-21 Alexandru Chiculita <achicu@adobe.com> 9499 9500 Web Inspector: [CSS Regions] Flows are not loading if you refresh the page several times 9501 https://bugs.webkit.org/show_bug.cgi?id=123123 9502 9503 Reviewed by Joseph Pecoraro. 9504 9505 There was a typo in the code where an exception was thrown because "flowKey" was undefined. 9506 9507 * UserInterface/DOMTree.js: 9508 (WebInspector.DOMTree.prototype._contentFlowListWasUpdated): 9509 95102013-10-21 Oliver Hunt <oliver@apple.com> 9511 9512 Restore accidentally removed files. 9513 9514 * UserInterface/GoToLineDialog.css: Added. 9515 (.go-to-line-dialog): 9516 (.go-to-line-dialog > div): 9517 (.go-to-line-dialog > div > input): 9518 (.go-to-line-dialog > div > input::-webkit-input-placeholder): 9519 (.go-to-line-dialog > div > img): 9520 (.go-to-line-dialog > div > img:active): 9521 (.go-to-line-dialog.non-empty > div > img): 9522 * UserInterface/GoToLineDialog.js: Added. 9523 (WebInspector.GoToLineDialog): 9524 (WebInspector.GoToLineDialog.prototype.present): 9525 (WebInspector.GoToLineDialog.prototype.dismiss): 9526 (WebInspector.GoToLineDialog.prototype.handleEvent): 9527 (WebInspector.GoToLineDialog.prototype._handleInputEvent): 9528 (WebInspector.GoToLineDialog.prototype._handleKeydownEvent): 9529 (WebInspector.GoToLineDialog.prototype._handleBlurEvent): 9530 (WebInspector.GoToLineDialog.prototype._handleMousedownEvent): 9531 (WebInspector.GoToLineDialog.prototype._handleClickEvent): 9532 (WebInspector.GoToLineDialog.prototype._clear): 9533 * UserInterface/Images/CloseWhite.svg: Added. 9534 95352013-10-18 Alexandru Chiculita <achicu@adobe.com> 9536 9537 Web Inspector: CSS Regions: Add the list of flows in the FrameTreeElement 9538 https://bugs.webkit.org/show_bug.cgi?id=122924 9539 9540 Reviewed by Timothy Hatcher. 9541 9542 Added code to collect the flows from the backend into the DOMTree object 9543 on the frontend. Added ContentFlow to represent the flows on the frontend 9544 side and created ContentFlowTreeElement to display the flows in the FrameTreeElement. 9545 9546 * Localizations/en.lproj/localizedStrings.js: 9547 * Scripts/copy-user-interface-resources.sh: 9548 * UserInterface/CSSObserver.js: 9549 (WebInspector.CSSObserver.prototype.namedFlowCreated): 9550 (WebInspector.CSSObserver.prototype.namedFlowRemoved): 9551 (WebInspector.CSSObserver.prototype.regionLayoutUpdated): 9552 (WebInspector.CSSObserver.prototype.regionOversetChanged): 9553 * UserInterface/ContentFlow.js: Added. 9554 (WebInspector.ContentFlow): 9555 (WebInspector.ContentFlow.prototype.get id): 9556 (WebInspector.ContentFlow.prototype.get documentNodeIdentifier): 9557 (WebInspector.ContentFlow.prototype.get name): 9558 (WebInspector.ContentFlow.prototype.get overset): 9559 (WebInspector.ContentFlow.prototype.set overset): 9560 * UserInterface/ContentFlowIcon.css: Added. 9561 (.content-flow-icon .icon): 9562 * UserInterface/ContentFlowTreeElement.js: Added. 9563 (WebInspector.ContentFlowTreeElement): 9564 * UserInterface/DOMTree.js: 9565 (WebInspector.DOMTree): 9566 (WebInspector.DOMTree.prototype.get flowMap): 9567 (WebInspector.DOMTree.prototype.get flowsCount): 9568 (WebInspector.DOMTree.prototype._framePageExecutionContextChanged): 9569 (WebInspector.DOMTree.prototype.requestContentFlowList): 9570 (WebInspector.DOMTree.prototype._isContentFlowInCurrentDocument): 9571 (WebInspector.DOMTree.prototype._contentFlowListWasUpdated): 9572 (WebInspector.DOMTree.prototype._contentFlowWasAdded): 9573 (WebInspector.DOMTree.prototype._contentFlowWasRemoved): 9574 * UserInterface/DOMTreeManager.js: 9575 (WebInspector.DOMTreeManager): 9576 (WebInspector.DOMTreeManager._flowPayloadHashKey): 9577 (WebInspector.DOMTreeManager.prototype._buildHighlightConfig): 9578 (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): 9579 (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload): 9580 (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection): 9581 (WebInspector.DOMTreeManager.prototype.namedFlowCreated): 9582 (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): 9583 (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents): 9584 (WebInspector.DOMTreeManager.prototype.regionLayoutUpdated): 9585 (WebInspector.DOMTreeManager.prototype.regionOversetChanged): 9586 * UserInterface/FrameTreeElement.js: 9587 (WebInspector.FrameTreeElement): 9588 (WebInspector.FrameTreeElement.prototype.onpopulate): 9589 (WebInspector.FrameTreeElement.prototype.onexpand): 9590 (WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded): 9591 (WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved): 9592 (WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated): 9593 (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): 9594 (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): 9595 (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject): 9596 (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements): 9597 (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): 9598 (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): 9599 (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): 9600 * UserInterface/Images/ContentFlow.svg: Added. 9601 * UserInterface/Main.html: 9602 * UserInterface/ResourceSidebarPanel.js: 9603 (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): 9604 96052013-10-17 Antoine Quint <graouts@apple.com> 9606 9607 Web Inspector: Go to line keyboard command and dialog 9608 https://bugs.webkit.org/show_bug.cgi?id=122893 9609 9610 Reviewed by Timothy Hatcher. 9611 9612 Add a text input over source code text editors, centered within the width of the editor 9613 and towards the top of the editor, upon pressing Command+L or Control+G to match the 9614 behavior in Chrome. 9615 9616 * Localizations/en.lproj/localizedStrings.js: 9617 New localized string "Line Number". 9618 9619 * UserInterface/GoToLineDialog.css: Added. 9620 Styling for the go-to-line dialog. 9621 9622 * UserInterface/GoToLineDialog.js: Added. 9623 (WebInspector.GoToLineDialog): 9624 Generate the DOM structure for the dialog. 9625 9626 (WebInspector.GoToLineDialog.prototype.present): 9627 Present the dialog as a child of a parent element. The dialog's text field automatically 9628 gets focus and resets to be empty. 9629 9630 (WebInspector.GoToLineDialog.prototype.dismiss): 9631 Dismiss the dialog if visible, this triggers the goToLineDialogWasDismissed delegate method. 9632 9633 (WebInspector.GoToLineDialog.prototype.handleEvent): 9634 Route the various events registered in the dialog's DOM tree: input, keydown, blur, mousedown 9635 and click. 9636 9637 (WebInspector.GoToLineDialog.prototype._handleInputEvent): 9638 Update the "non-empty" class on the dialog's element depending on the content of the dialog's 9639 text field. If there is content in the text field, this will make the clear icon visible. 9640 9641 (WebInspector.GoToLineDialog.prototype._handleKeydownEvent): 9642 If the Esc. key is pressed when there is text in the dialog's input field, clear the input field. 9643 If no text is in the input field, dismiss the input field. When the Enter key is pressed, we call 9644 the isGoToLineDialogValueValid() method on the delegate to figure out if the text field value is 9645 valid. If it's not, we select the text field value so that it may be easily replaced and play 9646 en error sound. If it's valid, we call the goToLineDialogValueWasValidated() delegate method 9647 and dismiss the dialog. 9648 9649 (WebInspector.GoToLineDialog.prototype._handleBlurEvent): 9650 Dismiss the dialog when its text field loses focus. This ensures that clicking anywhere outside 9651 of the dialog removes it from display. 9652 9653 (WebInspector.GoToLineDialog.prototype._handleMousedownEvent): 9654 Upon pressing the mouse down on the clear icon, select the entire text field content (matches 9655 the behavior of Xcode) and prevent the default event action that would blur the text field 9656 which would dismiss the dialog. 9657 9658 (WebInspector.GoToLineDialog.prototype._handleClickEvent): 9659 Clear the content of the dialog's text field upon clicking on its clear button. 9660 9661 (WebInspector.GoToLineDialog.prototype._clear): 9662 Reset the dialog's text field's value to an empty string and remove the "non-empty" CSS class name 9663 controlling the display of the clear button. 9664 9665 * UserInterface/Images/CloseWhite.svg: Added. 9666 Variation of the Close.svg icon with a white cross. 9667 9668 * UserInterface/Main.html: 9669 Link to the newly added resources for GoToLineDialog. 9670 9671 * UserInterface/SourceCodeTextEditor.js: 9672 (WebInspector.SourceCodeTextEditor): 9673 Register the Command+L and Control+G keyboard shortcuts to bring up the go-to-line dialog. 9674 9675 (WebInspector.SourceCodeTextEditor.prototype.showGoToLineDialog): 9676 Method called upon pressing the Command+L and Control+G keyboard shorcuts creating an instance 9677 of a GoToDialog if necessary, becoming its delegate and presenting it in the context of the 9678 editor's root element. 9679 9680 (WebInspector.SourceCodeTextEditor.prototype.isGoToLineDialogValueValid): 9681 Delegate method called to validate the line number presently set in the go-to-dialog's text field, 9682 checking it's a number between 1 and the number of lines in the source code. 9683 9684 (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogValueWasValidated): 9685 Delegate method called when the line number set in the go-to-dialog's text field has been validated. 9686 We reveal and select the line at the number provided. 9687 9688 (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogWasDismissed): 9689 Ensure the source code editor regains focus upon dismissing the go-to-dialog. 9690 9691 * UserInterface/TextEditor.js: 9692 (WebInspector.TextEditor.prototype.revealPosition): 9693 Add a new opt-in option to not highlight the revealed position. The code in goToLineDialogValueWasValidated() 9694 sets that new flag to true to avoid an unnecessary highlight on top of the selection. 9695 9696 (WebInspector.TextEditor.prototype.get lineCount): 9697 Expose the lineCount() method on the private CodeMirror instance. 9698 9699 (WebInspector.TextEditor.prototype.focus): 9700 Expose the focus() method on the private CodeMirror instance. 9701 97022013-10-17 Antoine Quint <graouts@apple.com> 9703 9704 Web Inspector: logged objects are highlighted in blue 9705 https://bugs.webkit.org/show_bug.cgi?id=122897 9706 9707 Reviewed by Joseph Pecoraro. 9708 9709 Switch to using the system highlight color for the background selected messages. 9710 Also removing SVG assets no longer needed since we won't be showing white prompt 9711 and result icons anymore as well as a few generated canvas states. 9712 9713 * UserInterface/Images/UserInputPromptPreviousSelected.svg: Removed. 9714 * UserInterface/Images/UserInputResultSelected.svg: Removed. 9715 * UserInterface/LogContentView.css: 9716 (.console-messages:focus .console-item.selected): 9717 * UserInterface/Main.js: 9718 (WebInspector._generateDisclosureTriangleImages): 9719 97202013-10-17 Antoine Quint <graouts@apple.com> 9721 9722 Web Inspector: allow front-end to trigger the system beep sound to signal an error 9723 https://bugs.webkit.org/show_bug.cgi?id=122955 9724 9725 Reviewed by Timothy Hatcher. 9726 9727 Provide a stub method for the new InspectorFrontendHost.beep() method. 9728 9729 * UserInterface/InspectorFrontendHostStub.js: 9730 (WebInspector.InspectorFrontendHostStub.prototype.beep): 9731 97322013-10-15 Antoine Quint <graouts@apple.com> 9733 9734 Web Inspector: can't select text inside a text node 9735 https://bugs.webkit.org/show_bug.cgi?id=122828 9736 9737 Reviewed by Timothy Hatcher. 9738 9739 Cancel the default user interaction when a drag action starts if the 9740 element is being edited. 9741 9742 * UserInterface/DOMTreeElement.js: 9743 (WebInspector.DOMTreeElement.prototype.onattach): 9744 (WebInspector.DOMTreeElement.prototype.handleEvent): 9745 97462013-10-10 Brian J. Burg <burg@cs.washington.edu> 9747 9748 Web Inspector: content views and managers should save/restore view state. 9749 https://bugs.webkit.org/show_bug.cgi?id=122546 9750 9751 To restore the same content view and sidebars when re-opening the 9752 inspector, a cookie is saved whenever a new content view is shown 9753 in the main content browser. Previously, this cookie was created 9754 and restored using navigation sidebar-specific logic. This has two 9755 major flaws: non-default sidebars for a represented object are not 9756 restored correctly; and it centralizes storage of view-specific 9757 state such as subview selections. 9758 9759 This patch adds ContentView methods for saving a key for the 9760 view's represented object, and saving/restoring any view-specific 9761 state as the view is shown. The 'type' field of the cookie 9762 specifies the manager which deserializes the cookie into a 9763 represented object. 9764 9765 Reviewed by Timothy Hatcher. 9766 9767 * UserInterface/ApplicationCacheFrameContentView.js: 9768 (WebInspector.ApplicationCacheFrameContentView): 9769 (WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie): 9770 (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate): 9771 (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus): 9772 (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus): 9773 (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): 9774 * UserInterface/ApplicationCacheManager.js: 9775 (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated): 9776 (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated): 9777 (WebInspector.ApplicationCacheManager.prototype.): 9778 (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache): 9779 (WebInspector.ApplicationCacheManager.prototype.objectForCookie): 9780 (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded): 9781 (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded): 9782 (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): 9783 * UserInterface/BackForwardEntry.js: 9784 (WebInspector.BackForwardEntry): 9785 (WebInspector.BackForwardEntry.prototype._restoreFromCookie): 9786 * UserInterface/ContentBrowser.js: 9787 (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject): 9788 (WebInspector.ContentBrowser.prototype.showContentView): 9789 * UserInterface/ContentView.js: 9790 (WebInspector.ContentView.prototype.saveToCookie): 9791 (WebInspector.ContentView.prototype.restoreFromCookie): 9792 * UserInterface/ContentViewContainer.js: 9793 (WebInspector.ContentViewContainer.prototype.showContentView): 9794 * UserInterface/CookieStorageContentView.js: 9795 (WebInspector.CookieStorageContentView.prototype.update): 9796 (WebInspector.CookieStorageContentView.prototype.saveToCookie): 9797 (WebInspector.CookieStorageContentView.prototype._rebuildTable): 9798 (WebInspector.CookieStorageContentView.prototype._filterCookies): 9799 * UserInterface/DOMStorageContentView.js: 9800 (WebInspector.DOMStorageContentView.prototype.saveToCookie): 9801 * UserInterface/DatabaseContentView.js: 9802 (WebInspector.DatabaseContentView.prototype.saveToCookie): 9803 (WebInspector.DatabaseContentView.prototype._messagesClicked): 9804 * UserInterface/DatabaseTableContentView.js: 9805 (WebInspector.DatabaseTableContentView): 9806 (WebInspector.DatabaseTableContentView.prototype.saveToCookie): 9807 * UserInterface/FrameContentView.js: 9808 (WebInspector.FrameContentView.prototype.saveToCookie): 9809 (WebInspector.FrameContentView.prototype.restoreFromCookie): 9810 * UserInterface/FrameResourceManager.js: 9811 (WebInspector.FrameResourceManager.prototype.objectForCookie): 9812 * UserInterface/InstrumentSidebarPanel.js: 9813 (WebInspector.InstrumentSidebarPanel): 9814 (WebInspector.InstrumentSidebarPanel.prototype.showTimeline): 9815 (WebInspector.InstrumentSidebarPanel.prototype.shown): 9816 (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): 9817 * UserInterface/Main.js: 9818 (WebInspector.loaded): 9819 (WebInspector.contentLoaded): 9820 (WebInspector.openURL): 9821 (WebInspector._updateCurrentContentViewCookie): 9822 (WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie): 9823 (WebInspector._showContentViewForCookie): 9824 (WebInspector._resolveAndShowPendingContentViewCookie.delayedWork): 9825 (WebInspector._resolveAndShowPendingContentViewCookie): 9826 (WebInspector.elementDragStart): 9827 (WebInspector.elementDragEnd): 9828 (WebInspector.createMessageTextView): 9829 (WebInspector.linkifyStringAsFragment): 9830 * UserInterface/NavigationSidebarPanel.js: 9831 * UserInterface/ResourceClusterContentView.js: 9832 (WebInspector.ResourceClusterContentView.prototype.saveToCookie): 9833 (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): 9834 * UserInterface/ResourceSidebarPanel.js: 9835 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): 9836 (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): 9837 (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded): 9838 (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded): 9839 (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded): 9840 (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded): 9841 * UserInterface/ScriptContentView.js: 9842 (WebInspector.ScriptContentView.prototype.saveToCookie): 9843 (WebInspector.ScriptContentView.prototype.restoreFromCookie): 9844 * UserInterface/StorageManager.js: 9845 (WebInspector.StorageManager.prototype.findMatchingObjectInArray): 9846 (WebInspector.StorageManager.prototype.objectForCookie): 9847 * UserInterface/TimelineManager.js: 9848 (WebInspector.TimelineManager): 9849 (WebInspector.TimelineManager.prototype.get timelines): 9850 (WebInspector.TimelineManager.prototype.objectForCookie): 9851 * UserInterface/TimelinesContentView.js: 9852 (WebInspector.TimelinesContentView.prototype.saveToCookie): 9853 (WebInspector.TimelinesContentView.prototype.restoreFromCookie): 9854 (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar): 9855 98562013-10-10 Mark Rowe <mrowe@apple.com> 9857 9858 <rdar://problem/13341666> WebKit should always build against an SDK. 9859 9860 Have all projects default to building against the OS X Internal SDK for the Production 9861 configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig 9862 to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK. 9863 9864 Reviewed by Dan Bernstein. 9865 9866 * Configurations/Base.xcconfig: 9867 * Configurations/DebugRelease.xcconfig: 9868 98692013-10-04 Antoine Quint <graouts@apple.com> 9870 9871 Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode) 9872 https://bugs.webkit.org/show_bug.cgi?id=119012 9873 9874 Reviewed by Joseph Pecoraro. 9875 9876 We add an "enabled" state to the tokenTrackingController to indicate that we're interested 9877 in tracking hovered tokens. The tokenTrackingController is now only enabled in the 9878 CSSStyleDeclarationTextEditor when the Cmd key is pressed and in the SourceCodeTextEditor 9879 when either the Cmd key is pressed (NonSymbolTokens mode) or when the debugger is paused 9880 (JavaScriptExpression mode). 9881 9882 The tokenTrackingController is now smarter about how it tracks mouse events when it's enabled, 9883 tracking "mouseenter" and "mouseleave" events to enable tracking allowing immediate detection of 9884 tokens being hovered or no longer being hovered even with quick mouse movements. Additioanlly, 9885 using the new top-level mouse coordinates tracking, we can detect a hovered token as soon as 9886 it's being enabled to provide instant feedback to the user. 9887 9888 This new top-level mouse coordinates tracking couple with tracking of modifier keys also fixes 9889 http://webkit.org/b/119011. 9890 9891 * UserInterface/CSSStyleDeclarationTextEditor.js: 9892 (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode): 9893 Highlight the last known hovered candidate's range as soon as the Cmd key is pressed and enable 9894 the tokenTrackingController if we're dealing with a non-read-only editor. When the Cmd key is 9895 released, disable the tokenTrackingController. 9896 9897 * UserInterface/CodeMirrorTokenTrackingController.js: 9898 (WebInspector.CodeMirrorTokenTrackingController): 9899 (WebInspector.CodeMirrorTokenTrackingController.prototype.get enabled): 9900 (WebInspector.CodeMirrorTokenTrackingController.prototype.set enabled): 9901 New enabled state for the tokenTrackingController which indicates whether it should be tracking 9902 mouse events to track hovered tokens in the editor. Upon being enabled, the tokenTrackingController 9903 looks up the mouse coordinates continuously tracked at the window level to check for a token 9904 at the last known mouse coordinates in case we're already over a token that may be highlighted. 9905 9906 (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightLastHoveredRange): 9907 New public method allowing to highlight the last know candidate range, if any. This is used from 9908 editor code when the Cmd key is pressed and we want to force the last know candidate to be 9909 highlighted. 9910 9911 (WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking): 9912 (WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking): 9913 Make these two methods private now that they're automatically called by the "mouseenter" and 9914 "mouseleave" event handling when we're in the "enabled" state. Additionally, the public 9915 "tracking" property has been removed since it is no longer useful to the developer. 9916 9917 (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent): 9918 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered): 9919 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseLeft): 9920 New handlers for the "mouseenter" and "mouseleave" events enabling tracking of hovered tokens. 9921 9922 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor): 9923 (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo): 9924 Refactor _mouseMovedOverEditor() into two methods with the new _updateHoveredTokenInfo() 9925 allowing to customize the mouse coordinates to be used since we may call 9926 _updateHoveredTokenInfo() outside of the context of a mouse event (ie. a keypress event). 9927 9928 (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus): 9929 (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates): 9930 New private method combining all the various states that need to be reset when tracking 9931 is turned off, including the removal of the highlighted range if any. This is now called 9932 when the window loses focus. 9933 9934 * UserInterface/Main.js: 9935 (WebInspector.loaded): 9936 (WebInspector._mouseMoved): 9937 Add a new window-level "mousemove" event handler to always track mouse coordinates and key modifier 9938 states. This ensures that we may have the most accurate information possible for key modifiers and 9939 allow code to query the last recorded mouse position in situations where it wouldn't be possible 9940 to have dealt with a mouse event, as is the case when the tokenTrackingController just started tracking. 9941 9942 * UserInterface/SourceCodeTextEditor.js: 9943 (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerEnabled): 9944 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause): 9945 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): 9946 (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings): 9947 (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings): 9948 Update the "enabled" state on the tokenTrackingController when it may have changed based 9949 on those two conditions: we should have either an active debugger call frame or the 9950 Cmd key should have been pressed. This ensures we only track hovered tokens as needed. 9951 9952 (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode): 9953 Highlight the last known hovered candidate's range as soon as the Cmd key is pressed. 9954 99552013-10-02 Brian J. Burg <burg@cs.washington.edu> 9956 9957 Web Inspector: save and restore source positions in back/forward history 9958 https://bugs.webkit.org/show_bug.cgi?id=122062 9959 9960 Reviewed by Timothy Hatcher. 9961 9962 Previously, the back/forward entries comprised of only the content 9963 views, but not their positions if navigated via hyperlink (i.e., 9964 handling script.js:42). When multiple instances of the same 9965 content view appeared in the back/forward list, the most recent 9966 navigation was displayed rather than the linked position. 9967 9968 We now store context necessary to re-navigate such hyperlinks by 9969 storing view- specific data inside a cookie object, and invoke a 9970 supplied callback to take any position initialization actions, 9971 such as calling TextEditor.revealPosition. This state is 9972 encapsulated into BackForwardEntry instances. 9973 9974 Functions that save and restore scroll positions inside content 9975 views have been changed to store state in BackForwardEntry 9976 instances, so multiple scroll positions can be saved for a content 9977 view appearing in the navigation history more than once. 9978 9979 * UserInterface/BackForwardEntry.js: Added. 9980 (WebInspector.BackForwardEntry): 9981 (WebInspector.BackForwardEntry.prototype.get contentView): 9982 (WebInspector.BackForwardEntry.prototype.get cookie): 9983 (WebInspector.BackForwardEntry.prototype.prepareToShow): 9984 (WebInspector.BackForwardEntry.prototype.prepareToHide): 9985 (WebInspector.BackForwardEntry.prototype._restoreFromCookie): 9986 (WebInspector.BackForwardEntry.prototype._restoreScrollPositions): 9987 (WebInspector.BackForwardEntry.prototype._saveScrollPositions): 9988 * UserInterface/ContentBrowser.js: 9989 (WebInspector.ContentBrowser.prototype.showContentView): 9990 (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): 9991 (WebInspector.ContentBrowser.prototype._updateFindBanner): 9992 * UserInterface/ContentViewContainer.js: 9993 (WebInspector.ContentViewContainer.prototype.get currentContentView): 9994 (WebInspector.ContentViewContainer.prototype.get currentBackForwardEntry): 9995 (WebInspector.ContentViewContainer.prototype.showContentView): 9996 (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex): 9997 (WebInspector.ContentViewContainer.prototype.replaceContentView): 9998 (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): 9999 (WebInspector.ContentViewContainer.prototype.closeAllContentViews): 10000 (WebInspector.ContentViewContainer.prototype.goBack): 10001 (WebInspector.ContentViewContainer.prototype.goForward): 10002 (WebInspector.ContentViewContainer.prototype.shown): 10003 (WebInspector.ContentViewContainer.prototype.hidden): 10004 (WebInspector.ContentViewContainer.prototype._showEntry): 10005 (WebInspector.ContentViewContainer.prototype._hideEntry): 10006 * UserInterface/Main.html: 10007 * UserInterface/Main.js: 10008 (WebInspector.openURL): 10009 * UserInterface/ResourceSidebarPanel.js: 10010 (WebInspector.ResourceSidebarPanel.prototype.restoreCallback): 10011 (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): 10012 100132013-10-02 Antoine Quint <graouts@apple.com> 10014 10015 Web Inspector: highlight newly added console messages in the Activity Viewer 10016 https://bugs.webkit.org/show_bug.cgi?id=122093 10017 10018 Reviewed by Joseph Pecoraro. 10019 10020 Fade the appropriate console log button in the Activity Viewer for a short duration 10021 to call attention to it when its count is incremented. The animation may be restarted 10022 in-flight if the count is incremented as we were pulsing the opacity. 10023 10024 * UserInterface/DashboardView.css: 10025 (.toolbar .dashboard > .item.pulsing): 10026 (@-webkit-keyframes console-item-pulse): 10027 New pulse animation for a console item in the Activity Viewer, the new "pulsing" CSS 10028 class is applied in WebInspector.DashboardView.prototype._setConsoleItemValue(). 10029 10030 * UserInterface/DashboardView.js: 10031 (WebInspector.DashboardView.prototype.set logs): 10032 (WebInspector.DashboardView.prototype.set issues): 10033 (WebInspector.DashboardView.prototype.set errors): 10034 Refactor setters to use the new WebInspector.DashboardView.prototype._setConsoleItemValue() 10035 method. 10036 10037 (WebInspector.DashboardView.prototype._setConsoleItemValue): 10038 We now set the ivar backing console item values in this new refactored method and additionally 10039 apply an animation to the DOM element for the given item if its value is incremented such that 10040 it pulses, subtly calling out the developer's attention to it. 10041 10042 * UserInterface/Utilities.js: 10043 New Element.prototype.recalculateStyles() method to abstract the hack required to force 10044 a style recalc on a given element. 10045 100462013-10-01 Antoine Quint <graouts@apple.com> 10047 10048 Web Inspector: evaluate and show a popover for selected text in JS source when paused 10049 https://bugs.webkit.org/show_bug.cgi?id=122151 10050 10051 Reviewed by Joseph Pecoraro. 10052 10053 Identify if the hovered token is contained within the text selection (if any) and use 10054 the selection as the hovered expression to allow the user to select text and hover it 10055 to see what it evaluates to. 10056 10057 * UserInterface/CodeMirrorTokenTrackingController.js: 10058 (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange): 10059 Check we're trying to highlight a different range before removing the highlight 10060 and applying the new one, this prevents the marked text from flashing if it's 10061 being re-hovered which would easily happen when hovering multiple tokens within 10062 the same selection. 10063 10064 (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression): 10065 In the case where there is selected text, check whether the hovered token is at least 10066 partially contained within the selection, and if so use the selection text as the 10067 hovered expression to evaluate. 10068 100692013-10-01 Antoine Quint <graouts@apple.com> 10070 10071 Console buttons don’t show after page reload 10072 https://bugs.webkit.org/show_bug.cgi?id=116515 10073 10074 Reviewed by Darin Adler. 10075 10076 The correct display of navigation items in the ContentBrowser is contingent on 10077 the ContentViewContainer's _backForwardList being up-to-date when the navigation 10078 items are retrieved from it. However, when the main resource changes (in this case 10079 the user refreshes the browser), calls are made to ContentViewContainer's 10080 closeAllContentViewsOfPrototype() which may modify the _backForwardList but doesn't 10081 necessarily notify of a change to the currentContentView since we may be still showing 10082 the same view in case it wasn't directly related to the main resource, for instance 10083 the console log. 10084 10085 We now check if the _backForwardList is changed as a result of calling 10086 closeAllContentViewsOfPrototype() and in that case also dispatch the 10087 CurrentContentViewDidChange event which will restore the correct state 10088 for the back/forward buttons and navigation items of the navigation bar. 10089 10090 * UserInterface/ContentViewContainer.js: 10091 (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): 10092 Track changes to the _backForwardList and dispatch the CurrentContentViewDidChange 10093 event in case such changes happened. 10094 100952013-09-30 Antoine Quint <graouts@apple.com> 10096 10097 Web Inspector: rows in the Layer sidebar panel may have the incorrect background color 10098 https://bugs.webkit.org/show_bug.cgi?id=122108 10099 10100 Reviewed by Darin Adler. 10101 10102 The LayerTreeDataGrid is a custom DataGrid subclass which exposes a .setChildren() method 10103 used to sort chidren without DOM order manipulation, for performance reason. However, since 10104 the way the alternating background color is usually implemented is based on the built-in 10105 CSS pseudo-classes working with DOM order, the background colors of nodes in the LayerTreeDataGrid 10106 can be incorrect depending on the sort order and the number of nodes. To fix this, we now manually 10107 set "even" and "odd" CSS classes on those nodes when they're sorted such that we have a chance 10108 to style them as intended. 10109 10110 * UserInterface/LayerTreeDataGrid.js: 10111 (WebInspector.LayerTreeDataGrid.prototype._updateChildren): 10112 Check if the data grid node index is even or odd and reflect this via an exclusive "even" 10113 or "odd" CSS class name. 10114 10115 * UserInterface/LayerTreeSidebarPanel.css: 10116 (.layer-tree.panel .data-container tbody > tr.even): 10117 (.layer-tree.panel .data-container tbody > tr.odd): 10118 Apply alternating colors based on the exclusive "even" and "odd" CSS class names as applied in 10119 WebInspector.LayerTreeDataGrid.prototype._updateChildren(). 10120 101212013-09-30 Antoine Quint <graouts@apple.com> 10122 10123 Web Inspector: Popover displaying "reasons for compositing" may remain on screen after selected layer is removed 10124 https://bugs.webkit.org/show_bug.cgi?id=117575 10125 10126 Ensure the popover attached to the selected data grid node is updated when the 10127 content or sort order of the Layer sidebar panel is updated. 10128 10129 Reviewed by Darin Adler. 10130 10131 * UserInterface/LayerTreeSidebarPanel.js: 10132 (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid): 10133 101342013-09-30 Antoine Quint <graouts@apple.com> 10135 10136 Web Inspector: nodes can be dragged from the console log 10137 https://bugs.webkit.org/show_bug.cgi?id=122105 10138 10139 Reviewed by Darin Adler. 10140 10141 Catch "dragstart" events targeting nodes hosted in a DOMTreeOutline within the console 10142 log view and prevent the default logic to trigger so that these nodes can't be dragged 10143 off the console as it wouldn't make sense to. 10144 10145 * UserInterface/DOMTreeOutline.js: 10146 (WebInspector.DOMTreeOutline): 10147 Create a class property to allow the CSS class name to be used in WebInspector.LogContentView. 10148 10149 * UserInterface/LogContentView.js: 10150 (WebInspector.LogContentView): 10151 (WebInspector.LogContentView.prototype._ondragstart): 10152 Track the "dragstart" events in their capture phase such that, if the event target is 10153 a DOM node hosted in a DOMTreeOutline, we can prevent the event from propagating and 10154 cancel its default behavior such that no dragging at all is performed. 10155 101562013-09-26 Brian J. Burg <burg@cs.washington.edu> 10157 10158 Web Inspector: dissociate old content views that are spliced from back/forward list 10159 https://bugs.webkit.org/show_bug.cgi?id=121987 10160 10161 Reviewed by Timothy Hatcher. 10162 10163 There was a bug where old back/forward list entries were not being dissociated when 10164 the newly-shown content view was already in the list. Instead, dissociation should be 10165 skipped if the old list entry is not already in the list. 10166 10167 * UserInterface/ContentViewContainer.js: 10168 (WebInspector.ContentViewContainer.prototype.showContentView): 10169 101702013-09-26 Antoine Quint <graouts@apple.com> 10171 10172 Web Inspector: Activity viewer not properly reset when reloading 10173 https://bugs.webkit.org/show_bug.cgi?id=121958 10174 10175 Reviewed by Darin Adler. 10176 10177 Reset the resources count and accumulated size when we detect the main frame 10178 has changed, which will work with documents where there are no resources besides 10179 frames in which case WebInspector.Frame.Event.AllResourcesRemoved was not fired 10180 and our counts wouldn't be reset correctly. 10181 10182 * UserInterface/DashboardManager.js: 10183 (WebInspector.DashboardManager): 10184 (WebInspector.DashboardManager.prototype._mainResourceDidChange): 10185 101862013-09-26 Antoine Quint <graouts@apple.com> 10187 10188 Web Inspector: Keep DOM tree expanded on page reload 10189 https://bugs.webkit.org/show_bug.cgi?id=121665 10190 10191 Reviewed by Darin Adler. 10192 10193 Allow the node that was selected before reloading the page to be selected 10194 at the page is reloaded. Credit goes to Joseph Pecoraro for the fix. 10195 10196 * UserInterface/DOMTreeContentView.js: 10197 (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): 10198 101992013-09-24 Joseph Pecoraro <pecoraro@apple.com> 10200 10201 Web Inspector: Using Breakpoint Actions Breaks iOS inspection 10202 https://bugs.webkit.org/show_bug.cgi?id=121862 10203 10204 Reviewed by Timothy Hatcher. 10205 10206 Only use DebuggerAgent.BreakpointActionType if it is available. 10207 Otherwise leave options undefined for breakpoints since the backend 10208 does not support it. 10209 10210 * UserInterface/DebuggerManager.js: 10211 (WebInspector.DebuggerManager.prototype._setBreakpoint): 10212 102132013-09-24 Joseph Pecoraro <pecoraro@apple.com> 10214 10215 Web Inspector: Include iOS 7 Inspector.json Version 10216 https://bugs.webkit.org/show_bug.cgi?id=121852 10217 10218 Reviewed by Timothy Hatcher. 10219 10220 * UserInterface/Legacy/7.0/InspectorBackendCommands.js: Added. 10221 * Versions/Inspector-iOS-7.0.json: Added. 10222 102232013-09-24 Mark Rowe <mrowe@apple.com> 10224 10225 <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8 10226 10227 Reviewed by Dan Bernstein. 10228 10229 * Configurations/Base.xcconfig: 10230 102312013-09-24 Joseph Pecoraro <pecoraro@apple.com> 10232 10233 Web Inspector: Breakpoint Actions input should disable spellchecking 10234 https://bugs.webkit.org/show_bug.cgi?id=121846 10235 10236 Reviewed by Timothy Hatcher. 10237 10238 * UserInterface/BreakpointActionView.js: 10239 102402013-09-21 Timothy Hatcher <timothy@apple.com> 10241 10242 Hook up the initiator info and show it in the Resource details sidebar. 10243 10244 https://bugs.webkit.org/show_bug.cgi?id=121741 10245 10246 Reviewed by Joseph Pecoraro. 10247 10248 * UserInterface/FrameResourceManager.js: 10249 (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): 10250 (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): 10251 (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): 10252 (WebInspector.FrameResourceManager.prototype._initiatorSourceCodeLocationFromPayload): 10253 * UserInterface/NetworkObserver.js: 10254 (WebInspector.NetworkObserver.prototype.requestWillBeSent): 10255 (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): 10256 * UserInterface/Resource.js: 10257 (WebInspector.Resource): 10258 (WebInspector.Resource.prototype.get initiatorSourceCodeLocation): 10259 * UserInterface/ResourceDetailsSidebarPanel.js: 10260 (WebInspector.ResourceDetailsSidebarPanel): 10261 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): 10262 102632013-09-20 Timothy Hatcher <timothy@apple.com> 10264 10265 Parse MIME-types and strip them down to the base type when needed. 10266 10267 The use of charset in a MIME-type interferes with our type maps, 10268 preventing the right syntax highlighting mode and pretty printing. 10269 10270 https://bugs.webkit.org/show_bug.cgi?id=121723 10271 10272 Reviewed by Joseph Pecoraro. 10273 10274 * UserInterface/ConsolePrompt.js: 10275 (WebInspector.ConsolePrompt): 10276 * UserInterface/FontResourceContentView.js: 10277 * UserInterface/Resource.js: 10278 (WebInspector.Resource.Type.fromMIMEType): 10279 (WebInspector.Resource.prototype.get mimeTypeComponents): 10280 (WebInspector.Resource.prototype.get syntheticMIMEType): 10281 (WebInspector.Resource.prototype.get contentURL): 10282 (WebInspector.Resource.prototype.updateForResponse): 10283 * UserInterface/ResourceDetailsSidebarPanel.js: 10284 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection): 10285 * UserInterface/SourceMapResource.js: 10286 (WebInspector.SourceMapResource.prototype.requestContentFromBackend): 10287 * UserInterface/SyntaxHighlightingSupport.js: 10288 (WebInspector.syntaxHighlightStringAsDocumentFragment): 10289 * UserInterface/TextEditor.js: 10290 (WebInspector.TextEditor.prototype.set mimeType): 10291 * UserInterface/Utilities.js: 10292 (parseMIMEType): Added. 10293 102942013-09-20 Marcelo Morais <m.morais@samsung.com> 10295 10296 Web Inspector: Fix keyboard shortcuts for other platforms 10297 https://bugs.webkit.org/show_bug.cgi?id=120657 10298 10299 Reviewed by Timothy Hatcher. 10300 10301 Handling keyboard shortcuts according to the current platform. 10302 10303 * UserInterface/InspectorFrontendHostStub.js: 10304 (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously): 10305 (.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the 10306 current platform. 10307 * UserInterface/KeyboardShortcut.js: 10308 (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard 10309 modifier to return Control or Command key according to current platform. 10310 * UserInterface/ContentBrowser.js: 10311 (WebInspector.ContentBrowser): Returning Control or Command key for keyboard 10312 shortcuts according to current platform. 10313 * UserInterface/DebuggerSidebarPanel.js: 10314 (WebInspector.DebuggerSidebarPanel): Ditto. 10315 * UserInterface/FindBanner.js: 10316 (WebInspector.FindBanner): Ditto. 10317 * UserInterface/JavaScriptLogViewController.js: 10318 (WebInspector.JavaScriptLogViewController): Ditto. 10319 * UserInterface/LogContentView.js: 10320 (WebInspector.LogContentView): Ditto. 10321 * UserInterface/Main.js: 10322 (WebInspector.contentLoaded): Ditto. 10323 * UserInterface/ResourceSidebarPanel.js: 10324 (WebInspector.ResourceSidebarPanel): Ditto. 10325 103262013-09-20 Brent Fulgham <bfulgham@apple.com> 10327 10328 [Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to 10329 ignore Visual Studio's local user settings file. 10330 10331 * WebInspectorUI.vcxproj: Added property svn:ignore. 10332 103332013-09-17 Gustavo Noronha Silva <gns@gnome.org> 10334 10335 [GTK] Cannot find WebInspectorUI/UserInterface/Main.html referenced in GResourceBundle.xml 10336 https://bugs.webkit.org/show_bug.cgi?id=121405 10337 10338 Reviewed by Carlos Garcia Campos. 10339 10340 * GNUmakefile.am: if srcdir == builddir the WebInspectorUI variable that is used both to list 10341 the dependencies of the GResourceBundle and to normalize the paths added to the XML through sed 10342 replacement will end up starting with ./, which would be fine if automake did not remove that 10343 from the paths in the target's dependency. We deal with that by normalizing the path we use to 10344 take that quirk into account. 10345 103462013-09-17 Timothy Hatcher <timothy@apple.com> 10347 10348 Clean up the Inspector's WebSocket code and prevent it from dropping messages. 10349 10350 https://bugs.webkit.org/show_bug.cgi?id=121391 10351 10352 Reviewed by Joseph Pecoraro. 10353 10354 * UserInterface/InspectorFrontendHostStub.js: 10355 (.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket 10356 and call _sendPendingMessagesToBackendIfNeeded. 10357 (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending 10358 if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded. 10359 (.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added. 10360 * UserInterface/Main.js: 10361 (WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket. 10362 103632013-09-16 Timothy Hatcher <timothy@apple.com> 10364 10365 Make InspectorTimelineAgent use an enum for the record type instead of a string. 10366 10367 https://bugs.webkit.org/show_bug.cgi?id=121461 10368 10369 Reviewed by Joseph Pecoraro. 10370 10371 * UserInterface/InspectorBackendCommands.js: 10372 * UserInterface/Legacy/6.0/InspectorBackendCommands.js: 10373 * UserInterface/TimelineManager.js: 10374 (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): 10375 (WebInspector.TimelineManager.prototype.eventRecorded): 10376 * Versions/Inspector-iOS-6.0.json: 10377 103782013-09-16 Joseph Pecoraro <pecoraro@apple.com> 10379 10380 Web Inspector: TypeError when updating ResourceTreeElement created in strange order 10381 https://bugs.webkit.org/show_bug.cgi?id=121382 10382 10383 Reviewed by Timothy Hatcher. 10384 10385 Patch by Brian Burg. Fix an uncaught exception that can happen on navigations. 10386 10387 * UserInterface/ResourceTreeElement.js: 10388 (WebInspector.ResourceTreeElement.prototype._updateStatus): 10389 103902013-09-16 Timothy Hatcher <timothy@apple.com> 10391 10392 Make InspectorTypeBuilder generate better enums in C++. 10393 10394 https://bugs.webkit.org/show_bug.cgi?id=121440 10395 10396 Reviewed by Joseph Pecoraro. 10397 10398 * UserInterface/InspectorBackendCommands.js: Updated to make Css be CSS. 10399 104002013-09-13 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 10401 10402 [GTK] Move to the new web inspector 10403 https://bugs.webkit.org/show_bug.cgi?id=120647 10404 10405 Reviewed by Carlos Garcia Campos. 10406 10407 * GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore. 10408 104092013-09-12 Joseph Pecoraro <pecoraro@apple.com> 10410 10411 Web Inspector: Duplicated color swatches changing autocompletes color names 10412 https://bugs.webkit.org/show_bug.cgi?id=121265 10413 10414 Reviewed by Timothy Hatcher. 10415 10416 CodeMirror bookmarks at position used to be unique but no longer are. 10417 Define an extension to give us unique bookmarks as we expected, and 10418 update all the old locations using setBookmark. 10419 10420 * UserInterface/CSSStyleDeclarationTextEditor.js: 10421 (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): 10422 (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): 10423 (WebInspector.CSSStyleDeclarationTextEditor.prototype.): 10424 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 10425 (WebInspector.CSSStyleDeclarationTextEditor.prototype): 10426 (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText): 10427 * UserInterface/CodeMirrorAdditions.js: 10428 104292013-09-12 Joseph Pecoraro <pecoraro@apple.com> 10430 10431 Web Inspector: Update CodeMirror for gutter fix 10432 https://bugs.webkit.org/show_bug.cgi?id=121262 10433 10434 Update CodeMirror to 757944449 to fix gutter click issue: 10435 <https://github.com/marijnh/CodeMirror/issues/1807> 10436 10437 Reviewed by Timothy Hatcher. 10438 10439 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 10440 * Tools/PrettyPrinting/FormatterContentBuilder.js: 10441 (FormatterContentBuilder.prototype._appendIndent): 10442 * Tools/PrettyPrinting/codemirror.css: 10443 * Tools/PrettyPrinting/codemirror.js: 10444 * Tools/PrettyPrinting/css.js: 10445 * UserInterface/CodeMirrorAdditions.js: 10446 * UserInterface/CodeMirrorFormatters.js: 10447 * UserInterface/DebuggerManager.js: 10448 (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint): 10449 (WebInspector.DebuggerManager.prototype._removeBreakpoint): 10450 * UserInterface/External/CodeMirror/codemirror.css: 10451 * UserInterface/External/CodeMirror/codemirror.js: 10452 * UserInterface/External/CodeMirror/coffeescript.js: 10453 * UserInterface/External/CodeMirror/css.js: 10454 * UserInterface/External/CodeMirror/less.js: 10455 * UserInterface/External/CodeMirror/sql.js: 10456 * UserInterface/TextEditor.js: 10457 (WebInspector.TextEditor.prototype.hasFormatter): 10458 104592013-09-12 Joseph Pecoraro <pecoraro@apple.com> 10460 10461 Web Inspector: Update License copyrights in minified JavaScript 10462 https://bugs.webkit.org/show_bug.cgi?id=121264 10463 10464 Reviewed by Timothy Hatcher. 10465 10466 * Scripts/copy-user-interface-resources.sh: 10467 104682013-09-11 Geoffrey Garen <ggaren@apple.com> 10469 10470 Removed some unused functions from the debugger interface 10471 https://bugs.webkit.org/show_bug.cgi?id=121194 10472 10473 Reviewed by Joseph Pecoraro. 10474 10475 We plan to use the "evaluate" API and debugger activation property access for all the features we need. 10476 10477 * UserInterface/InspectorBackendCommands.js: Updated by script. 10478 104792013-09-06 Joseph Pecoraro <pecoraro@apple.com> 10480 10481 Web Inspector: Download Archive button incorrectly styled when disabled and tree element is not-selected 10482 https://bugs.webkit.org/show_bug.cgi?id=120866 10483 10484 Reviewed by Timothy Hatcher. 10485 10486 * UserInterface/TreeElementStatusButton.css: 10487 (.item > .status > .status-button.disabled > svg *): 10488 104892013-09-06 Joseph Pecoraro <pecoraro@apple.com> 10490 10491 Web Inspector: Lint JavaScript and CSS for minor issues 10492 https://bugs.webkit.org/show_bug.cgi?id=120884 10493 10494 Reviewed by Timothy Hatcher. 10495 10496 JS, caught a bunch of missing semicolons but at least one possible 10497 issue with duplicate object literal keys in CSSKeywordCompletions. 10498 10499 CSS, cause some duplicate properties, an invalid property value, 10500 and some "0px" => "0" cleanup. 10501 105022013-09-05 Joseph Pecoraro <pecoraro@apple.com> 10503 10504 Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines 10505 https://bugs.webkit.org/show_bug.cgi?id=120822 10506 10507 Reviewed by Timothy Hatcher. 10508 10509 * UserInterface/BreakpointActionView.css: 10510 (.breakpoint-action-eval-editor > .CodeMirror): 10511 (.breakpoint-action-eval-editor > .CodeMirror-scroll): 10512 105132013-09-05 Joseph Pecoraro <pecoraro@apple.com> 10514 10515 Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left 10516 https://bugs.webkit.org/show_bug.cgi?id=120804 10517 10518 Reviewed by Timothy Hatcher. 10519 10520 Grab the bounding rect immediately, instead of grabbing it from the element 10521 after the user has selected the "Edit Breakpoint" context menu item. When 10522 the popover was misplaced it was when using an element had been removed or 10523 replaced in the DOM, and caused a bogus bounding client rect. 10524 10525 * UserInterface/Breakpoint.js: 10526 (WebInspector.Breakpoint.prototype.editBreakpoint): 10527 (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): 10528 105292013-09-05 Joseph Pecoraro <pecoraro@apple.com> 10530 10531 Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload 10532 https://bugs.webkit.org/show_bug.cgi?id=120332 10533 10534 Reviewed by Timothy Hatcher. 10535 10536 * UserInterface/TextEditor.js: 10537 105382013-09-05 Joseph Pecoraro <pecoraro@apple.com> 10539 10540 Web Inspector: Breakpoint Actions 10541 https://bugs.webkit.org/show_bug.cgi?id=120576 10542 10543 Reviewed by Timothy Hatcher. 10544 10545 Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime 10546 completions (like window, document, etc.). 10547 10548 The logic was inside of JavaScriptLogViewController but was already 10549 entirely independent. Factor it out into its own class and plug it into 10550 CodeMirrorCompletionController as a "CompletionsProvider". 10551 10552 Because the class hooks into a global event to reset some state, make 10553 it a singleton, so new instances are not leaked. 10554 10555 * UserInterface/Main.html: 10556 * UserInterface/Main.js: 10557 (WebInspector.loaded): 10558 * UserInterface/RuntimeManager.js: Added. 10559 (WebInspector.RuntimeManager): 10560 (WebInspector.RuntimeManager.prototype.evalCallback): 10561 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): 10562 Move eval in window to new RuntimeManager. A slightly cleaner place to this 10563 since it is used both by the console and JS completions provider. 10564 10565 * UserInterface/CodeMirrorCompletionController.js: 10566 (WebInspector.CodeMirrorCompletionController): 10567 (WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider): 10568 (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): 10569 Allow a completions provider plugin to completions controller. If one 10570 is available, this supercedes the delegate extend completions path. 10571 10572 * UserInterface/BreakpointActionView.js: 10573 * UserInterface/ConsolePrompt.js: 10574 (WebInspector.ConsolePrompt): 10575 Use the new JS completions provider to get runtime JS completions. 10576 NOTE: ConsolePrompt still needs the delegate path for SQL completions. 10577 10578 * UserInterface/JavaScriptLogViewController.js: 10579 (WebInspector.JavaScriptLogViewController): 10580 (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): 10581 * UserInterface/JavaScriptRuntimeCompletionProvider.js: Added. 10582 (WebInspector.JavaScriptRuntimeCompletionProvider): 10583 (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.): 10584 (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded): 10585 Move the JS completions code to a new class. No changes needed. 10586 105872013-09-05 Joseph Pecoraro <pecoraro@apple.com> 10588 10589 Web Inspector: Breakpoint Actions 10590 https://bugs.webkit.org/show_bug.cgi?id=120576 10591 10592 Reviewed by Timothy Hatcher. 10593 10594 * UserInterface/Breakpoint.js: 10595 (WebInspector.Breakpoint): 10596 (WebInspector.Breakpoint.prototype.get actions): 10597 (WebInspector.Breakpoint.prototype.get options): 10598 (WebInspector.Breakpoint.prototype.get info): 10599 (WebInspector.Breakpoint.prototype._serializableActions): 10600 Saving, restoring, and serialization. 10601 10602 (WebInspector.Breakpoint.prototype.createAction): 10603 (WebInspector.Breakpoint.prototype.recreateAction): 10604 (WebInspector.Breakpoint.prototype.removeAction): 10605 (WebInspector.Breakpoint.prototype.breakpointActionDidChange): 10606 Modifying _actions ivar. 10607 10608 (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): 10609 (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): 10610 (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): 10611 (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): 10612 (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): 10613 (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): 10614 (WebInspector.Breakpoint.prototype.breakpointActionViewResized): 10615 Popover UI containing breakpoint action views and converting to and from 10616 having no actions. 10617 10618 (WebInspector.Breakpoint.prototype.willDismissPopover): 10619 Cleanup some ivars when the popover dismisses. 10620 10621 * UserInterface/Breakpoint.css: 10622 (.popover .edit-breakpoint-popover-content.wide): 10623 Wider setting when there are actions in the popover. 10624 10625 (.popover .edit-breakpoint-popover-content > table > tr > th): 10626 Keep the title labels at the top of their section. 10627 10628 * UserInterface/BreakpointAction.js: 10629 (WebInspector.BreakpointAction): 10630 (WebInspector.BreakpointAction.prototype.get breakpoint): 10631 (WebInspector.BreakpointAction.prototype.get type): 10632 (WebInspector.BreakpointAction.prototype.get data): 10633 (WebInspector.BreakpointAction.prototype.set data): 10634 (WebInspector.BreakpointAction.prototype.get info): 10635 Very basic BreakpointAction class. Notifies Breakpoint on data changes. 10636 Type changes are not allowed, instead just create a new BreakpointAction. 10637 10638 * UserInterface/BreakpointActionView.css: Added. 10639 (.breakpoint-action-block-header): 10640 (.breakpoint-action-remove-button): 10641 (.breakpoint-action-remove-button:active): 10642 (.breakpoint-action-append-button): 10643 (.breakpoint-action-block-body): 10644 (.breakpoint-action-block-body > input): 10645 (.breakpoint-action-eval-editor): 10646 (.breakpoint-action-eval-editor > .CodeMirror): 10647 (.breakpoint-action-eval-editor > .CodeMirror-scroll): 10648 * UserInterface/BreakpointActionView.js: Added. 10649 (WebInspector.BreakpointActionView): 10650 (WebInspector.BreakpointActionView.displayStringForType): 10651 (WebInspector.BreakpointActionView.prototype.get action): 10652 (WebInspector.BreakpointActionView.prototype.get element): 10653 (WebInspector.BreakpointActionView.prototype._pickerChanged): 10654 (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked): 10655 (WebInspector.BreakpointActionView.prototype._removeActionButtonClicked): 10656 (WebInspector.BreakpointActionView.prototype._updateBody.switch.break): 10657 (WebInspector.BreakpointActionView.prototype._logInputChanged): 10658 (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): 10659 (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged): 10660 UI and form controls for individual breakpoint actions. The view 10661 wraps a single BreakpointAction, and for any actions that could affect 10662 other views the delegate is notified. 10663 10664 * UserInterface/DebuggerManager.js: 10665 (WebInspector.DebuggerManager): 10666 (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType): 10667 When sending to the backend, make sure to send protocol enums. 10668 10669 * UserInterface/Popover.js: 10670 (WebInspector.Popover.prototype.update): 10671 Update the popover when content changes. 10672 10673 * UserInterface/Images/BreakpointActionAdd.svg: Added. 10674 * UserInterface/Images/BreakpointActionRemove.svg: Added. 10675 * UserInterface/InspectorBackendCommands.js: 10676 * UserInterface/Main.html: 10677 * Localizations/en.lproj/localizedStrings.js: 10678 Misc. New strings, images, includes. 10679 106802013-09-03 Antoine Quint <graouts@apple.com> 10681 10682 Web Inspector: exceptions triggered from console evaluation do not pause the debugger 10683 https://bugs.webkit.org/show_bug.cgi?id=120460 10684 10685 We used to preclude any debugging from errors stemming from code evaluated in the console 10686 as we would always set the doNotPauseOnExceptionsAndMuteConsole parameter to "false" when 10687 calling JavaScriptLogViewController._evaluateInInspectedWindow(). However, it is desirable 10688 to allow debugging code ran from the console. 10689 10690 We now allow debugging in such a scenario and we filter out call frames coming from the 10691 Web Inspector injected script as well as the call frame for the console prompt such that 10692 we only pause in the debugger in case the exception is in code under the console prompt 10693 and not the console code prompt itself. 10694 10695 Additionally, to prevent stepping out to call frames we may have filtered out, we disable 10696 the "step out" button in cases where there are no further frames in the frontend to go out to. 10697 10698 Reviewed by Timothy Hatcher. 10699 10700 * UserInterface/DebuggerManager.js: 10701 (WebInspector.DebuggerManager.prototype.debuggerDidPause): 10702 Filter out call frames that have a URL coming from Web Inspector injected script by looking 10703 for a URL starting with the "__WebInspector" prefix. If we determine that there are no call 10704 frames left after filtering, we resume code evaluation such that we only pause in the debugger 10705 when the exception is in code evluated under the console prompt. 10706 10707 * UserInterface/DebuggerSidebarPanel.js: 10708 (WebInspector.DebuggerSidebarPanel): 10709 (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause): 10710 (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange): 10711 Monitor any change to the active call frame such that we may tie the state of the 10712 "step out" button to the availability of a call frame to step out to in the filtered 10713 list set on the DebuggerManager. 10714 10715 * UserInterface/JavaScriptLogViewController.js: 10716 (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): 10717 Set the doNotPauseOnExceptionsAndMuteConsole to "false" when calling _evaluateInInspectedWindow() 10718 in order to allow pausing on exceptions coming from code evalued in the console. Also, explicitly 10719 set a sourceURL for the script to evaluate such that we may identify its origin when filtering 10720 call frames stemming from inspector code. 10721 10722 * UserInterface/ResourceSidebarPanel.js: 10723 (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): 10724 Filter out any script resource starting with the Web Inspector-specific "__WebInspector" prefix 10725 so that injected script does not show up. 10726 107272013-08-30 Brent Fulgham <bfulgham@apple.com> 10728 10729 [Windows] Correct windows build. Get rid of unnecessary pre-build step. We don't build anything 10730 in this project, just copy some files into the WebKit resource folder. This was fooling the 10731 build system into thinking something failed, resulting in a build error. 10732 10733 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove reference to WebInspectorUIPreBuild.cmd 10734 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: 10735 * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Removed. 10736 107372013-08-30 Brent Fulgham <bfulgham@apple.com> 10738 10739 [Windows] Build correction after dependency change. 10740 10741 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove circular dependency on 10742 WebKit, and control this at the solution level. The prior change broke external 10743 builders. 10744 107452013-08-30 Brent Fulgham <bfulgham@apple.com> 10746 10747 [Windows] Unreviewed build gardening. 10748 10749 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Adjust build dependencies so 10750 that WebInspectorUI 'builds' after WebKit so that the expected resource directory 10751 structure is always in place. 10752 107532013-08-30 Joseph Pecoraro <pecoraro@apple.com> 10754 10755 Web Inspector: Breakpoints should have Automatically Continue Option 10756 https://bugs.webkit.org/show_bug.cgi?id=120187 10757 10758 Reviewed by Timothy Hatcher. 10759 10760 * Localizations/en.lproj/localizedStrings.js: 10761 * UserInterface/Breakpoint.css: 10762 (#edit-breakpoint-popoover-auto-continue): 10763 Misc. changes for UI. 10764 10765 * UserInterface/Breakpoint.js: 10766 (WebInspector.Breakpoint): 10767 (WebInspector.Breakpoint.prototype.get autoContinue): 10768 (WebInspector.Breakpoint.prototype.set autoContinue): 10769 (WebInspector.Breakpoint.prototype.get options): 10770 (WebInspector.Breakpoint.prototype.get info): 10771 General maintenance of the autoContinue state. 10772 10773 (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): 10774 (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): 10775 (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): 10776 Edit Breakpoint UI for setting autoContinue state. 10777 10778 * UserInterface/InspectorBackend.js: 10779 (InspectorBackendClass.prototype.registerCommand): 10780 (InspectorBackendClass.prototype._supports): 10781 Extension to check if a BackendCommands method supports a particular param. 10782 10783 * UserInterface/DebuggerManager.js: 10784 (WebInspector.DebuggerManager): 10785 (WebInspector.DebuggerManager.prototype._setBreakpoint): 10786 * UserInterface/InspectorBackendCommands.js: 10787 Change to backend agent calls for the new protocol API. 10788 107892013-08-29 Timothy Hatcher <timothy@apple.com> 10790 10791 Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers. 10792 10793 https://bugs.webkit.org/show_bug.cgi?id=120492 10794 <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases 10795 10796 Reviewed by Joseph Pecoraro. 10797 10798 * UserInterface/CodeMirrorAdditions.js: 10799 (alterNumber): Remove near zero check. 10800 108012013-08-29 Timothy Hatcher <timothy@apple.com> 10802 10803 Only modify numbers if they are identified by CodeMirror as a number. 10804 10805 https://bugs.webkit.org/show_bug.cgi?id=120484 10806 10807 <rdar://problem/13877085> REGRESSION: Alt-up and Alt-down don't work when cursor is in unit 10808 <rdar://problem/13058697> PARITY: Option-Up arrow in "translate3d" should not modify number to make" translate4d" 10809 10810 Reviewed by Joseph Pecoraro. 10811 10812 * UserInterface/CodeMirrorAdditions.js: 10813 (CodeMirror.prototype.alterNumberInRange): Correctly preserve the selection, even if it differs from 10814 the range passed in. 10815 (alterNumber): Find number tokens and pass those to alterNumberInRange. 10816 (alterNumber.findNumberToken): Added. Helper. 10817 108182013-08-29 Timothy Hatcher <timothy@apple.com> 10819 10820 Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers. 10821 10822 https://bugs.webkit.org/show_bug.cgi?id=120492 10823 <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases 10824 10825 Reviewed by Joseph Pecoraro. 10826 10827 * UserInterface/CodeMirrorAdditions.js: 10828 (alterNumber): Remove near zero check. 10829 108302013-08-29 Joseph Pecoraro <pecoraro@apple.com> 10831 10832 Web Inspector: Download Web Archive of Inspected Page 10833 https://bugs.webkit.org/show_bug.cgi?id=119774 10834 10835 Reviewed by Timothy Hatcher. 10836 10837 * UserInterface/ContentBrowser.js: 10838 (WebInspector.ContentBrowser.prototype._saveDataToFile): 10839 Allow a custom save handler which will do all the work. 10840 10841 * UserInterface/DOMTreeContentView.js: 10842 (WebInspector.DOMTreeContentView): 10843 (WebInspector.DOMTreeContentView.prototype.get supportsSave): 10844 (WebInspector.DOMTreeContentView.prototype.get saveData.saveHandler): 10845 (WebInspector.DOMTreeContentView.prototype.get saveData): 10846 Allow Save keyboard shortcut to download an archive viewing the DOM Tree. 10847 10848 * UserInterface/ResourceTreeElement.js: 10849 (WebInspector.ResourceTreeElement.prototype._updateStatus): 10850 * UserInterface/FrameTreeElement.js: 10851 (WebInspector.FrameTreeElement): 10852 (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame): 10853 (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): 10854 (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): 10855 (WebInspector.FrameTreeElement.prototype._reloadPageClicked): 10856 (WebInspector.FrameTreeElement.prototype._downloadButtonClicked): 10857 (WebInspector.FrameTreeElement.prototype._updateDownloadButton): 10858 (WebInspector.FrameTreeElement.prototype._pageArchiveStarted): 10859 (WebInspector.FrameTreeElement.prototype._pageArchiveEnded): 10860 Move handling of main frame TreeElement buttons to FrameTreeElement. 10861 Add a Download button, and enable/disable it appropriately. 10862 10863 * UserInterface/ResourceTreeElement.css: 10864 * UserInterface/TreeElementStatusButton.css: Copied from Source/WebInspectorUI/UserInterface/ResourceTreeElement.css. 10865 (.item > .status > .status-button): 10866 (.item > .status > .status-button > svg *): 10867 (.item.selected > .status > .status-button > svg *): 10868 (.item.selected > .status > .status-button:active > svg *): 10869 (.item > .status > .status-button.disabled > svg *): 10870 (.item.selected > .status > .status-button.disabled > svg *): 10871 * UserInterface/TreeElementStatusButton.js: Added. 10872 (WebInspector.TreeElementStatusButton): 10873 (WebInspector.TreeElementStatusButton.prototype.get element): 10874 (WebInspector.TreeElementStatusButton.prototype.get hidden): 10875 (WebInspector.TreeElementStatusButton.prototype.set hidden): 10876 (WebInspector.TreeElementStatusButton.prototype.get enabled): 10877 (WebInspector.TreeElementStatusButton.prototype.set enabled): 10878 (WebInspector.TreeElementStatusButton.prototype._clicked): 10879 Make buttons in the TreeElement status a generic class to share styling 10880 and handling of the buttons. New "disabled" state with even more 10881 transparent is used when the page is downloading. 10882 10883 * UserInterface/Main.html: 10884 * UserInterface/Main.js: 10885 (WebInspector.archiveMainFrame): 10886 (WebInspector.canArchiveMainFrame): 10887 Generic API for archiving the page and determining if you can archive it. 10888 10889 * UserInterface/InspectorBackendCommands.js: 10890 * UserInterface/InspectorFrontendHostStub.js: 10891 (.WebInspector.InspectorFrontendHostStub.prototype.save): 10892 * UserInterface/Images/DownloadArrow.svg: Added. 10893 * Localizations/en.lproj/localizedStrings.js: 10894 Misc. updates and new files. 10895 108962013-08-28 Joseph Pecoraro <pecoraro@apple.com> 10897 10898 Web Inspector: Give reload icon an :active state and allow CSS to style some SVG images 10899 https://bugs.webkit.org/show_bug.cgi?id=120384 10900 10901 Reviewed by Timothy Hatcher. 10902 10903 The Reload icon is duplicated just to provide different fill colors. 10904 Convert from using <img> to an <svg> document for this image, and style 10905 it with CSS. This also makes it trivial to add an :active state. 10906 10907 * UserInterface/ImageUtilities.js: 10908 (.invokeCallbackWithDocument): 10909 (.imageLoad): 10910 (.imageError): 10911 (wrappedSVGDocument): 10912 Helpers for downloading and in memory caching SVG images. 10913 10914 * UserInterface/Images/Reload.svg: 10915 * UserInterface/Images/ReloadSelected.svg: Removed. 10916 Updated Reload image better matches the original design (slightly 10917 larger). And the duplicate image can be removed. 10918 10919 * UserInterface/ResourceTreeElement.css: 10920 (.item.resource > .status > .reload-button): 10921 (.item.resource > .status > .reload-button > svg *): 10922 (.item.resource.selected > .status > .reload-button > svg *): 10923 (.item.resource.selected > .status > .reload-button:active > svg *): 10924 Different styles, including a new :active style. 10925 10926 * UserInterface/ResourceTreeElement.js: 10927 (WebInspector.ResourceTreeElement.prototype._updateStatusWithMainFrameButtons): 10928 (WebInspector.ResourceTreeElement.prototype._updateStatus): 10929 Handle updating the main frame's state asynchronously since loading the SVG 10930 image document is asynchronous. 10931 109322013-08-27 Joseph Pecoraro <pecoraro@apple.com> 10933 10934 Web Inspector: Debugger should have Continue to Here Context Menu 10935 https://bugs.webkit.org/show_bug.cgi?id=120189 10936 10937 Reviewed by Timothy Hatcher. 10938 10939 When paused in the debugger and presenting a Context Menu in the 10940 gutter, include a "Continue to Here" option. This requires a 10941 script/line/column location combination. 10942 10943 * UserInterface/DebuggerManager.js: 10944 (WebInspector.DebuggerManager.prototype.continueToLocation): 10945 * UserInterface/Resource.js: 10946 (WebInspector.Resource.prototype.scriptForLocation): 10947 * UserInterface/SourceCodeTextEditor.js: 10948 (WebInspector.SourceCodeTextEditor.prototype.continueToLocation): 10949 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): 10950 109512013-08-26 Joseph Pecoraro <pecoraro@apple.com> 10952 10953 Web Inspector: We should regenerate InspectorBackendCommands.js for Legacy Inspector.json versions 10954 https://bugs.webkit.org/show_bug.cgi?id=120242 10955 10956 Reviewed by Timothy Hatcher. 10957 10958 - Include the iOS 6.0 Inspector.json which maps to Legacy/6.0/InspectorBackendCommands.js. 10959 - Provide a helper script to regenerate the backend commands file for trunk and Versions. 10960 - Regenerated file now includes enums and other minor changes. 10961 10962 * Scripts/update-InspectorBackendCommands.rb: Added. 10963 * UserInterface/InspectorBackendCommands.js: 10964 * UserInterface/Legacy/6.0/InspectorBackendCommands.js: 10965 * Versions/Inspector-iOS-6.0.json: Added. 10966 109672013-08-24 Joseph Pecoraro <pecoraro@apple.com> 10968 10969 Web Inspector: Breakpoints in the editors gutter should have a contextmenu 10970 https://bugs.webkit.org/show_bug.cgi?id=120169 10971 10972 Reviewed by Timothy Hatcher. 10973 10974 Updated CodeMirror now has a gutterContextMenu event. Use that to give 10975 breakpoint related context menus. Add, Edit, Enable/Disable, Delete, and 10976 Reveal in Debugger Navigation Sidebar. 10977 10978 * Localizations/en.lproj/localizedStrings.js: 10979 "Add Breakpoint", and "Reveal in Debugger Navigation Sidebar". 10980 10981 * UserInterface/SourceCodeTextEditor.js: 10982 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint): 10983 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar): 10984 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints): 10985 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints): 10986 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): 10987 Show a context menu when clicking on the gutter for 0 breakpoints, 10988 1 breakpoint, or >1 breakpoints. The only tricky handler is addBreakpoint, 10989 since that must update the TextEditor for the new breakpoint info. 10990 10991 * UserInterface/TextEditor.js: 10992 (WebInspector.TextEditor): 10993 (WebInspector.TextEditor.prototype._gutterContextMenu): 10994 Send to delegate if the delegate implements textEditorGutterContextMenu. 10995 109962013-08-23 Joseph Pecoraro <pecoraro@apple.com> 10997 10998 Web Inspector: Fix js minification of updated CodeMirror 10999 https://bugs.webkit.org/show_bug.cgi?id=120231 11000 11001 Reviewed by Andy Estes. 11002 11003 Workaround a jsmin issue with "return //.test();" lines when 11004 minifying JavaScript in production builds. 11005 11006 * Scripts/copy-user-interface-resources.sh: 11007 * UserInterface/External/CodeMirror/codemirror.js: 11008 (window.CodeMirror): 11009 110102013-08-22 Joseph Pecoraro <pecoraro@apple.com> 11011 11012 <https://webkit.org/b/120165> Web Inspector: Update CodeMirror to 3.16.1 11013 11014 Reviewed by Andy Estes. 11015 11016 * Tools/PrettyPrinting/codemirror.css: 11017 * Tools/PrettyPrinting/codemirror.js: 11018 * Tools/PrettyPrinting/css.js: 11019 * Tools/PrettyPrinting/javascript.js: 11020 * UserInterface/External/CodeMirror/codemirror.css: 11021 * UserInterface/External/CodeMirror/codemirror.js: 11022 * UserInterface/External/CodeMirror/css.js: 11023 * UserInterface/External/CodeMirror/javascript.js: 11024 * UserInterface/External/CodeMirror/xml.js: 11025 110262013-08-21 Brent Fulgham <bfulgham@apple.com> 11027 11028 [Windows] Clean up project file after %PlatformArchitecture% change landed. 11029 11030 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered 11031 by our configuration files. 11032 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture% 11033 macro to support 32- and 64-bit builds. 11034 110352013-08-20 Brent Fulgham <bfulgham@apple.com> 11036 11037 <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector 11038 11039 Reviewed by Brian Weinstein. 11040 11041 Add a new project to copy files to the appropriate spots in the 11042 Windows port. 11043 11044 * WebInspectorUI.vcxproj: Added. 11045 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added. 11046 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added. 11047 * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added. 11048 * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added. 11049 110502013-08-19 James Craig <james@cookiecrook.com> 11051 11052 <https://webkit.org/b/118106> Web Inspector: AX: Add additional contextual labels for Error/Warnings/Logs that will be spoken for screen readers 11053 11054 Reviewed by Joseph Pecoraro. 11055 11056 Changed general console "Output" string to more specific "Error", "Warning", etc for accessibility. 11057 11058 * Localizations/en.lproj/localizedStrings.js: 11059 * UserInterface/ConsoleCommandResult.js: 11060 * UserInterface/ConsoleMessageImpl.js: 11061 110622013-08-16 James Craig <james@cookiecrook.com> 11063 11064 <https://webkit.org/b/118105> Web Inspector: AX: Add support for ARIA tablists/tabs to inspector tabs 11065 11066 Reviewed by Joseph Pecoraro. 11067 11068 Updating accessibility roles and attributes for single-select toolbar item sets. 11069 11070 * UserInterface/ActivateButtonNavigationItem.js: 11071 (WebInspector.ActivateButtonNavigationItem): 11072 (WebInspector.ActivateButtonNavigationItem.prototype.set activated): 11073 * UserInterface/ActivateButtonToolbarItem.js: 11074 (WebInspector.ActivateButtonToolbarItem): 11075 * UserInterface/ButtonToolbarItem.js: 11076 (WebInspector.ButtonToolbarItem): 11077 * UserInterface/SidebarPanel.js: 11078 (WebInspector.SidebarPanel): 11079 * UserInterface/Toolbar.js: 11080 (WebInspector.Toolbar): 11081 110822013-08-13 Dean Jackson <dino@apple.com> 11083 11084 <https://webkit.org/b/119778> Add Canvas protocol observer 11085 11086 Reviewed by Joseph Pecoraro. 11087 11088 In preparation for listening to backend events about canvas profiling, 11089 add a canvas observer. 11090 11091 * UserInterface/CanvasObserver.js: New empty CanvasObserver object. 11092 (WebInspector.CanvasObserver): 11093 (WebInspector.CanvasObserver.prototype.contextCreated): 11094 (WebInspector.CanvasObserver.prototype.traceLogsRemoved): 11095 * UserInterface/Main.html: 11096 * UserInterface/Main.js: 11097 (WebInspector.loaded): 11098 110992013-08-11 Dean Jackson <dino@apple.com> 11100 11101 Update localizedStrings - I think I checked in an unmerged version 11102 in the previous commit. 11103 11104 * Localizations/en.lproj/localizedStrings.js: 11105 111062013-08-11 Dean Jackson <dino@apple.com> 11107 11108 Bootstrap canvas profiler 11109 https://bugs.webkit.org/show_bug.cgi?id=119652 11110 <rdar://problem/14703665> 11111 11112 Reviewed by Joseph Pecoraro. 11113 11114 Add enough to get an empty Canvas profile recording 11115 and displayed. 11116 11117 * Localizations/en.lproj/localizedStrings.js: Add canvas strings. 11118 * UserInterface/CanvasProfileObject.js: Added. Mostly copied from CSS Selector Profiles. 11119 * UserInterface/CanvasProfileType.js: Added. Ditto. 11120 * UserInterface/CanvasDataGridNode.js: Added. Ditto. 11121 * UserInterface/CanvasProfileView.js: Added. Ditto. 11122 * UserInterface/ContentView.js: 11123 (WebInspector.ContentView): Add support for the new View type. 11124 (WebInspector.ContentView.isViewable): 11125 * UserInterface/InstrumentSidebarPanel.js: 11126 (WebInspector.InstrumentSidebarPanel): Add support for canvas profiles. 11127 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver): 11128 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): 11129 (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): 11130 (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): 11131 (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared): 11132 * UserInterface/Main.html: Load the new files. 11133 * UserInterface/ProfileManager.js: New methods and support for canvas profiles. 11134 (WebInspector.ProfileManager): 11135 (WebInspector.ProfileManager.prototype.initialize): 11136 (WebInspector.ProfileManager.prototype.isProfilingCanvas): 11137 (WebInspector.ProfileManager.prototype.startProfilingCanvas): 11138 (WebInspector.ProfileManager.prototype.stopProfilingCanvas): 11139 (WebInspector.ProfileManager.prototype._checkForInterruptions): 11140 (WebInspector.ProfileManager.prototype._attemptToResumeProfiling): 11141 111422013-08-07 Timothy Hatcher <timothy@apple.com> 11143 11144 Switch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed. 11145 11146 https://bugs.webkit.org/show_bug.cgi?id=118677 11147 11148 Reviewed by Joseph Pecoraro. 11149 11150 * UserInterface/ApplicationCacheDetailsSidebarPanel.js: 11151 (WebInspector.ApplicationCacheDetailsSidebarPanel): 11152 * UserInterface/CSSStyleDeclarationSection.js: 11153 (WebInspector.CSSStyleDeclarationSection): 11154 * UserInterface/CSSStyleDetailsSidebarPanel.js: 11155 (WebInspector.CSSStyleDetailsSidebarPanel): 11156 * UserInterface/ContentBrowser.js: 11157 (WebInspector.ContentBrowser): 11158 * UserInterface/DOMNodeDetailsSidebarPanel.js: 11159 (WebInspector.DOMNodeDetailsSidebarPanel): 11160 * UserInterface/DOMTreeContentView.js: 11161 (WebInspector.DOMTreeContentView): 11162 * UserInterface/DataGrid.js: 11163 (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): 11164 * UserInterface/DebuggerSidebarPanel.js: 11165 (WebInspector.DebuggerSidebarPanel): 11166 * UserInterface/DetailsSection.js: 11167 (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): 11168 * UserInterface/FindBanner.js: 11169 (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): 11170 * UserInterface/Images/BackArrow.pdf: Removed. 11171 * UserInterface/Images/BottomUpTree.pdf: Removed. 11172 * UserInterface/Images/Breakpoints.pdf: Removed. 11173 * UserInterface/Images/Close.pdf: Removed. 11174 * UserInterface/Images/Crosshair.pdf: Removed. 11175 * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Removed. 11176 * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Removed. 11177 * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Removed. 11178 * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Removed. 11179 * UserInterface/Images/DockBottom.pdf: Removed. 11180 * UserInterface/Images/DockRight.pdf: Removed. 11181 * UserInterface/Images/ForwardArrow.pdf: Removed. 11182 * UserInterface/Images/GoToArrow.pdf: Removed. 11183 * UserInterface/Images/LayerBorders.pdf: Removed. 11184 * UserInterface/Images/LessColumns.pdf: Removed. 11185 * UserInterface/Images/Locked.pdf: Removed. 11186 * UserInterface/Images/MoreColumns.pdf: Removed. 11187 * UserInterface/Images/NavigationItemAngleBrackets.pdf: Removed. 11188 * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Removed. 11189 * UserInterface/Images/NavigationItemBug.pdf: Removed. 11190 * UserInterface/Images/NavigationItemCurleyBraces.pdf: Removed. 11191 * UserInterface/Images/NavigationItemFile.pdf: Removed. 11192 * UserInterface/Images/NavigationItemLayers.pdf: Removed. 11193 * UserInterface/Images/NavigationItemLog.pdf: Removed. 11194 * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Removed. 11195 * UserInterface/Images/NavigationItemStopwatch.pdf: Removed. 11196 * UserInterface/Images/NavigationItemStorage.pdf: Removed. 11197 * UserInterface/Images/NavigationItemTrash.pdf: Removed. 11198 * UserInterface/Images/NavigationItemVariable.pdf: Removed. 11199 * UserInterface/Images/Pause.pdf: Removed. 11200 * UserInterface/Images/Percent.pdf: Removed. 11201 * UserInterface/Images/Plus.pdf: Removed. 11202 * UserInterface/Images/Resume.pdf: Removed. 11203 * UserInterface/Images/ShadowDOM.pdf: Removed. 11204 * UserInterface/Images/SortIndicatorDownArrow.pdf: Removed. 11205 * UserInterface/Images/SortIndicatorUpArrow.pdf: Removed. 11206 * UserInterface/Images/SplitToggleDown.pdf: Removed. 11207 * UserInterface/Images/SplitToggleUp.pdf: Removed. 11208 * UserInterface/Images/StepInto.pdf: Removed. 11209 * UserInterface/Images/StepOut.pdf: Removed. 11210 * UserInterface/Images/StepOver.pdf: Removed. 11211 * UserInterface/Images/Undock.pdf: Removed. 11212 * UserInterface/InstrumentSidebarPanel.js: 11213 (WebInspector.InstrumentSidebarPanel): 11214 * UserInterface/JavaScriptProfileView.js: 11215 (WebInspector.JavaScriptProfileView): 11216 * UserInterface/LayerTreeSidebarPanel.js: 11217 (WebInspector.LayerTreeSidebarPanel): 11218 * UserInterface/LogContentView.js: 11219 (WebInspector.LogContentView): 11220 * UserInterface/Main.js: 11221 (WebInspector.contentLoaded): 11222 (WebInspector._updateDockNavigationItems): 11223 (WebInspector._generateDisclosureTriangleImages): 11224 * UserInterface/NavigationSidebarPanel.js: 11225 (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): 11226 * UserInterface/ProfileView.js: 11227 (WebInspector.ProfileView): 11228 * UserInterface/ResourceDetailsSidebarPanel.js: 11229 (WebInspector.ResourceDetailsSidebarPanel): 11230 * UserInterface/ResourceSidebarPanel.js: 11231 (WebInspector.ResourceSidebarPanel): 11232 * UserInterface/ScopeChainDetailsSidebarPanel.js: 11233 (WebInspector.ScopeChainDetailsSidebarPanel): 11234 * UserInterface/ScriptContentView.js: 11235 (WebInspector.ScriptContentView): 11236 * UserInterface/TextContentView.js: 11237 (WebInspector.TextContentView): 11238 * UserInterface/TextResourceContentView.js: 11239 (WebInspector.TextResourceContentView): 11240 * UserInterface/TimelinesContentView.js: 11241 112422013-08-08 Dean Jackson <dino@apple.com> 11243 11244 Remove use of prefixed transition event 11245 https://bugs.webkit.org/show_bug.cgi?id=119598 11246 11247 Reviewed by Joseph Pecoraro. 11248 11249 "webkitTransitionEnd" -> "transitionend". 11250 11251 * UserInterface/Popover.js: 11252 (WebInspector.Popover): 11253 (WebInspector.Popover.prototype.handleEvent): 11254 112552013-08-08 Dean Jackson <dino@apple.com> 11256 11257 Unprefix use of transitions in Web Inspector code 11258 https://bugs.webkit.org/show_bug.cgi?id=119588 11259 11260 Reviewed by Tim Hatcher. 11261 11262 Replace "-webkit-transition" with "transition". 11263 11264 * UserInterface/CSSCompletions.js: 11265 (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror): 11266 * UserInterface/FindBanner.css: 11267 (.find-banner): 11268 (.find-banner.showing): 11269 (.supports-find-banner.no-find-banner-transition): 11270 (.supports-find-banner): 11271 (.supports-find-banner.showing-find-banner): 11272 * UserInterface/NetworkTimeline.css: 11273 (.network-graph-side:hover .network-graph-label): 11274 * UserInterface/Popover.css: 11275 (.popover.fade-out): 11276 112772013-08-08 Vivek Galatage <vivek.vg@samsung.com> 11278 11279 Web Inspector: Use granular DOMStorage modification events to avoid complete DataGrid update. 11280 https://bugs.webkit.org/show_bug.cgi?id=119541 11281 11282 Reviewed by Joseph Pecoraro. 11283 11284 InspectorDOMStorageAgent sends more granular events about the storage modifications. 11285 Using these would avoid the complete rebuilding of the DataGrid. 11286 11287 * UserInterface/DOMStorageContentView.js: 11288 (WebInspector.DOMStorageContentView.prototype.itemsCleared): 11289 (WebInspector.DOMStorageContentView.prototype.itemRemoved): 11290 (WebInspector.DOMStorageContentView.prototype.itemAdded): 11291 (WebInspector.DOMStorageContentView.prototype.itemUpdated): 11292 * UserInterface/DOMStorageObserver.js: 11293 (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): 11294 (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): 11295 (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): 11296 (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): 11297 * UserInterface/StorageManager.js: 11298 (WebInspector.StorageManager.prototype.domStorageItemsCleared): 11299 (WebInspector.StorageManager.prototype.domStorageItemRemoved): 11300 (WebInspector.StorageManager.prototype.domStorageItemAdded): 11301 (WebInspector.StorageManager.prototype.domStorageItemUpdated): 11302 113032013-08-06 Joseph Pecoraro <pecoraro@apple.com> 11304 11305 Web Inspector: Remove stale code in ResourceContentView 11306 https://bugs.webkit.org/show_bug.cgi?id=119527 11307 11308 The handling of Resource Type changes moved to ResourceClusterContentView, 11309 this removeEventListener is stale and doesn't do anything anymore. 11310 11311 Reviewed by Timothy Hatcher. 11312 11313 * UserInterface/ResourceContentView.js: 11314 (WebInspector.ResourceContentView.prototype.closed): 11315 113162013-08-06 Timothy Hatcher <timothy@apple.com> 11317 11318 Convert all Web Inspector PDFs to SVGs. 11319 11320 Some PDFs need to stay around until bug 119492 is fixed. But the SVGs are there for when they are needed. 11321 Updated some of the existing SVGs to be consistent with the format of the new SVGs. 11322 11323 https://bugs.webkit.org/show_bug.cgi?id=118677 11324 11325 Rubber-stamped by Joseph Pecoraro. 11326 11327 * UserInterface/BreakpointIcons.css: 11328 * UserInterface/BreakpointTreeElement.css: 11329 * UserInterface/CallFrameIcons.css: 11330 * UserInterface/DatabaseContentView.css: 11331 * UserInterface/FilterBar.css: 11332 * UserInterface/HierarchicalPathComponent.css: 11333 * UserInterface/Images/BackArrow.svg: Added. 11334 * UserInterface/Images/BottomUpTree.svg: Added. 11335 * UserInterface/Images/BreakpointButton.pdf: Removed. 11336 * UserInterface/Images/BreakpointButton.svg: Added. 11337 * UserInterface/Images/BreakpointInactiveButton.pdf: Removed. 11338 * UserInterface/Images/BreakpointInactiveButton.svg: Added. 11339 * UserInterface/Images/Breakpoints.svg: Added. 11340 * UserInterface/Images/Close.svg: Added. 11341 * UserInterface/Images/Crosshair.svg: Added. 11342 * UserInterface/Images/DOMCharacterData.pdf: Removed. 11343 * UserInterface/Images/DOMCharacterData.svg: Added. 11344 * UserInterface/Images/DOMComment.pdf: Removed. 11345 * UserInterface/Images/DOMComment.svg: Added. 11346 * UserInterface/Images/DOMDocument.pdf: Removed. 11347 * UserInterface/Images/DOMDocument.svg: Added. 11348 * UserInterface/Images/DOMDocumentType.pdf: Removed. 11349 * UserInterface/Images/DOMDocumentType.svg: Added. 11350 * UserInterface/Images/DOMElement.pdf: Removed. 11351 * UserInterface/Images/DOMElement.svg: Added. 11352 * UserInterface/Images/DOMNode.pdf: Removed. 11353 * UserInterface/Images/DOMNode.svg: Added. 11354 * UserInterface/Images/DOMTextNode.pdf: Removed. 11355 * UserInterface/Images/DOMTextNode.svg: Added. 11356 * UserInterface/Images/DOMTree.pdf: Removed. 11357 * UserInterface/Images/DOMTree.svg: Added. 11358 * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Added. 11359 * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Added. 11360 * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Added. 11361 * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Added. 11362 * UserInterface/Images/DockBottom.svg: Added. 11363 * UserInterface/Images/DockRight.svg: Added. 11364 * UserInterface/Images/Error.pdf: Removed. 11365 * UserInterface/Images/Error.svg: Added. 11366 * UserInterface/Images/ErrorSmall.pdf: Removed. 11367 * UserInterface/Images/Errors.svg: 11368 * UserInterface/Images/ErrorsEnabled.svg: 11369 * UserInterface/Images/EventListener.pdf: Removed. 11370 * UserInterface/Images/EventListener.svg: Added. 11371 * UserInterface/Images/Exception.pdf: Removed. 11372 * UserInterface/Images/Exception.svg: Added. 11373 * UserInterface/Images/FilterFieldGlyph.pdf: Removed. 11374 * UserInterface/Images/FilterFieldGlyph.svg: Added. 11375 * UserInterface/Images/ForwardArrow.svg: Added. 11376 * UserInterface/Images/Function.pdf: Removed. 11377 * UserInterface/Images/Function.svg: Added. 11378 * UserInterface/Images/GoToArrow.svg: Added. 11379 * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: Removed. 11380 * UserInterface/Images/HierarchicalNavigationItemChevron.svg: Added. 11381 * UserInterface/Images/IndeterminateProgressSpinner1.pdf: Removed. 11382 * UserInterface/Images/IndeterminateProgressSpinner1.svg: Added. 11383 * UserInterface/Images/IndeterminateProgressSpinner10.pdf: Removed. 11384 * UserInterface/Images/IndeterminateProgressSpinner10.svg: Added. 11385 * UserInterface/Images/IndeterminateProgressSpinner11.pdf: Removed. 11386 * UserInterface/Images/IndeterminateProgressSpinner11.svg: Added. 11387 * UserInterface/Images/IndeterminateProgressSpinner12.pdf: Removed. 11388 * UserInterface/Images/IndeterminateProgressSpinner12.svg: Added. 11389 * UserInterface/Images/IndeterminateProgressSpinner2.pdf: Removed. 11390 * UserInterface/Images/IndeterminateProgressSpinner2.svg: Added. 11391 * UserInterface/Images/IndeterminateProgressSpinner3.pdf: Removed. 11392 * UserInterface/Images/IndeterminateProgressSpinner3.svg: Added. 11393 * UserInterface/Images/IndeterminateProgressSpinner4.pdf: Removed. 11394 * UserInterface/Images/IndeterminateProgressSpinner4.svg: Added. 11395 * UserInterface/Images/IndeterminateProgressSpinner5.pdf: Removed. 11396 * UserInterface/Images/IndeterminateProgressSpinner5.svg: Added. 11397 * UserInterface/Images/IndeterminateProgressSpinner6.pdf: Removed. 11398 * UserInterface/Images/IndeterminateProgressSpinner6.svg: Added. 11399 * UserInterface/Images/IndeterminateProgressSpinner7.pdf: Removed. 11400 * UserInterface/Images/IndeterminateProgressSpinner7.svg: Added. 11401 * UserInterface/Images/IndeterminateProgressSpinner8.pdf: Removed. 11402 * UserInterface/Images/IndeterminateProgressSpinner8.svg: Added. 11403 * UserInterface/Images/IndeterminateProgressSpinner9.pdf: Removed. 11404 * UserInterface/Images/IndeterminateProgressSpinner9.svg: Added. 11405 * UserInterface/Images/Issues.svg: 11406 * UserInterface/Images/IssuesEnabled.svg: 11407 * UserInterface/Images/LayerBorders.svg: Added. 11408 * UserInterface/Images/LessColumns.svg: Added. 11409 * UserInterface/Images/Locked.svg: Added. 11410 * UserInterface/Images/Logs.svg: 11411 * UserInterface/Images/Memory.svg: 11412 * UserInterface/Images/MoreColumns.svg: Added. 11413 * UserInterface/Images/Native.pdf: Removed. 11414 * UserInterface/Images/Native.svg: Added. 11415 * UserInterface/Images/NavigationItemAngleBrackets.svg: Added. 11416 * UserInterface/Images/NavigationItemBrushAndRuler.svg: Added. 11417 * UserInterface/Images/NavigationItemBug.svg: Added. 11418 * UserInterface/Images/NavigationItemCurleyBraces.svg: Added. 11419 * UserInterface/Images/NavigationItemFile.svg: Added. 11420 * UserInterface/Images/NavigationItemLayers.svg: Added. 11421 * UserInterface/Images/NavigationItemLog.svg: Added. 11422 * UserInterface/Images/NavigationItemMagnifyingGlass.svg: Added. 11423 * UserInterface/Images/NavigationItemStopwatch.svg: Added. 11424 * UserInterface/Images/NavigationItemStorage.svg: Added. 11425 * UserInterface/Images/NavigationItemTrash.svg: Added. 11426 * UserInterface/Images/NavigationItemVariable.svg: Added. 11427 * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: Removed. 11428 * UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Added. 11429 * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: Removed. 11430 * UserInterface/Images/NetworkBarLabelCalloutRight.svg: Added. 11431 * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: Removed. 11432 * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Added. 11433 * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: Removed. 11434 * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Added. 11435 * UserInterface/Images/Pause.svg: Added. 11436 * UserInterface/Images/Percent.svg: Added. 11437 * UserInterface/Images/Plus.svg: Added. 11438 * UserInterface/Images/PseudoElement.pdf: Removed. 11439 * UserInterface/Images/PseudoElement.svg: Added. 11440 * UserInterface/Images/Reflection.pdf: Removed. 11441 * UserInterface/Images/Reflection.svg: Added. 11442 * UserInterface/Images/Reload.svg: 11443 * UserInterface/Images/ReloadSelected.svg: 11444 * UserInterface/Images/Request.pdf: Removed. 11445 * UserInterface/Images/Request.svg: Added. 11446 * UserInterface/Images/Resources.svg: 11447 * UserInterface/Images/Response.pdf: Removed. 11448 * UserInterface/Images/Response.svg: Added. 11449 * UserInterface/Images/ResultLine.pdf: Removed. 11450 * UserInterface/Images/ResultLine.svg: Added. 11451 * UserInterface/Images/Resume.svg: Added. 11452 * UserInterface/Images/ShadowDOM.svg: Added. 11453 * UserInterface/Images/SortIndicatorDownArrow.svg: Added. 11454 * UserInterface/Images/SortIndicatorUpArrow.svg: Added. 11455 * UserInterface/Images/SourceCode.pdf: Removed. 11456 * UserInterface/Images/SourceCode.svg: Added. 11457 * UserInterface/Images/SplitToggleDown.svg: Added. 11458 * UserInterface/Images/SplitToggleUp.svg: Added. 11459 * UserInterface/Images/StepInto.svg: Added. 11460 * UserInterface/Images/StepOut.svg: Added. 11461 * UserInterface/Images/StepOver.svg: Added. 11462 * UserInterface/Images/StyleRuleAuthor.pdf: Removed. 11463 * UserInterface/Images/StyleRuleAuthor.svg: Added. 11464 * UserInterface/Images/StyleRuleInherited.pdf: Removed. 11465 * UserInterface/Images/StyleRuleInherited.svg: Added. 11466 * UserInterface/Images/StyleRuleInheritedElement.pdf: Removed. 11467 * UserInterface/Images/StyleRuleInheritedElement.svg: Added. 11468 * UserInterface/Images/StyleRuleInspector.pdf: Removed. 11469 * UserInterface/Images/StyleRuleInspector.svg: Added. 11470 * UserInterface/Images/StyleRuleUser.pdf: Removed. 11471 * UserInterface/Images/StyleRuleUser.svg: Added. 11472 * UserInterface/Images/StyleRuleUserAgent.pdf: Removed. 11473 * UserInterface/Images/StyleRuleUserAgent.svg: Added. 11474 * UserInterface/Images/Time.svg: 11475 * UserInterface/Images/Undock.svg: Added. 11476 * UserInterface/Images/UpDownArrows.svg: 11477 * UserInterface/Images/UserInputPrompt.pdf: Removed. 11478 * UserInterface/Images/UserInputPrompt.svg: Added. 11479 * UserInterface/Images/UserInputPromptPrevious.pdf: Removed. 11480 * UserInterface/Images/UserInputPromptPrevious.svg: Added. 11481 * UserInterface/Images/UserInputPromptPreviousSelected.pdf: Removed. 11482 * UserInterface/Images/UserInputPromptPreviousSelected.svg: Added. 11483 * UserInterface/Images/UserInputResult.pdf: Removed. 11484 * UserInterface/Images/UserInputResult.svg: Added. 11485 * UserInterface/Images/UserInputResultSelected.pdf: Removed. 11486 * UserInterface/Images/UserInputResultSelected.svg: Added. 11487 * UserInterface/Images/Warning.pdf: Removed. 11488 * UserInterface/Images/Warning.svg: Added. 11489 * UserInterface/Images/WarningSmall.pdf: Removed. 11490 * UserInterface/Images/Weight.svg: 11491 * UserInterface/IndeterminateProgressSpinner.css: 11492 * UserInterface/LayerTreeSidebarPanel.css: 11493 * UserInterface/LogContentView.css: 11494 * UserInterface/Main.css: 11495 * UserInterface/NetworkTimeline.css: 11496 * UserInterface/PathComponentIcons.css: 11497 * UserInterface/QuickConsole.css: 11498 * UserInterface/RulesStyleDetailsPanel.css: 11499 * UserInterface/SearchIcons.css: 11500 * UserInterface/StyleRuleIcons.css: 11501 115022013-07-23 David Farler <dfarler@apple.com> 11503 11504 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN 11505 https://bugs.webkit.org/show_bug.cgi?id=117762 11506 11507 Reviewed by Mark Rowe. 11508 11509 * Configurations/DebugRelease.xcconfig: 11510 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS. 11511 115122013-07-30 Roland Takács <rtakacs@inf.u-szeged.hu> 11513 11514 Web Inspector: doesn't use localized user interface at remote inspector 11515 https://bugs.webkit.org/show_bug.cgi?id=119252 11516 11517 Reviewed by Timothy Hatcher. 11518 11519 Added a flag in order to not use localizedStrings in remote inspector. 11520 11521 * UserInterface/InspectorFrontendHostStub.js: 11522 * UserInterface/LoadLocalizedStrings.js: 11523 * UserInterface/Main.js: 11524 (WebInspector.UIString): 11525 115262013-07-24 Antoine Quint <graouts@apple.com> 11527 11528 Web Inspector: control+clicking on a numeric token should not show the context menu 11529 https://bugs.webkit.org/show_bug.cgi?id=119048 11530 11531 Reviewed by Timothy Hatcher. 11532 11533 Track "contextmenu" events when we're hovering a token containing a numeric value 11534 and call preventDefault() in the event handler to ensure that the context menu does 11535 not appear. 11536 11537 * UserInterface/CodeMirrorDragToAlterNumberController.js: 11538 (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent): 11539 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag): 11540 115412013-07-24 Antoine Quint <graouts@apple.com> 11542 11543 Web Inspector: support click-and-drag editing of CSS numeric values 11544 https://bugs.webkit.org/show_bug.cgi?id=118896 11545 11546 Reviewed by Timothy Hatcher. 11547 11548 Add support for adjustment of numeric values in the various CodeMirror editors 11549 by holding the option key and dragging the mouse. By default, dragging one pixel 11550 changes the value by 1, but key modifiers allow to customize that behavior by using 11551 the control key to change the value to 0.1 and the shift key to change the value to 10. 11552 11553 * UserInterface/CodeMirrorAdditions.js: 11554 Split adjustNumber() into two methods such that we may use its logic from the 11555 CodeMirrorDragToAlterNumberController. The new method, CodeMirror.prototype.alterNumberInRange() 11556 allow to set begin and end CodeMirror positions such that the existing alterNumber() 11557 can use information based on the current cursor position, and CodeMirrorDragToAlterNumberController 11558 can use information based on the hovered token. 11559 11560 * UserInterface/CodeMirrorDragToAlterNumberController.css: Added. 11561 (.CodeMirror.drag-to-adjust .CodeMirror-lines): 11562 Set the cursor to "col-resize" when a number token is hovered and the option key 11563 modifier is pressed. 11564 11565 * UserInterface/CodeMirrorDragToAlterNumberController.js: Added. 11566 (WebInspector.CodeMirrorDragToAlterNumberController): 11567 We define the new "dragToAdjustNumbers" CodeMirror option. 11568 11569 (WebInspector.CodeMirrorDragToAlterNumberController.prototype.set enabled): 11570 The "enabled" property controls whether the associated CodeMirror instance 11571 may act upon hovering numeric values to adjust them via a drag interaction. 11572 11573 (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent): 11574 Proxy for various event-specific methods to deal with mouse events. We also bind 11575 the value of the "active" property to the "mouseenter" and "mouseleave" events 11576 if we're not currently dragging-to-adjust. 11577 11578 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setActive): 11579 The "active" property is set when the mouse is over the associated CodeMirror 11580 editor and when it's on we track all "mousemove" events such that we may 11581 identify tokens containing numeric values. We also start tracking changes to the 11582 option modifier key press state such that we may change the cursor accordingly. 11583 We ensure that the CodeMirror instance is not read-only such that we don't 11584 allow adjustment of numeric values in places where they couldn't be committed. 11585 11586 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setDragging): 11587 The "dragging" property reflects whether a dragging-to-adjust interaction 11588 is underway. We call into WebInspector.elementDragStart() and WebInspector.elementDragEnd() 11589 to set the cursor to "col-resize" for the whole document while tracking mousemove 11590 and mouseup events at the window level such that we can drag-to-adjust even outside 11591 of the inspector window. 11592 11593 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag): 11594 The "tracksMouseClickAndDrag" property is set to true whenever the controller 11595 has detected that a token containing a numeric value is being hovered and the 11596 option modifier key is pressed. This property controls the cursor value for the 11597 hovered token to reflect that a drag-to-adjust interaction is allowed and tracks 11598 "mousedown" events for when a dragging interaction may be initiated. 11599 11600 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._modifiersDidChange): 11601 Sets the "tracksMouseClickAndDrag" property depending on the availability of a hovered 11602 token containing a numeric value and the pressed state of the option modified key. 11603 11604 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseMoved): 11605 Handles "mousemove" events when we're not in the "dragging" state such that we 11606 check the currently hovered token, if any, to see if it contains a number that 11607 we may drag-to-adjust. Subsequently, we may enter the "tracksMouseClickAndDrag" 11608 state. 11609 11610 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasPressed): 11611 Handles "mousedown" events during a drag-to-adjust interaction. We simply track 11612 the current mouse position in the x-axis and enter the "dragging" state. 11613 11614 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasDragged): 11615 Handles "mousemove" events when we are in the "dragging" state. We compare the 11616 current mouse position in the x-axis with the last recoreded value and determine 11617 the amount by which we should adjust the value, taking into account the shift and 11618 control modifier keys. We then call into WebInspector.alterNumberInRange() to 11619 apply the change amount to the associated CodeMirror editor. 11620 11621 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasReleased): 11622 Handles "mouseup" events, simply exiting the "dragging" state and resetting other 11623 parameters we would have customized as a result of the drag-to-adjust interaction. 11624 11625 (WebInspector.CodeMirrorDragToAlterNumberController.prototype._reset): 11626 Resetting some parameters we would have customized as a result of the drag-to-adjust 11627 interaction. 11628 11629 * UserInterface/Main.html: 11630 Include the new CodeMirrorDragToAlterNumberController.{js|css} files. 11631 11632 * UserInterface/Main.js: 11633 (WebInspector.elementDragStart): 11634 (WebInspector.elementDragEnd): 11635 Add an extra parameter to elementDragStart() such that the caller may specify the event 11636 target for the "mousemove" and "mouseup" events. 11637 116382013-07-23 Roland Takacs <rtakacs@inf.u-szeged.hu> 11639 11640 WebSocket initialization to use remote inspector 11641 https://bugs.webkit.org/show_bug.cgi?id=118678 11642 11643 Reviewed by Timothy Hatcher. 11644 11645 Add WebSocket initialization and define a 'connect-src' directive in the 11646 Content-Security-Policy HTTP header to enable the connection. 11647 11648 * UserInterface/InspectorFrontendHostStub.js: 11649 (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): 11650 * UserInterface/Main.html: 11651 * UserInterface/Main.js: 11652 (WebInspector.loaded): 11653 (WebInspector._initializeWebSocketIfNeeded.createSocket.WebInspector): 11654 (WebInspector._initializeWebSocketIfNeeded.createSocket): 11655 (WebInspector._initializeWebSocketIfNeeded): 11656 116572013-07-22 Diego Pino Garcia <dpino@igalia.com> 11658 11659 Web Inspector: When right-clicking on a DataGrid column, show editing 11660 menu option as "Edit <columnName>" instead of just "Edit" 11661 https://bugs.webkit.org/show_bug.cgi?id=118970 11662 11663 Reviewed by Timothy Hatcher. 11664 11665 * Localizations/en.lproj/localizedStrings.js: Add literal "Edit '%s'" 11666 * UserInterface/DataGrid.js: Change "Edit" for "Edit <columnTitle>" 11667 (WebInspector.DataGrid.prototype._contextMenuInDataTable): 11668 116692013-07-21 Seokju Kwon <seokju.kwon@gmail.com> 11670 11671 Web Inspector: Cleanup InspectorFrontendHostStub.js 11672 https://bugs.webkit.org/show_bug.cgi?id=118959 11673 11674 Reviewed by Timothy Hatcher. 11675 11676 Remove some functions because we dont use on New Inspector. 11677 11678 * UserInterface/InspectorFrontendHostStub.js: 11679 (.WebInspector.InspectorFrontendHostStub): 11680 (.WebInspector.InspectorFrontendHostStub.prototype.save): 11681 116822013-07-17 Seokju Kwon <seokju.kwon@gmail.com> 11683 11684 Web Inspector: Fix a typo in WebInspector.loaded 11685 https://bugs.webkit.org/show_bug.cgi?id=118834 11686 11687 Reviewed by Timothy Hatcher. 11688 11689 * UserInterface/Main.js: 11690 (WebInspector.loaded): 11691 116922013-07-16 Seokju Kwon <seokju.kwon@gmail.com> 11693 11694 Web Inspector: InspectorFrontendHost is undefined 11695 https://bugs.webkit.org/show_bug.cgi?id=118715 11696 11697 Reviewed by Timothy Hatcher. 11698 11699 Add InspectorFrontendHostStub.js to New Inspector because of the InspectorFrontendHost initialization. 11700 11701 * UserInterface/InspectorFrontendHostStub.js: Added. 11702 (.WebInspector.InspectorFrontendHostStub): 11703 (.WebInspector.InspectorFrontendHostStub.prototype.platform): 11704 (.WebInspector.InspectorFrontendHostStub.prototype.port): 11705 (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront): 11706 (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow): 11707 (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide): 11708 (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight): 11709 (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth): 11710 (.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight): 11711 (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy): 11712 (.WebInspector.InspectorFrontendHostStub.prototype.loaded): 11713 (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL): 11714 (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged): 11715 (.WebInspector.InspectorFrontendHostStub.prototype.copyText): 11716 (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab): 11717 (.WebInspector.InspectorFrontendHostStub.prototype.canSave): 11718 (.WebInspector.InspectorFrontendHostStub.prototype.save): 11719 (.WebInspector.InspectorFrontendHostStub.prototype.append): 11720 (.WebInspector.InspectorFrontendHostStub.prototype.close.cleanup): 11721 (.WebInspector.InspectorFrontendHostStub.prototype.close): 11722 (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): 11723 (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously): 11724 * UserInterface/Main.html: 11725 117262013-07-15 Seokju Kwon <seokju.kwon@gmail.com> 11727 11728 Web Inspector: Remove unused columns from select query in ImageUtilities.js 11729 https://bugs.webkit.org/show_bug.cgi?id=118694 11730 11731 Reviewed by Timothy Hatcher. 11732 11733 * UserInterface/ImageUtilities.js: Remove pixelRatio and formatVersion from select query. 11734 117352013-07-15 Timothy Hatcher <timothy@apple.com> 11736 11737 Update CodeMirror to 3.14.1. 11738 11739 https://bugs.webkit.org/show_bug.cgi?id=118605 11740 11741 Reviewed by Joseph Pecoraro. 11742 11743 * Scripts/update-codemirror-resources.rb: Updated the list to add closebrackets.js and sorted the files. 11744 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 11745 * Tools/PrettyPrinting/Formatter.js: 11746 * Tools/PrettyPrinting/FormatterContentBuilder.js: 11747 * Tools/PrettyPrinting/codemirror.css: 11748 * Tools/PrettyPrinting/codemirror.js: 11749 * Tools/PrettyPrinting/css.js: 11750 * Tools/PrettyPrinting/javascript.js: 11751 * UserInterface/External/CodeMirror/closebrackets.js: 11752 * UserInterface/External/CodeMirror/codemirror.css: 11753 * UserInterface/External/CodeMirror/codemirror.js: 11754 * UserInterface/External/CodeMirror/coffeescript.js: 11755 * UserInterface/External/CodeMirror/comment.js: 11756 * UserInterface/External/CodeMirror/css.js: 11757 * UserInterface/External/CodeMirror/javascript.js: 11758 * UserInterface/External/CodeMirror/matchbrackets.js: 11759 * UserInterface/External/CodeMirror/sql.js: 11760 * UserInterface/External/CodeMirror/xml.js: 11761 117622013-07-15 Timothy Hatcher <timothy@apple.com> 11763 11764 Make sure to add main resources for sub-frames to the Network Timeline. 11765 11766 https://bugs.webkit.org/show_bug.cgi?id=118649 11767 11768 Reviewed by Joseph Pecoraro. 11769 11770 * UserInterface/TimelineManager.js: 11771 (WebInspector.TimelineManager.prototype._mainResourceDidChange): Remove the 11772 call to _clear() and early return for event.target.isMainFrame(). The _clear() 11773 is already handled if needed by the call to _startAutoRecording(), so it was 11774 redundant here and caused the erroneous addition of isMainFrame() early return. 11775 117762013-07-15 Timothy Hatcher <timothy@apple.com> 11777 11778 Properly handle style text changes while the color popover is open. 11779 11780 https://bugs.webkit.org/show_bug.cgi?id=118575 11781 11782 Reviewed by Joseph Pecoraro. 11783 11784 * UserInterface/CSSStyleDeclarationTextEditor.js: 11785 (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): 11786 The original text marker might have been cleared by a style update, in this case we need to 11787 find the new color text marker so we know the right range for the new style color text. 11788 117892013-07-14 Commit Queue <commit-queue@webkit.org> 11790 11791 Unreviewed, rolling out r152598. 11792 http://trac.webkit.org/changeset/152598 11793 https://bugs.webkit.org/show_bug.cgi?id=118658 11794 11795 totally broke the web inspector (JS ERROR: SyntaxError: 11796 Expected token '}') (Requested by thorton on #webkit). 11797 11798 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 11799 * Tools/PrettyPrinting/Formatter.js: 11800 * Tools/PrettyPrinting/FormatterContentBuilder.js: 11801 * Tools/PrettyPrinting/codemirror.css: 11802 (.CodeMirror-scrollbar-filler): 11803 (.CodeMirror-gutters): 11804 (.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler): 11805 (.CodeMirror-widget): 11806 * Tools/PrettyPrinting/codemirror.js: 11807 (window.CodeMirror): 11808 (window.CodeMirror.): 11809 (.do): 11810 (moveVisually): 11811 * Tools/PrettyPrinting/css.js: 11812 (.): 11813 (CodeMirror): 11814 * Tools/PrettyPrinting/javascript.js: 11815 (.): 11816 * UserInterface/External/CodeMirror/codemirror.css: 11817 (.CodeMirror-widget): 11818 * UserInterface/External/CodeMirror/codemirror.js: 11819 (window.CodeMirror): 11820 (window.CodeMirror.): 11821 * UserInterface/External/CodeMirror/coffeescript.js: 11822 * UserInterface/External/CodeMirror/comment.js: 11823 (.): 11824 * UserInterface/External/CodeMirror/css.js: 11825 (.): 11826 (CodeMirror): 11827 * UserInterface/External/CodeMirror/javascript.js: 11828 (.): 11829 * UserInterface/External/CodeMirror/matchbrackets.js: 11830 (.): 11831 * UserInterface/External/CodeMirror/sql.js: 11832 * UserInterface/External/CodeMirror/xml.js: 11833 118342013-07-12 Timothy Hatcher <timothy@apple.com> 11835 11836 Update CodeMirror to 7f560afa1c (3.14+). 11837 11838 https://bugs.webkit.org/show_bug.cgi?id=118605 11839 11840 Reviewed by Sam Weinig. 11841 11842 * Tools/PrettyPrinting/CodeMirrorFormatters.js: 11843 * Tools/PrettyPrinting/Formatter.js: 11844 * Tools/PrettyPrinting/FormatterContentBuilder.js: 11845 * Tools/PrettyPrinting/codemirror.css: 11846 * Tools/PrettyPrinting/codemirror.js: 11847 * Tools/PrettyPrinting/css.js: 11848 * Tools/PrettyPrinting/javascript.js: 11849 * UserInterface/External/CodeMirror/codemirror.css: 11850 * UserInterface/External/CodeMirror/codemirror.js: 11851 * UserInterface/External/CodeMirror/coffeescript.js: 11852 * UserInterface/External/CodeMirror/comment.js: 11853 * UserInterface/External/CodeMirror/css.js: 11854 * UserInterface/External/CodeMirror/javascript.js: 11855 * UserInterface/External/CodeMirror/matchbrackets.js: 11856 * UserInterface/External/CodeMirror/sql.js: 11857 * UserInterface/External/CodeMirror/xml.js: 11858 118592013-07-12 Seokju Kwon <seokju.kwon@gmail.com> 11860 11861 Web Inspector: Pass null for sidebarPanels and role in WebInspector.Sidebar() 11862 https://bugs.webkit.org/show_bug.cgi?id=118589 11863 11864 Reviewed by Timothy Hatcher. 11865 11866 sidebarPanels : It is necessary to get correct argument after r152141. 11867 Without this, error messages can be displayed. 11868 role : Could pass null for it since default value is "group". 11869 11870 * UserInterface/Main.js: 11871 (WebInspector.contentLoaded): 11872 118732013-07-03 Timothy Hatcher <timothy@apple.com> 11874 11875 Guard remaining calls to decodeURIComponent with a try/catch. 11876 11877 https://bugs.webkit.org/show_bug.cgi?id=118371 11878 11879 Reviewed by Joseph Pecoraro. 11880 11881 * UserInterface/Main.js: 11882 (WebInspector.displayNameForURL): 11883 (WebInspector.updateWindowTitle): 11884 * UserInterface/Utilities.js: 11885 (arrayResult): 11886 (queryString): 11887 118882013-07-03 Jessie Berlin <jberlin@apple.com> 11889 11890 Ran update-webkit-localizable-strings. 11891 11892 Rubber-stamped by Joseph Pecoraro. 11893 11894 * Localizations/en.lproj/localizedStrings.js: 11895 118962013-06-28 Dean Jackson <dino@apple.com> 11897 11898 Update Apple System fonts in auto-complete 11899 https://bugs.webkit.org/show_bug.cgi?id=118205 11900 <rdar://problem/14308488> 11901 11902 Reviewed by Joseph Pecoraro. 11903 11904 Update for the new Apple System font names, and remove some invalid entries. 11905 11906 * UserInterface/CSSKeywordCompletions.js: General cleanup. Note that 11907 "apple-system-short-caption2" looks like it was accidentally omitted. It wasn't :) 11908 119092013-06-28 James Craig <james@cookiecrook.com> 11910 11911 Web Inspector: AX: VoiceOver speaks all inspector search fields as 'required' 11912 https://bugs.webkit.org/show_bug.cgi?id=118122 11913 11914 Reviewed by Timothy Hatcher. 11915 11916 Removed bogus "required" state, and switched :valid selector to use :not(:placeholder-shown) 11917 so that screen readers will not indicate a bogus :required/:invalid state to the user. 11918 Minor cosmetic difference blocked by http://webkit.org/b/118162 11919 11920 * UserInterface/FilterBar.css: 11921 (.filter-bar > input[type="search"]:focus): 11922 (.filter-bar > input[type="search"]:not(:placeholder-shown)): 11923 * UserInterface/FilterBar.js: 11924 (WebInspector.FilterBar): 11925 * UserInterface/ResourceSidebarPanel.js: 11926 (WebInspector.ResourceSidebarPanel): 11927 * UserInterface/SearchBar.css: 11928 (.search-bar > input[type="search"]:focus): 11929 (.search-bar > input[type="search"]:not(:placeholder-shown)): 11930 * UserInterface/SearchBar.js: 11931 (WebInspector.SearchBar): 11932 119332013-06-27 James Craig <james@cookiecrook.com> 11934 11935 Web Inspector: AX: Add container ARIA roles (toolbar, main, labeled regions, etc.) 11936 so the layout is more discoverable to screen reader users 11937 https://bugs.webkit.org/show_bug.cgi?id=118104 11938 11939 Reviewed by Timothy Hatcher. 11940 11941 Made the basic layout (toolbar, sidebars, main) of the Web Inspector understandable 11942 and navigable with VoiceOver. 11943 11944 * Localizations/en.lproj/localizedStrings.js: 11945 * UserInterface/ButtonNavigationItem.js: 11946 * UserInterface/CSSStyleDetailsSidebarPanel.js: 11947 * UserInterface/DashboardManager.js: 11948 * UserInterface/Main.js: 11949 * UserInterface/NavigationBar.js: 11950 * UserInterface/NavigationItem.js: 11951 * UserInterface/NavigationSidebarPanel.js: 11952 * UserInterface/RadioButtonNavigationItem.js: 11953 * UserInterface/Sidebar.js: 11954 * UserInterface/SidebarPanel.js: 11955 * UserInterface/Toolbar.js: 11956 119572013-06-27 James Craig <james@cookiecrook.com> 11958 11959 Web Inspector: AX: Console log of the Inspector does not announce output for screen readers 11960 https://bugs.webkit.org/show_bug.cgi?id=115976 11961 11962 Reviewed by Timothy Hatcher. 11963 11964 Main console log area (div.console-messages) is now an ARIA live region (role="log") 11965 so screen readers speak plain text updates. 11966 11967 Also added contextual labels (e.g. input/output) but speech output verification of 11968 those is currently blocked by http://webkit.org/b/118096 11969 11970 * Localizations/en.lproj/localizedStrings.js: 11971 * UserInterface/ConsoleCommand.js: 11972 (WebInspector.ConsoleCommand.prototype.toMessageElement): 11973 * UserInterface/ConsoleCommandResult.js: 11974 (WebInspector.ConsoleCommandResult.prototype.toMessageElement): 11975 * UserInterface/LogContentView.css: 11976 (@media reader): 11977 * UserInterface/LogContentView.js: 11978 (WebInspector.LogContentView): 11979 11980 119812013-06-27 Matthew Holden <jftholden@yahoo.com> 11982 11983 Web Inspector: Display color picker in popover on color swatch click 11984 https://bugs.webkit.org/show_bug.cgi?id=117919 11985 11986 Reviewed by Timothy Hatcher. 11987 11988 Includes fixes from second code review. 11989 11990 * Localizations/en.lproj/localizedStrings.js: 11991 * UserInterface/CSSColorPicker.css: Added. 11992 (.colorpicker-container): 11993 (.colorpicker-fill-parent): 11994 (.colorpicker-top): 11995 (.colorpicker-color): 11996 (.colorpicker-bottom span): 11997 (.colorpicker-text): 11998 (.colorpicker-color-text-value): 11999 (.colorpicker-hue): 12000 (.colorpicker-fill): 12001 (.colorpicker-range-container): 12002 (.colorpicker-range-container *): 12003 (.colorpicker-range-container label): 12004 (.colorpicker-range-container input): 12005 (.colorpicker-saturation): 12006 (.colorpicker-value): 12007 (.colorpicker-dragger): 12008 (.colorpicker-slider): 12009 (.colorpicker-container .swatch): 12010 (.colorpicker-container .swatch-inner): 12011 * UserInterface/CSSColorPicker.js: Added. 12012 (WebInspector.CSSColorPicker.consume): 12013 (WebInspector.CSSColorPicker.move): 12014 (WebInspector.CSSColorPicker.start): 12015 (WebInspector.CSSColorPicker.stop): 12016 (WebInspector.CSSColorPicker.makeDraggable): 12017 (WebInspector.CSSColorPicker.hueDrag): 12018 (WebInspector.CSSColorPicker.colorDragStart): 12019 (WebInspector.CSSColorPicker.colorDrag): 12020 (WebInspector.CSSColorPicker.alphaDrag): 12021 (WebInspector.CSSColorPicker.colorSwatchClicked): 12022 (WebInspector.CSSColorPicker): 12023 (WebInspector.CSSColorPicker.prototype.get element): 12024 (WebInspector.CSSColorPicker.prototype.set color): 12025 (WebInspector.CSSColorPicker.prototype.get color): 12026 (WebInspector.CSSColorPicker.prototype.get outputColorFormat): 12027 (WebInspector.CSSColorPicker.prototype.get colorHueOnly): 12028 (WebInspector.CSSColorPicker.prototype.set displayText): 12029 (WebInspector.CSSColorPicker.prototype.shown): 12030 (WebInspector.CSSColorPicker.prototype._updateHelperLocations): 12031 (WebInspector.CSSColorPicker.prototype._updateDisplay): 12032 (WebInspector.CSSColorPicker.hsvaToRGBA): 12033 (WebInspector.CSSColorPicker.rgbaToHSVA): 12034 * UserInterface/CSSStyleDeclarationTextEditor.js: 12035 (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): 12036 (WebInspector.CSSStyleDeclarationTextEditor.prototype.): 12037 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): 12038 (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText.colorTextMarker): 12039 (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText): 12040 * UserInterface/Main.html: 12041 120422013-06-26 Antoine Quint <graouts@apple.com> 12043 12044 Web Inspector: stepping through while paused in debugger makes a popover appear 12045 https://bugs.webkit.org/show_bug.cgi?id=117994 12046 12047 There is no obvious need to call tokenTrackingControllerNewHighlightCandidate when the 12048 active call frame changes and it leads to an extraneous display of the popover. 12049 12050 Reviewed by Timothy Hatcher. 12051 12052 * UserInterface/SourceCodeTextEditor.js: 12053 (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): 12054 120552013-06-24 Antoine Quint <graouts@apple.com> 12056 12057 Web Inspector: WebInspector.displayNameForURL() failure prevents DOM inspection 12058 https://bugs.webkit.org/show_bug.cgi?id=117927 12059 12060 Handle possible mis-encoded URI fragments passed to decodeURIComponent() which 12061 could prevent inspection of the DOM. 12062 12063 Reviewed by Timothy Hatcher. 12064 12065 * UserInterface/Main.js: 12066 (WebInspector.displayNameForURL): 12067 120682013-06-17 Darin Adler <darin@apple.com> 12069 12070 Sort all the Xcode project files 12071 https://bugs.webkit.org/show_bug.cgi?id=117696 12072 12073 Reviewed by Anders Carlsson. 12074 12075 * WebInspectorUI.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script. 12076 120772013-06-21 Joseph Pecoraro <pecoraro@apple.com> 12078 12079 Web Inspector: Uncaught exception when pretty printing WebInspector.Script 12080 https://bugs.webkit.org/show_bug.cgi?id=117893 12081 12082 This was an issue with an earlier refactoring. The sourceCode is a Script, 12083 so replace the non-existent local variable "script" with "this._sourceCode". 12084 12085 Reviewed by Timothy Hatcher. 12086 12087 * UserInterface/SourceCodeTextEditor.js: 12088 (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): 12089 120902013-06-21 Timothy Hatcher <timothy@apple.com> 12091 12092 Stop removing and re-adding breakpoints from the backend on reload. 12093 12094 On reload the sourceCode for breakpoints are nulled out, which fires DisplayLocationDidChange. 12095 Then the sourceCode is reassociated, firing DisplayLocationDidChange again. In these cases we 12096 don't need to update the backend, since nothing really changed. 12097 12098 https://bugs.webkit.org/show_bug.cgi?id=117877 12099 12100 Reviewed by Joseph Pecoraro. 12101 12102 * UserInterface/DebuggerManager.js: 12103 (WebInspector.DebuggerManager.prototype._breakpointDisplayLocationDidChange): Return early when 12104 _ignoreBreakpointDisplayLocationDidChangeEvent is true. 12105 (WebInspector.DebuggerManager.prototype.reset): Set _ignoreBreakpointDisplayLocationDidChangeEvent. 12106 (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): Ditto. 12107 121082013-06-19 Antoine Quint <graouts@apple.com> 12109 12110 Web Inspector: Copying array or object output does not contain values 12111 https://bugs.webkit.org/show_bug.cgi?id=117669 12112 12113 ConsoleCommandResult was overriding toClipboardString() but wasn't using the complex code 12114 in ConsoleMessageImpl's toClipboardString() to provide a nicely formatted output for objects. 12115 We now use a "clipboarPrefixString" property to customize the prefix used in the clipboard 12116 and, additionally, only use that prefix if we're copying more than a single message since it's 12117 the only situation where it's useful to have the ">" or "<" prefix shown. Console messages with 12118 a log level always print the level and when saving the console log using Cmd+S, all messages 12119 contain their prefix as well. 12120 12121 Reviewed by Timothy Hatcher. 12122 12123 * UserInterface/ConsoleCommand.js: 12124 (WebInspector.ConsoleCommand.prototype.toClipboardString): 12125 Handle the new isPrefixOptional argument. 12126 12127 * UserInterface/ConsoleCommandResult.js: 12128 (WebInspector.ConsoleCommandResult.prototype.get clipboarPrefixString): 12129 Provide a custom "< " prefix and set "enforcesClipboardPrefixString" to false such that 12130 the prefix isn't printed out in situations when it may not. 12131 12132 * UserInterface/ConsoleMessageImpl.js: 12133 Set "enforcesClipboardPrefixString" to true since we always want to log the log level 12134 prefix in all situations. 12135 12136 (WebInspector.ConsoleMessageImpl.prototype.get clipboarPrefixString): 12137 Implement this new getter to return our clipboard string such that subclasses may 12138 customize it. 12139 12140 (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): 12141 Take into account both isPrefixOptional and the "enforcesClipboardPrefixString" property 12142 to only log the prefix if necessary. 12143 12144 * UserInterface/LogContentView.js: 12145 (WebInspector.LogContentView.prototype._formatMessagesAsData): 12146 Make the logging of prefix optional when we have a single message selected and we're 12147 not saving via Cmd+S. 12148 121492013-06-18 Joseph Pecoraro <pecoraro@apple.com> 12150 12151 Web Inspector: Infrequent uncaught exception with debugger popovers breaks inspector 12152 https://bugs.webkit.org/show_bug.cgi?id=117755 12153 12154 Create the ZERO_SIZE and ZERO_RECT objects after we've setup the Size 12155 and Rect prototypes, so they get the expected methods. We then need to 12156 handle the ZERO_RECT case better, and not attempt to draw a background 12157 in a canvas with a 0 size, which would produce an exception. 12158 12159 Reviewed by Timothy Hatcher. 12160 12161 * UserInterface/Geometry.js: 12162 * UserInterface/Popover.js: 12163 (WebInspector.Popover.prototype._update): 12164 121652013-06-18 Timothy Hatcher <timothy@apple.com> 12166 12167 If the tree outline is processing a selection currently, then don't change the selection. 12168 12169 This is needed to allow breakpoints tree elements to be selected without jumping back to 12170 selecting the resource tree element. 12171 12172 https://bugs.webkit.org/show_bug.cgi?id=117746 12173 12174 Reviewed by Joseph Pecoraro. 12175 12176 * UserInterface/Main.js: 12177 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): 12178 * UserInterface/TreeOutline.js: 12179 (TreeElement.prototype.select): 12180 121812013-06-18 Timothy Hatcher <timothy@apple.com> 12182 12183 Update breakpoints to match Xcode 5. 12184 12185 This updates the breakpoint images, line colors, and moves breakpoints toggle button 12186 to the Debugger sidebar navigation bar. 12187 12188 https://bugs.webkit.org/show_bug.cgi?id=117723 12189 12190 Reviewed by Joseph Pecoraro. 12191 12192 * Localizations/en.lproj/localizedStrings.js: Updated. 12193 * UserInterface/DebuggerSidebarPanel.css: Removed custom toggle button rules. 12194 * UserInterface/DebuggerSidebarPanel.js: 12195 (WebInspector.DebuggerSidebarPanel): 12196 (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked): 12197 * UserInterface/Images/Breakpoint.png: Updated. 12198 * UserInterface/Images/Breakpoints.pdf: Added. 12199 * UserInterface/Images/Breakpoint@2x.png: Updated. 12200 * UserInterface/Images/BreakpointButton.pdf: Updated. 12201 * UserInterface/Images/BreakpointInactive.png: Updated. 12202 * UserInterface/Images/BreakpointInactive@2x.png: Updated. 12203 * UserInterface/Images/BreakpointInactiveButton.pdf: Updated. 12204 * UserInterface/Images/InstructionPointer.png: Updated. 12205 * UserInterface/Images/InstructionPointer@2x.png: Updated. 12206 * UserInterface/SourceCodeTextEditor.css: 12207 (.source-code.text-editor > .CodeMirror .error): Updated background-color and removed box-shadow. 12208 (.source-code.text-editor > .CodeMirror .warning): Ditto. 12209 * UserInterface/TextEditor.css: 12210 (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): Changed left position to 0. 12211 (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): Updated position. 12212 (.text-editor > .CodeMirror .execution-line): Updated background-color and removed box-shadow. 12213 122142013-06-13 Joseph Pecoraro <pecoraro@apple.com> 12215 12216 <http://webkit.org/b/117615> Web Inspector: JS PrettyPrinting Should have space between "do" and "{" 12217 12218 Reviewed by Timothy Hatcher. 12219 12220 * UserInterface/CodeMirrorFormatters.js: 12221 122222013-06-13 Joseph Pecoraro <pecoraro@apple.com> 12223 12224 <http://webkit.org/b/117612> Web Inspector: "Search Resource Content" should cancel when I remove all text search text 12225 12226 Reviewed by Timothy Hatcher. 12227 12228 * UserInterface/ResourceSidebarPanel.js: 12229 (WebInspector.ResourceSidebarPanel): 12230 (WebInspector.ResourceSidebarPanel.prototype._searchFieldInput): 12231 12232== Rolled over to ChangeLog-2013-06-11 == 12233